Black Sparrow — VS Code Extension
Real-time file presence and conflict prevention for development teams. The Black Sparrow extension connects your editor to the Black Sparrow platform so teammates can see who is working on which files, receive soft-lock warnings, and run pre-commit conflict checks.
Features
- Live file presence — See who is actively editing files in your repository, with idle and offline states
- Explorer decorations — Badges on files where teammates are working
- Presence sidebar — Browse active developers and file activity from the Explorer panel
- Soft locks — Declare intent on a file and get warnings when others overlap
- Pre-commit checks — Scan staged files for conflicts before you commit
- Multi-root workspaces — Track presence across multiple repository roots
- Branch awareness — Automatically resubscribes when you switch branches
- Optional line-level presence — Share cursor line position with teammates (off by default)
Requirements
- VS Code 1.85.0 or later
- A git repository with a GitHub remote registered in your Black Sparrow organization
- A Black Sparrow account with developer access (created in the dashboard)
Getting Started
- Install the extension (from the VS Code Marketplace or a local
.vsix build).
- Open a folder that contains a connected git repository.
- Run Black Sparrow: Sign In from the Command Palette (
Cmd+Shift+P / Ctrl+Shift+P).
- Choose Email & password (dashboard developer account) or Browser (GitHub) (device code flow).
- Presence tracking starts automatically once you are signed in and the repo is recognized.
If the repository is not detected automatically, run Black Sparrow: Connect Repository.
Commands
| Command |
Description |
| Black Sparrow: Sign In |
Authenticate with your team |
| Black Sparrow: Sign Out |
Clear stored credentials and disconnect |
| Black Sparrow: Connect Repository |
Manually link the open workspace to a registered repo |
| Black Sparrow: Refresh Connection |
Reconnect WebSocket and re-detect repositories |
| Black Sparrow: Show Active Developers |
Focus the Black Sparrow Presence sidebar |
| Black Sparrow: Soft Lock File |
Soft-lock the currently active file |
| Black Sparrow: Release Soft Lock |
Release your soft lock on the active file |
| Black Sparrow: Check Before Commit |
Run a conflict check on staged files |
Sign-in, sign-out, and refresh are also available from the Black Sparrow Presence sidebar title bar.
Settings
| Setting |
Default |
Description |
blacksparrow.orgId |
"" |
Organization ID. Set automatically when you sign in, or copy from Dashboard → Settings. |
blacksparrow.lineLevelPresence |
false |
When enabled, shares your cursor line with teammates on the same file. |
API and WebSocket endpoints are loaded from the Black Sparrow server at sign-in (not user-configurable in VS Code settings).
UI Overview
- Status bar — Connection state, repository name, and active/idle teammate counts
- Explorer decorations — Visual indicators on files with active collaborators
- CodeLens / active file banner — Who else is on the file you are editing
- Black Sparrow Presence view — Sidebar under Explorer with team activity
Privacy
Black Sparrow sends file paths and activity metadata (focus, idle state, optional line number) to your organization's Black Sparrow backend. Source code is never uploaded unless your organization explicitly opts into AI diff analysis.
Development
This package lives in the Black Sparrow monorepo. Install dependencies from the repo root:
npm install
Build
npm run build --workspace=blacksparrow
This cleans dist/, builds @blacksparrow/shared-types, and bundles the extension with esbuild into dist/extension.js.
Other scripts (run from packages/extension or via --workspace=blacksparrow):
| Script |
Description |
npm run dev |
TypeScript watch compile |
npm run lint |
Type-check without emit |
npm run test |
Run unit tests |
npm run package |
Build and produce a .vsix with @vscode/vsce |
npm run package:verify |
List files that would be included in the package |
Debug in VS Code
- Open the
packages/extension folder (or the monorepo with the extension as the workspace folder).
- Press F5 (runs the preLaunch build task).
- In the Extension Development Host window, run Black Sparrow: Sign In.
Launch configuration: .vscode/launch.json → Run Extension.
For local backend development, start the API and dashboard from the repo root (see root README), then sign in against your local instance.
Package for distribution
npm run package --workspace=blacksparrow
Upload the generated .vsix to the VS Code Marketplace. See MARKETPLACE.md for listing copy and release notes.
Project Structure
packages/extension/
├── src/
│ ├── extension.ts # Activation entry point
│ ├── blacksparrowContext.ts # Auth, WebSocket, presence, UI orchestration
│ ├── auth/ # Sign-in, tokens, URI handler
│ ├── config/ # Client config from server
│ ├── git/ # Repo detection, branch watch, pre-commit
│ ├── presence/ # File tracking, idle detection
│ ├── transport/ # REST API and WebSocket clients
│ └── ui/ # Status bar, sidebar, decorations, locks
├── dist/extension.js # Bundled output (esbuild)
├── esbuild.mjs
├── package.json
└── CHANGELOG.md
License
Proprietary — CerebroX Technologies. See LICENSE.