# Stop re-explaining your codebase to every AI tool Every AI coding session starts cold. Here's why your tools keep re-reading your project — and how a portable, structure-aware memory fixes it. Open Cursor, ask a question about your project, and watch it re-read half your files to answer. Switch to Claude Code an hour later and do it again. Every tool, every session, from scratch. You end up re-explaining the same architecture over and over — to software that forgets the moment the tab closes. ## Why this happens AI coding tools are stateless about *your* code. They have a huge general model, but no persistent, structured understanding of *this* repo. So each question triggers a fresh scan: pull in files, guess at the architecture, hope the right context landed in the window. That's slow, it's expensive in tokens, and it's lossy — the tool never really *knows* your codebase, it re-derives a fuzzy picture each time. Hand-written docs are supposed to solve this. But a `CONTEXT.md` rots the moment someone forgets to update it, and most teams don't keep one at all. ## A different approach: sync once, every tool reads it [SecondOS](/product) builds a **structure-aware map** of your repo — symbols, signatures, routes, and a call graph resolved across seven languages — and lets any AI tool read it over [MCP](/docs/mcp). Sync once; Cursor, Claude Code, Copilot, and hosted agents like claude.ai all read the *same* map. No per-tool re-scan, no per-session re-explaining. The map is not the whole file. It's the interface: what exists, what calls what, what a change would break. So an agent answering a question reads a compact card instead of re-reading whole files — [about 5× fewer tokens per question](/benchmark), measured on real repos. ## Your source stays home The important part: **only the map leaves your machine, never your source** (we call this K-S23). SecondOS uploads paths, signatures, routes and the module layout — never the code bodies. Secrets are redacted, not uploaded. If even the map shouldn't leave, local mode keeps everything on your machine, and Enterprise self-hosts. ## Try it ``` bunx @secondos/cli push . # map your repo (source stays local) secondos mcp . # point any AI tool at it ``` One memory, every tool. Stop re-explaining your codebase — [see how we measured it](/benchmark).