app.twiceshy/twiceshy
Experience memory for coding agents: validated traps, fixes and dead-ends at decision time.
Installation
Ajoutez ceci à la configuration MCP de votre client (Claude Desktop : claude_desktop_config.json ; Cursor : .cursor/mcp.json ; VS Code et les autres utilisent la même forme « mcpServers »).
claude mcp add --transport http twiceshy 'https://api.twiceshy.app' --header 'Authorization: <Bearer token from the free alpha signup at https://twiceshy.app (format: Bearer tok_...)>'
{
"mcpServers": {
"twiceshy": {
"type": "http",
"url": "https://api.twiceshy.app",
"headers": {
"Authorization": "<Bearer token from the free alpha signup at https://twiceshy.app (format: Bearer tok_...)>"
}
}
}
}
Documentation
Tirée du README du projet sur GitHub, actualisée chaque semaine. Les liens ouvrent GitHub.
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.
Questions fréquentes
Qu'est-ce que app.twiceshy/twiceshy ?
Experience memory for coding agents: validated traps, fixes and dead-ends at decision time.
Comment installer app.twiceshy/twiceshy ?
Il fonctionne comme serveur distant. Dans Claude Code : claude mcp add --transport http twiceshy 'https://api.twiceshy.app' --header 'Authorization: <Bearer token from the free alpha signup at https://twiceshy.app (format: Bearer tok_...)>'. Pour les autres clients, collez la configuration JSON de cette page dans leurs réglages MCP.
Faut-il une clé API pour app.twiceshy/twiceshy ?
Oui. Il attend Authorization, à renseigner dans sa configuration.
app.twiceshy/twiceshy est-il open source ?
Oui. Son code est sur GitHub sous licence AGPL-3.0.
Qui maintient app.twiceshy/twiceshy ?
Il est publié par dotts-h. AI.tn le référence sans le maintenir ni le recommander.
Issu du registre MCP officiel. Être listé n'est pas une recommandation : vérifiez le code et les permissions d'un serveur avant de lui donner accès à vos données.