Atlas for VS Code and Cursor
See who else — human or AI — is working in this repository, before anything is
committed.
The extension has no setup. It activates when the editor starts, finds the
Atlas runtime, and reports which file and symbol you are in about once a
second. You appear in the workspace as a human worker, alongside whatever
coding assistants are attached over MCP.
Why it exists
Atlas already learns about edits two other ways, and neither can see a person:
| channel |
fires when |
| MCP adapter |
a model calls a tool |
| editor hooks |
an agent is about to write a file |
| this extension |
a person moves their cursor |
A developer reading code with no assistant running is invisible to the first
two. That is the gap this fills.
Running it
cd extensions/vscode
npm install
npm run build
Then either:
# a scratch instance with the extension loaded
code --extensionDevelopmentPath="$PWD" /path/to/a/repo
or press F5 in VS Code with extensions/vscode open.
In the repository you opened:
atlas init && atlas dev
Open a file. Within a second the status bar shows Atlas, and atlas workers
in a terminal lists you as human with the file and symbol you are in.
To install it properly:
npm run package # produces atlas-0.1.0.vsix
code --install-extension atlas-0.1.0.vsix
Cursor uses the same extension host, so the same .vsix installs there.
What you get
- Status bar — how many other people and agents are in this repository.
Hover for what each is doing; click to open the dashboard.
- Notifications — when something you depend on changes, or a review comes
back. Only what is addressed to you, and only once.
Atlas: Who is working right now? — a picker of every live worker;
choosing one opens the file they are in.
Settings
| setting |
default |
meaning |
atlas.url |
http://127.0.0.1:7373 |
where the runtime is listening |
atlas.worker |
derived |
your name in the workspace |
atlas.presenceIntervalMs |
1000 |
how often to report where you are |
atlas.notifications |
true |
show toasts for things addressed to you |
Your name is derived the same way atlas mcp derives one — $ATLAS_AGENT,
then <editor>-<user> — so an extension and a coding tool in the same window
arrive at compatible names without needing to agree.
What it deliberately does not do
- No keystroke capture and no buffer reading. Presence means the file and
the enclosing symbol. Atlas never sees the text of your uncommitted work.
- Nothing blocking. If the runtime is not running, the status bar says so
and the extension goes quiet. An editor extension that interrupts you because
a background service is down has made your day worse for no benefit.
- No gutter decorations yet. Showing lease state inline is the obvious next
step and is not built.