app.twiceshy/twiceshy
Experience memory for coding agents: validated traps, fixes and dead-ends at decision time.
Links
README
From the repo.
twiceshy
Once bitten, twice shy.
A self-hosted service that feeds hard-won engineering experience — issues, dead-ends, root causes, validated fixes — to LLM coding agents at decision time, so they stop repeating known mistakes on autopilot. Records are git-backed and provenance-aware; automatic retrieval applies a relevance floor so a weak match can return nothing.
Hosted alpha
The hosted instance runs at twiceshy.app — self-serve
tokens, remote MCP endpoint https://api.twiceshy.app/. External
contributions require a signed CLA before merge
(ADR-0002).
How it works (the locked architecture)
- Source of truth: git-backed markdown experience records (YAML frontmatter
- narrative) — format in docs/SCHEMA.md. The corpus is a
separate versioned data product (
twiceshy-corpus, ADR-0021); the engine ships a small frozen fixture (internal/testcorpus/) for tests.
- narrative) — format in docs/SCHEMA.md. The corpus is a
separate versioned data product (
- Index: one derived, always-rebuildable SQLite file (FTS5 plus cached, pure-Go dense vectors for pull retrieval).
- Retrieval: fingerprint-exact → BM25 → dense (RRF), stack-fingerprint filtered, hard cap k≤3 with a relevance floor — below it, nothing is injected.
- Channels: push (Claude Code hooks → trap cards), pull (MCP tools over streamable HTTP), index (generated one-liners).
- Trust: agent-proposed records are quarantined; promotion = sandbox fail-to-pass validation + human PR review. A new record IS a pull request.
- Doctors: background jobs that dedup, staleness-check, re-execute repros (CI for memories), decay, and abstract.
Full rationale: docs/research/EXPERIENCE_SERVICE_RESEARCH.md and docs/adr/ADR-0001-architecture.md.
Status
The core service is available as a hosted alpha. For the canonical snapshot of what ships now and the current roadmap, see docs/NEXT_FEATURES.md; deployment and operating details live in docs/DEPLOY-public-alpha.md.
Development
make ci # lint + race tests + coverage floor — what CI runs
See docs/CONVENTIONS.md and docs/CONTEXT.md first.
License
AGPL-3.0-only. Contribution and corpus licensing: docs/adr/ADR-0002-licensing-strategy.md.
Config for your environment
Use the endpoint URL below in your config. No API key — you connect directly.
Tool
OS
Config file: ~/.cursor/mcp.json
{
"mcpServers": {
"mcp-server": {
"url": "https://api.twiceshy.app"
}
}
}Paste into mcpServers in the config file. Restart Cursor after saving.
If this MCP is also published on mcpchannel.ai, you can subscribe from Browse and use the gateway config there instead.