Skip to content

Local context compiler

One AGENTS.md. Every coding agent.

Stop maintaining the same project rules in .cursorrules, CLAUDE.md, and copilot-instructions.md. Write them once in AGENTS.md — terso compiles the rest.

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

Edit one file. Compile the rest.

You run this

$ terso emit
 
create CLAUDE.md
create .cursorrules
create .github/copilot-instructions.md
 
Emitted 3 file(s) from AGENTS.md (0 unchanged).
$ vim AGENTS.md # edit your project rules
$ terso emit --check # CI-safe verification
 
ok CLAUDE.md
ok .cursorrules
ok .github/copilot-instructions.md
 
All 3 target(s) up to date.

Your agents read these

AGENTS.mdSingle source — you edit this
CLAUDE.mdRead by Claude Code
.cursorrulesRead by Cursor
.github/copilot-instructions.mdRead by GitHub Copilot

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 to install, no auth to wire up, no runtime API calls. Terso compiles your AGENTS.md into the native config files each agent already reads. Cursor reads .cursorrules. Claude Code reads CLAUDE.md. Copilot reads .github/copilot-instructions.md. Same instructions, three places, one source.

your-project/
src/
package.json
AGENTS.mdsingle source
CLAUDE.mdcompiled
.cursorrulescompiled
.github/
copilot-instructions.mdcompiled

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.

Write once. Every agent stays in sync.

Open source. MIT licensed. Works offline.

Read the docs