app.twiceshy/twiceshy

Registre officiel Outils de développement

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

Remote (streamable-http)
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_...)>'
Configuration JSON (Claude Desktop, Cursor, VS Code)
{
    "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.

Sommaire
  1. twiceshy
  2. Hosted alpha
  3. How it works (the locked architecture)
  4. Status
  5. Development
  6. License

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.
  • 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.