@archme/cli
v0.6.0
Published
Map your codebase into a living architecture diagram: run `archme init` in a repo to scan it, `archme daemon start` to keep it current on every commit.
Readme
@archme/cli
Command-line companion for ArchMe — maps your codebase into a living architecture diagram and keeps it current as you commit.
npm install -g @archme/cliRequires Node 20+ and Claude Code installed and signed in — scans and updates run on your Claude subscription, on your machine. Your code is never sent to ArchMe's servers; only the resulting architecture is.
1. Scan your repo
cd into the repository you want mapped, then:
archme initThis signs you in, creates a project named after the repo, writes the agent
config (.mcp.json, a CLAUDE.md block, the architecture skill), tells you
what the scan will cost before spending it, and runs the scan. It prints a link
to your board — components appear on it as they're written.
2. Keep it up to date
archme init also starts watching the repo, so every push queues an architecture
update — but nothing processes that queue until you run the agent:
archme daemon startInstalls the daemon as a background service (launchd/systemd), enables it at login, and starts it. Run it on a machine that stays on. Each update counts tokens against your Claude account, the same way the scan did.
Watching a repo needs the ArchMe GitHub App installed on it; archme init tells
you if that step is still missing. Not up for hosting the agent yourself? Get in
touch at archme.io and we'll run it for you.
3. Remove it
archme uninstallFrom inside the repo. It lists everything it will change and asks before doing any of it:
- The agent config — the
archmeMCP server from.mcp.json, the ArchMe block fromCLAUDE.md, the architecture skill. Your own config in those files is left alone, and a file we created is deleted rather than left empty. - Watching — so commits stop updating the architecture. Removing the config
on its own would leave the board moving while looking uninstalled, which is
why this is the default;
--keep-watchingopts out. - The daemon — but only if no other repo is left for it to serve. It's one service per account, so uninstalling one repo never stops the others.
Your architecture on archme.io and this machine's login survive (archme logout
for the latter). The ArchMe GitHub App installation is org-wide, so it stays —
remove it on github.com if you want it gone.
Other commands
| Command | Purpose |
|---|---|
| archme init [repo-path] | Guided setup + scan (see above); --force re-scans |
| archme uninstall [repo-path] | Stop ArchMe for a repo: agent config, watching, and the daemon if idle |
| archme scan <repo-path> | Low-level single-pass scan into an explicit --project / --branch |
| archme daemon <sub> | start · stop · restart · status · logs · enable · disable · install · uninstall · run |
| archme analyze <sub> | Tree-sitter code analysis: outline · repo · diff · match · prefetch |
| archme login / archme logout | Authenticate this machine against ArchMe |
Every command takes --help. Useful flags:
archme init --skip-scan— wire up the repo without scanning;--forcere-scans a project that already has an architecture;--yesruns unattended (scans are interactive by default, so you can steer them as they go).archme daemon status— is it installed, running, and signed in?archme daemon logs -ffollows the log.archme uninstall --keep-watching— removes the agent config but leaves the repo watched and the daemon running (see above);--yesskips the confirmation. Run it from anywhere in the repo — it resolves the repo root.archme analyze outline <file>— JSON symbol outline for one file;repooutlines everything,diff <range>only what a git range touched. Supports TypeScript, TSX, JavaScript, Python, Go, Java, Ruby, Rust, Swift, and Kotlin. Grammars download on first use to~/.archme/tools/grammars/.
Notes
- Credentials: stored in the macOS Keychain when available, otherwise
~/.archme/credentials.json(mode0600).keytaris an optional dependency — if its native build fails, everything still works via the file store. - Configuration: no env setup needed against archme.io; the CLI never reads
.envfiles. Self-hosted deployments can overrideSUPABASE_URL,SUPABASE_ANON_KEY,ARCHME_DAEMON_CLIENT_ID,ARCHME_MCP_BASE_URL, andCLONE_BASE_DIR(daemon only, defaults to~/.archme-job-runner/clones). - Agent methodology — how an agent scans a repo, anchors components to code,
and writes architecture updates — is in the
SKILL.mdbundled with this package.archme initinstalls it into your repo for you.
License
Proprietary — see the bundled LICENSE. Use is granted against the archme.io
service; bundled open-source components keep their own terms.
