Skip to content

Local context compiler

Your AI agents finally have a memory

Capture decisions and architecture notes from anywhere. Terso compiles them into structured Markdown that Cursor and Claude Code read natively.

Read the docs

Open source · MIT · Free while in beta

CursorClaude CodeCopilotWindsurf

The problem

You open Claude Code on a project you haven't touched in 3 weeks. It knows nothing — your architecture decisions, the bug you fixed, why you chose Supabase over Firebase. You re-explain everything. Again.

Your knowledge is scattered across chat histories, random docs, and your head. Every new session starts from zero.

Terso fixes this.

How it works

Capture once. Agents remember forever.

You run this

$ terso capture \
"switched auth to Supabase --
row-level security was the dealbreaker"
 
✓ captured
kind: decision scope: project
confidence: 0.94 class: promote_now
$ terso sync
 
◈ syncing project omnus...
wrote .terso/generated/ARCHITECTURE.md
wrote .terso/generated/DECISIONS.md
wrote .terso/generated/DEBUG_LOG.md
wrote .terso/generated/SHARED_OPS.md
 
done -- 4 files written

Your agent reads this

ARCHITECTURE.mdCurrent stack, infra, deployment
DECISIONS.mdWhy you chose X over Y
DEBUG_LOG.mdBugs fixed, root causes found
SHARED_OPS.mdCross-project standards and recipes
CHANGELOG.mdWhat changed, when, why

Capabilities

Capture from anywhere.

Voice notes from Telegram, quick thoughts from the CLI, pastes from the web, GitHub webhooks, forwarded emails. Under 3 seconds to capture a thought. Zero friction, zero context switching.

CLI
Telegram
Web paste
GitHub webhooks
Email forwarding
n8n webhooks

Secrets scanned before any LLM.

Deterministic regex scanning runs before any AI model sees your input. API keys, tokens, passwords, and connection strings are stripped and replaced with [REDACTED:type] markers. The originals are stored encrypted in a local vault.

Processing pipeline

Secret scan
Segment
Classify
Deduplicate
Embed
Route

Files, not APIs.

No MCP servers, no authentication complexity, no API calls at runtime. Terso writes Markdown files into .terso/generated/ in each project repo. Any file-aware agent reads them naturally. Hand-maintained docs stay separate from generated context.

your-project/
src/
package.json
CLAUDE.mdhand-maintained
.terso/
config.jsonhand-maintained
generated/
ARCHITECTURE.mdauto-generated
DECISIONS.mdauto-generated
DEBUG_LOG.mdauto-generated
SHARED_OPS.mdauto-generated

More

Offline mode

Capture locally when offline. Sync when you reconnect. Nothing is lost.

Secret scanning

Deterministic regex before any LLM call. API keys, tokens, passwords stripped automatically.

Confidence routing

High confidence auto-promotes. Low confidence holds for review. Junk expires and self-cleans.

Shared ops

Cross-project standards compiled once, synced to every repo. Deploy recipes, coding standards, service inventory.

Review budget

Maximum 20 items per week. Overflow auto-archives. Your attention is protected.

Cost tracking

Every LLM call logged with model, tokens, cost, and project. $15/day cap enforced.

Capture once, use everywhere.

Open source. Free while in beta.

Read the docs