app.twiceshy/twiceshy

السجل الرسمي أدوات المطورين

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

التثبيت

أضف هذا إلى إعدادات MCP في عميلك (Claude Desktop: claude_desktop_config.json، وCursor: ‏.cursor/mcp.json، ويستخدم VS Code وغيره الصيغة نفسها «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_...)>'
إعداد 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_...)>"
            }
        }
    }
}

التوثيق

مأخوذ من ملف README للمشروع على GitHub ويُحدَّث أسبوعيًا. تفتح الروابط على GitHub.

المحتويات
  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.

الأسئلة الشائعة

ما هو app.twiceshy/twiceshy؟

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

كيف أثبّت app.twiceshy/twiceshy؟

يعمل كخادم بعيد. في 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 من هذه الصفحة في إعدادات MCP الخاصة بهم.

هل يحتاج app.twiceshy/twiceshy إلى مفتاح API؟

نعم. يتطلب Authorization، وتضبطها في إعداداته.

هل app.twiceshy/twiceshy مفتوح المصدر؟

نعم. شيفرته متاحة على GitHub بترخيص AGPL-3.0.

من يصون app.twiceshy/twiceshy؟

ينشره dotts-h. يدرجه AI.tn لكنه لا يصونه ولا يوصي به.

من سجل MCP الرسمي. الإدراج ليس توصية: راجع شيفرة الخادم وصلاحياته قبل منحه الوصول إلى بياناتك.