# 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).
