zed¶
Wire (or unwire) mini-ork inside Zed's settings.json. setup adds mini-ork
as an agent, exposes project state to it over MCP, and registers every MCP
server in the project registry as a context server.
The editor file never holds a secret. Each server is registered as a thin
command — mini-ork mcp launch <name> — which resolves the entry against the
vault and execs the real server. Rotating a token in the vault therefore needs
no edit to Zed's settings, and a token cannot leak into a dotfile that gets
synced or committed.
Usage¶
mini-ork zed setup [--home <dir>] [--dry-run] [--layout] [--no-mcp]
mini-ork zed status
mini-ork zed uninstall [--dry-run]
Where it writes¶
$ZED_SETTINGS if set, otherwise ~/.config/zed/settings.json. The existing
file is backed up with a timestamp before any mutation, so an unwanted change
can be undone by restoring the backup. --dry-run prints the resulting JSON
and writes nothing, which is the safe way to inspect a change first.
setup¶
| Flag | Meaning |
|---|---|
--home <dir> |
Absolute project home to embed in the command |
--dry-run |
Print the resulting settings JSON; write nothing |
--layout |
Also dock threads and agent left, Git/Project panels right |
--no-mcp |
Wire only the agent; leave context servers alone |
--home matters when the editor is not launched from the project directory:
Zed has no shell profile, so an embedded absolute path is the reliable way to
tell it which project home to read. Omit it and the current directory's home
is used.
The wiring has three parts:
- an agent server named
mini-ork, speaking ACP; - a context server named
mini-ork, runningmini-ork mcp-context(the read-only state server — see mcp-context); - one context server per registry entry, named
mcp:<name>, runningmini-ork mcp launch <name>(stdio) ormini-ork mcp proxy <name>(URL servers, bridged to stdio).
--no-mcp skips the last two groups, useful when the registry has an entry
whose server you do not want the editor to start.
status¶
Reports whether mini-ork is wired as an agent, whether the state server is
present, and which mcp:<name> entries the settings currently name. It reads
the file; it does not modify it.
uninstall¶
Removes the entries setup added and leaves every other setting untouched.
Pass --dry-run first when the settings file has been hand-edited since the
last setup.
Examples¶
# Preview the full change, then apply it.
mini-ork zed setup --home "$PWD/.mini-ork" --dry-run | jq .
mini-ork zed setup --home "$PWD/.mini-ork"
# Editor-only wiring, no MCP servers.
mini-ork zed setup --no-mcp
# Point Zed at a different settings file (e.g. a test profile).
ZED_SETTINGS=/tmp/zed-settings.json mini-ork zed setup --dry-run
Failure behaviour¶
| Situation | Result |
|---|---|
| Settings file is not valid JSON | The command errors; the file is not rewritten |
A registry entry has an unset ${NAME} |
setup still wires it; the grant fails at launch, naming the key |
| No registry entries | Only the agent and state server are wired |
| Unknown subcommand | Usage on stderr, exit 2 |
Exit codes¶
0 success (including a clean --dry-run), 1 the settings file could not
be read or written, 2 usage.
Related¶
- mcp — the registry
setupreads - vault — where
launchresolves${NAME} - IDE and web app — the surfaces the agent drives