app.twiceshy/twiceshy

Official registry Developer tools

Experience memory for coding agents: validated traps, fixes and dead-ends at decision time.

Install

Add this to your client's MCP configuration (Claude Desktop: claude_desktop_config.json; Cursor: .cursor/mcp.json; VS Code and others use the same "mcpServers" shape).

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_...)>'
JSON configuration (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

From the project's README on GitHub, refreshed weekly. Links open on GitHub.

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

Frequently asked questions

What is app.twiceshy/twiceshy?

Experience memory for coding agents: validated traps, fixes and dead-ends at decision time.

How do I install app.twiceshy/twiceshy?

It runs as a remote server. In 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_...)>'. For other clients, paste the JSON configuration from this page into their MCP settings.

Does app.twiceshy/twiceshy need an API key?

Yes. It expects Authorization, which you set in its configuration.

Is app.twiceshy/twiceshy open source?

Yes. Its code is on GitHub under the AGPL-3.0 license.

Who maintains app.twiceshy/twiceshy?

It is published by dotts-h. AI.tn lists it but does not maintain or endorse it.

From the official MCP Registry. Listing is not an endorsement: review a server's code and permissions before giving it access to your data.