Skip to main content

atlas-cli

The Atlas method made executable: create an Atlas and keep it in order while several people and agents work in it.

What Atlas is: a Claude-anchored, spec-driven way to keep the context of real software projects — one folder per project, its sources linked by symlink, so any agent opens it cold and knows what it is, where each source lives, where the work stands and how it gets closed.

1. Prerequisites (macOS + Windows)

Windows users: run everything below in Git Bash (installed with Git for Windows), not PowerShell or cmd: the Atlas hooks are bash scripts, and Claude Code runs them through Git Bash. Install tools with winget in PowerShell, then reopen Git Bash.

Tool What it's for macOS Windows (PowerShell, then reopen Git Bash)
Git (+ Git Bash) Sources and shared Atlases are git repos; on Windows, Git Bash runs the hooks. brew install git winget install Git.Git
jq The hooks read and write JSON with it. Without it, they stay silent and the coding-rules gate lets every edit through. brew install jq winget install jqlang.jq
uv Installs the atlas CLI with its own Python. brew install uv winget install astral-sh.uv
Claude Code The anchor agent. see claude.com/claude-code see claude.com/claude-code

Windows only — allow symlinks: Settings → Privacy & security → For developers → turn Developer Mode ON, so atlas link can create symlinks without admin rights.

Check:

git --version && jq --version && uv --version && claude --version

2. Install

uv tool install paranoid-atlas-cli

The command is atlas; atlas --version confirms it. If the shell can't find it, run uv tool update-shell and open a new terminal. Upgrade later with uv tool install --reinstall paranoid-atlas-cli.

3. Install the machinery for Claude Code

atlas setup claude

It installs the hooks, the /atlas-init and /atlas-sync commands and the workspace-baseline skill into ~/.claude (or CLAUDE_CONFIG_DIR when set), wires the hooks into settings.json after any hook already there, without touching anything else, and creates atlas-source pointing at the official site when there is none. Run it again after every upgrade; it only changes what differs.

Where the framework comes from: atlas-source holds one line — a URL (the official site, or a local copy of it served on http://localhost:8088) or the path of a local clone of the framework repo. A clone serves the method/*.md pages only — its index is method/README.md; the llms.txt index the agent starts from is generated by the site. To change it:

printf '%s\n' "http://localhost:8088" > "${CLAUDE_CONFIG_DIR:-$HOME/.claude}/atlas-source"

With CLAUDE_CONFIG_DIR set, every ~/.claude/… path in the machinery lives under that folder instead.

Cursor reads Claude Code's configuration from ~/.claude: once this step is done, it gets the hooks, the commands and the skill — don't copy them into ~/.cursor/. The one thing to add on Cursor's side is the MCP server behind an Atlas's coding-rules plugin, if it has one, in ~/.cursor/mcp.json.

The coding-rules gate. In an Atlas that declares the coding-rules plugin, a hook blocks the first code edit of each Claude Code session until the declared source has been consulted. If the source can't be reached, start Claude Code with ATLAS_CODING_RULES_GATE=off to let edits through.

4. Use it

  • Create an Atlas: in a new folder, atlas init, then atlas link <name> <path> for each source and atlas doctor to check them — or /atlas-init in Claude Code, which does the same with you.
  • Join a shared Atlas: clone it, run atlas doctor inside it and follow what it says.
  • Older Atlas: atlas migrate shows the plan to bring it to the current model; atlas migrate --apply applies it.
  • A SPEC's life: atlas spec new <SLUG> creates it and indexes it in the backlog; atlas spec start <name> stamps it, enters it in STATUS → Active and prints the branch commands; atlas spec pause|resume|review <name> keep its Active block; atlas spec close <name> stamps it, archives it with its findings and lists it as recently closed, refusing while its branch is unmerged; atlas spec lint reports what a SPEC carries that it should not. The Done / Next / Blocked lines are yours or the agent's.
  • Day to day: atlas status says where things stand; atlas orient prints what an agent needs at session start — stores, cadence, coding rules, state — and is the entry point for any workbench or editor (Claude Code's session hook just calls it); /atlas-sync is the checkpoint; atlas unlink <name> drops a source the Atlas no longer uses; atlas ui opens a local, read-only page on the Atlas — doctor made plain, the SPECs with search, stats, rules and machinery.

How an Atlas works — its files, SPECs, cadence and sharing — is the method: creating an Atlas and sharing one. atlas --help lists every command.

Troubleshooting

Symptom Fix
atlas: command not found uv tool update-shell, then a new terminal.
atlas-fetch: configure …/atlas-source Re-run atlas setup claude, or write a URL or clone path into that file.
jq: command not found Install jq (step 1); on Windows, reopen Git Bash afterwards.
Hooks do nothing on Windows Not in Git Bash, or Git for Windows isn't installed (step 1).
atlas link can't create the symlink (Windows) Turn Developer Mode on (step 1).
The site doesn't answer Serve the framework locally and point atlas-source at it (step 3).
Sources don't show in the editor's Source Control Check .vscode/settings.json has git.autoRepositoryDetection: true (Cursor defaults to openEditors, which ignores git.scanRepositories) and reload the window. To see what the editor does, set the Git log level to Trace (Developer: Set Log Level), reload, and read the Git output log: its doInitialScan line prints the effective autoRepositoryDetection.

Develop

uv sync
uv run atlas --version
uv run pytest

Release

Bump version in pyproject.toml, commit, then push a matching tag (v0.1.1 for 0.1.1): the Publish paranoid-atlas-cli to PyPI workflow builds and publishes it. A tag that doesn't match the version fails the workflow.

Metadata

Release files for paranoid-atlas-cli 0.17.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for paranoid-atlas-cli 0.17.0
File Size Uploaded
paranoid_atlas_cli-0.17.0.tar.gz 583.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for paranoid-atlas-cli 0.17.0
File Interpreter ABI Platform
paranoid_atlas_cli-0.17.0-py3-none-any.whl Python 3 none any Details

Total release size: 1.2 MB

Release files / paranoid_atlas_cli-0.17.0.tar.gz

Download URL paranoid_atlas_cli-0.17.0.tar.gz
Size 583.2 kB
Tags Source
SHA-256 checksum
How to use checksums
f3b5837ecc7b0815ddb7af4077ca5ba362d9af918ee7f46c4a95d88279eaa74f
BLAKE2b-256 checksum
How to use checksums
21787c3476a07046d63065cdb48ba767fe2e8ab494353ad824278091cff1910d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / paranoid_atlas_cli-0.17.0-py3-none-any.whl

Download URL paranoid_atlas_cli-0.17.0-py3-none-any.whl
Size 576.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
b9f91d2f4232125cb3faf0b8a0f823ac405a0d9e4cceda82038c94d69c531fe7
BLAKE2b-256 checksum
How to use checksums
257333efe635f7b7ca152753860134f94291a070f699d19d63d88559715856d0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release history Release notifications | RSS feed

0.19.0

2 release files

0.18.0

2 release files

This release

0.17.0 This release

2 release files

0.16.0

2 release files

0.15.3

2 release files

0.15.2

2 release files

0.15.1

2 release files

0.15.0

2 release files

0.14.1

2 release files

0.14.0

2 release files

0.13.0

2 release files

0.12.0

2 release files

0.11.0

2 release files

0.10.0

2 release files

0.9.0

2 release files

0.8.1

2 release files

0.8.0

2 release files

0.7.1

2 release files

0.7.0

2 release files

0.6.0

2 release files

0.5.1

2 release files

0.5.0

2 release files

0.4.0

2 release files

0.3.0

2 release files

0.2.0

2 release files

0.1.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page