Quickstart

From nothing to a memory every AI tool reads first, in three steps. No credit card, your source never leaves your machine, and your tools answer from the map instead of re-reading files: ~5× fewer tokens per question.

1. Sync your repo

Run the CLI at the root of any repo. It parses your code into a structure-aware map (symbols, signatures, routes) on your machine.

bunx @secondos/cli push .

The first run does the real work: it parses every file and embeds the map on your CPU. A small repo takes a minute or two; a few thousand files takes closer to ten. That cost is paid once. Every run after it is incremental, re-parsing and re-embedding only what actually changed, so a re-sync is seconds.

On a very large repo the CLI keeps the first sync quick by indexing the map and the symbol cards and deferring symbol bodies. It says so when it does. Add --deep to embed the bodies too, when you want search that hits logic rather than names.

2. Understand what uploaded

Two artifacts leave your machine: the map and the embeddings. Your file bodies do not. Secrets like .env, *.key and *.pem are never read, and inline keys are redacted before anything is embedded.

map.json      symbols, routes, signatures
vectors.json  embeddings only
your source   never uploaded

Symbol bodies are embedded locally too, when you ask for them, only the vector persists, never the source.

3. Connect an AI tool

Run mcp-config to print the ready-to-paste MCP configuration for your editor (Cursor, Claude Code, Claude Desktop, Windsurf or VS Code), then drop it into your MCP settings. They all read the same map, so you sync once and every tool remembers.

bunx @secondos/cli mcp-config

See the MCP server page for the exact configuration and the tools each editor gets.

See it work

Once connected, your editor is told to consult this project's living memory before it reads files. It primes on the map + prior decisions at the start of a task. Try it:

what does this project do, and where does auth live?

It answers from the structure-aware map (signatures, routes, call graph) and any decisions the team has recorded, not by opening a dozen files. Made a call it should remember? Tell it remember this: … and every tool sees it next session.

4. Keep it fresh (optional)

Connect GitHub from the web app in one click, or run init-github-action to scaffold the workflow. Every push then re-extracts the changed files on the runner and updates the cloud map. Sync once, stay fresh forever, no manual re-runs. The GitHub App holds no code-read permission, so your source never leaves your CI boundary.

bunx @secondos/cli init-github-action

Next

Read the CLI reference for ask and drift, or the MCP page to wire up your editor. When you are ready for team freshness and rollback, see pricing.