Atlas — memory router for AI coding agents (Cursor and friends)
Project description
Atlas Memory
The token GPS for AI coding — Cursor's where-to-look / what-to-remember layer.
Stop dumping the monorepo into context. Atlas understands the project via indexes, disambiguates the right files, remembers decisions, and saves exploration tokens on the next turn.
mempalace-index → MemPalace (optional long-term memory)
graphify-index → Graphify or Mind Map (optional; pick one)
project-cache → real files (always)
Two commands from zero to a working router:
atlas init # creates the indexes and indexes your source tree
atlas connect --editor cursor # also: windsurf, vscode, zed, codex, claude
# ~/.cursor/rules/atlas.mdc + MCP atlas-mcp — then reload MCP
Prove token savings:
atlas bench --fixture # synthetic monorepo: 99%
atlas bench --real # the Atlas repo (needs a source checkout): 78%
Both suites include negative cases, where the correct answer is for the router to stay silent instead of returning plausible-looking noise.
Local daemon (any AI editor):
atlas daemon # HTTP on 127.0.0.1:8765
atlas-mcp # stdio MCP
Why use Atlas (or migrate to it)
The problem with “just chat with the repo”
| What happens today | Cost |
|---|---|
| Agent greps the whole tree every session | Tokens, time, noise |
| Last week’s architecture decision lives in an old thread | Rework and contradictory advice |
| Huge monorepos (or multi-engine trees) overwhelm context | Wrong files, hallucinated paths |
| “Memory” tools fight each other (two graphs, three “search me first” rules) | Unpredictable agents |
| Secrets accidentally pasted into notes | Security risk |
Your model is not the bottleneck. Orientation is.
Why Atlas
- One protocol, every project — The agent always asks the same five questions in the same order. No improvisation.
- Router, not another brain — Atlas doesn’t replace Cursor, Claude, or MemPalace. It tells them where to look.
- Works at day one, scales later —
project-cachealone is useful. Add MemPalace and Graphify when you need them. - Safe by default — Typed checkpoints, secret scanning, code-wins-over-stale-memory.
- Built for real repos — Scoped graphs instead of one mega-index of 30k files.
- Migratable —
atlas migrate/atlas onboardturn README/ADRs and loose Cursor rules into Atlas layout.
Who should migrate
- You already use Cursor (or Claude Code / Codex) on more than one project
- You’ve repeated “we decided X last month” more than twice
- Grep-first workflows feel slow or wrong on a large codebase
- You tried MemPalace / Graphify / Mind Map and want one hierarchy, not three competing rules
Who can wait
- Greenfield toy apps with a handful of files and no lasting decisions — start with
atlas initwhen the project grows.
60-second install
pip install atlas-code-memory
cd ~/code/your-app
atlas init --global-rule
atlas onboard
atlas doctor
From source instead:
git clone https://github.com/Ygonet1986/atlas-memory.git
cd atlas-memory
pip install -e .
Open the project in Cursor. The Atlas rule steers the agent automatically.
Migration guide
Bring an existing project into Atlas Memory without throwing away README, ADRs, or Cursor rules.
One command
cd ~/code/legacy-app
atlas migrate -C .
atlas doctor -C .
Optional flags:
atlas migrate --dry-run # plan only (no writes)
atlas migrate --no-import # skip README/ADR seeding
atlas migrate --global-rule # also install ~/.cursor/rules/atlas.mdc
atlas migrate --hooks # install git post-commit stale hook
What migrate does
- Renames legacy Cursor memory rules →
.cursor/rules/atlas.mdc - Bootstraps missing indexes / skill /
.atlasignore(atlas init) - Rewrites Portuguese field labels to English (
endereço→path,escopo→scope, …) - Ensures an
AGENTS.mdAtlas section when Cursor rules already exist - Seeds
project-cache+ drawer stubs from README /docs/adr(atlas import) - Writes
.cursor/atlas-migrate-report.mdwith next steps
After migrate
- Read
.cursor/atlas-migrate-report.md - Fix anything
atlas doctorreports - Review
.cursor/atlas-import/*.drawer.md→atlas checkpoint --write --mine - Register scopes:
atlas graph add app --scope app(never the monorepo root) - Optional adapters: MemPalace and Graphify or Mind Map
English is the canonical language for Atlas indexes and CLI. Parsers still accept older Portuguese labels; new writes use English only. CLI aliases: --escopo → --scope, --descricao → --description.
Full walkthrough (bare repo, Cursor legacy, MemPalace/Graphify, monorepos, teams, rollback): docs/migration.md.
How it works
1. mempalace-index → which memory wing/room?
2. MemPalace → what did we decide / learn?
3. graphify-index → which code graph?
4. Graphify|MindMap → how do symbols connect?
5. project-cache → which file to open?
Missing layer → skip. Never invent memory hits.
Commands (0.3)
| Command | Purpose |
|---|---|
atlas init |
Bootstrap indexes |
atlas onboard |
Import README/ADRs + onboarding brief |
atlas doctor |
Diagnose setup |
atlas migrate |
Migrate existing project → Atlas Memory |
atlas route "…" |
JSON recall plan for a question |
atlas bench |
A/B token-proxy proof (grep vs route) |
atlas daemon |
Local HTTP for any AI editor |
atlas connect |
Write MCP/rules for Cursor/Claude/generic |
atlas graph … |
Manage scoped graphs (--scope) |
atlas checkpoint --write/--mine |
Validate + file drawers by room |
atlas life … |
Personal memory (wake/remember/sync) + Chat serve |
atlas sync export/import |
Team bundles |
atlas watch |
Mark graphs stale on change |
atlas eval / --transcript |
Index + protocol scores |
atlas mcp |
MCP stdio server |
Life + desktop: docs/life.md · docs/atlas-chat.md
Full docs: docs/index.md · Migration: docs/migration.md
MCP (Cursor)
{
"mcpServers": {
"atlas-memory": {
"command": "atlas-mcp"
}
}
}
Optional adapters
| Slot | Options |
|---|---|
| Memory | MemPalace or none |
| Code graph | Graphify or Mind Map — never both |
| File index | Built-in project-cache (required) |
License
MIT — see LICENSE.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file atlas_code_memory-0.4.0.tar.gz.
File metadata
- Download URL: atlas_code_memory-0.4.0.tar.gz
- Upload date:
- Size: 164.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b9156e31d842c8923dac79abbc533f42a282e7ac9c37b5a4e91f8eecfbe1b61c
|
|
| MD5 |
4d931bd972046e6cc9c5995a3c41f162
|
|
| BLAKE2b-256 |
18ecfed1e4de241a084829c41f5494a6f9c9e1823e19dfa31a19d338829ea91d
|
File details
Details for the file atlas_code_memory-0.4.0-py3-none-any.whl.
File metadata
- Download URL: atlas_code_memory-0.4.0-py3-none-any.whl
- Upload date:
- Size: 156.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e4ba01daa814a897bf03027180aeb08e1468ea17dc0fe4b27792537e7b990f60
|
|
| MD5 |
ed7626a0a1c25a456a8f15fd9b2aa682
|
|
| BLAKE2b-256 |
d599b1fc815381c35c076bcc6b162eb6ce11438fd90bfc37fa6876425b2c4946
|