{
  "markdown": "# `</>` Delimit\n\n**The merge gate for AI-written code, with signed, replayable attestation.**\n\nWrap any AI coding assistant (Claude Code, Codex, Cursor, Gemini CLI) with a governance chain that runs your gates, records what changed, and signs a replayable receipt for every merge.\n\n[![npm](https://img.shields.io/npm/v/delimit-cli)](https://www.npmjs.com/package/delimit-cli)\n[![Tests](https://img.shields.io/badge/tests-4800%2B%20passing-brightgreen)](https://github.com/delimit-ai/delimit-mcp-server)\n[![GitHub Action](https://img.shields.io/badge/GitHub%20Action-latest-blue)](https://github.com/marketplace/actions/delimit-merge-gate-for-ai-written-code)\n[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](https://opensource.org/licenses/MIT)\n[![Glama Score](https://glama.ai/mcp/servers/delimit-ai/delimit-mcp-server/badges/score.svg)](https://glama.ai/mcp/servers/delimit-ai/delimit-mcp-server/score)\n\n```console\n$ delimit wrap -- claude \"fix the flaky test in tests/api.spec.ts\"\n\n✓ repo_diagnose\n✓ security_audit       0 critical · 0 secrets\n✓ test_smoke           165/165\n✓ changed_files        1\n✓ attestation signed   att_a05050eb8e13277e\n                       delimit.attestation.v1 · HMAC-SHA256\n                       receipt → .delimit/attestations/att_a05050eb8e13277e.json\n```\n\nEvery wrapped run emits a local `delimit.attestation.v1` bundle: repo head before/after, changed files, gate results, and an HMAC-SHA256 signature. Verify it offline with `delimit seal-verify`; hosted replay is not available yet. Advisory by default; flip to enforcing when you're ready.\n\n---\n\n## Fastest path to value: `delimit check`\n\nZero-config PR safety gate. No `init`, no setup, no account, no keys — run it on any repo and it applies deterministic checks (breaking API changes + leaked secrets) to your staged or modified files.\n\n```bash\nnpx delimit-cli check\n```\n\n```console\n$ delimit check\n\n  Delimit Check\n\n  Policy: default | Base: HEAD | Specs: 1\n\n  + api/openapi.yaml — clean\n\n  PASSED — no breaking changes, no leaked secrets\n```\n\nWhen a check finds a breaking change or a leaked secret, it prints the offending file and the issue and exits non-zero — so it drops straight into a pre-commit hook or CI step.\n\nCommon options:\n\n```bash\ndelimit check --staged          # only check staged files\ndelimit check --base main       # compare against a git ref (default HEAD)\ndelimit check --fix             # show migration guidance for violations\ndelimit check --record          # write a content-pinned record of this check\n```\n\n`--record` writes a content-pinned record of the check to `.delimit/records/check-<ts>.json` (or a path you name). That record is the precursor to the signed, replayable Seal attestation — the same evidence shape, pinned to the exact content you checked.\n\n<p align=\"center\">\n  <a href=\"https://delimit.ai/methodology/mcp-attestation\">Methodology</a> · <a href=\"https://delimit.ai/reports/cal-com-v2-attestation\">cal.com v2 worked example</a> · <a href=\"https://delimit.ai/docs/workflow\">Workflow guide</a> · <a href=\"https://delimit.ai\">Website</a>\n</p>\n\n---\n\n## Worked examples\n\nReal, reproducible merge-gate runs against public API specs:\n\n- **[OpenAI OpenAPI: a year of AI frontier evolution under a cross-vendor merge gate](https://delimit.ai/reports/openai-openapi-attestation)** — OpenAI (openai/openai-openapi)\n- **[Stripe v1 OpenAPI: 57 days under a merge gate](https://delimit.ai/reports/stripe-openapi-attestation)** — Stripe (stripe/openapi)\n- **[Anthropic API: 76 days under a cross-vendor merge gate](https://delimit.ai/reports/anthropic-api-attestation)** — Anthropic (anthropics/anthropic-sdk-python)\n- **[Twilio v2010 OpenAPI: 55 days under a merge gate](https://delimit.ai/reports/twilio-api-attestation)** — Twilio (twilio/twilio-oai)\n- **[Docusign eSignature v2.1 OpenAPI: 46 days under a merge gate](https://delimit.ai/reports/docusign-esign-attestation)** — Docusign (docusign/OpenAPI-Specifications)\n- **[Supabase Auth OpenAPI: 57 days under a merge gate](https://delimit.ai/reports/supabase-auth-openapi-attestation)** — Supabase Auth (supabase/auth)\n- **[cal.com v2 OpenAPI: 60 days under a merge gate](https://delimit.ai/reports/cal-com-v2-attestation)** — cal.com (calcom/cal.com)\n- **[EU TED v3 procurement API: $ref'd component-schema drift under a merge gate](https://delimit.ai/reports/eu-ted-v3-attestation)** — European Commission (TED v3 Public API)\n- **[Cross-agent handoff: one artifact, four CLIs](https://delimit.ai/reports/cross-agent-handoff)** — Cross-CLI session handoff (worked example)\n- **[delimit-mcp-server (self-attestation): same merge gate, third artifact class](https://delimit.ai/reports/delimit-mcp-server-tdqs)** — delimit-mcp-server (self-attestation)\n\nSee the full index at **[delimit.ai/reports](https://delimit.ai/reports)**. For the schema and signing methodology behind every report, see **[delimit.ai/methodology/mcp-attestation](https://delimit.ai/methodology/mcp-attestation)**.\n\n---\n\n## Golden Path — your first 10 minutes\n\nThe merge gate for AI-written code, end to end: lint a spec, see exactly what breaks, classify the bump, settle the hard calls with multiple models, and walk away with a signed, replayable attestation. Then keep the context that survives across sessions and models.\n\n### 1. Install\n\n```bash\nnpx delimit-cli scan          # discovery: finds your OpenAPI specs, frameworks, security issues, tests\nnpx delimit-cli init          # wire up the merge-gate config (--preset strict | default | relaxed)\n```\n\n`scan` (`delimit_scan`) reports what Delimit can do for this repo. `init` (`delimit_init`) drops in the policy preset and merge-gate config. No account, no keys.\n\n### 2. The merge gate, end to end\n\n**Lint the spec change (the gate).** Baseline vs. proposed, with policy applied — one pass/fail verdict.\n\n```bash\nnpx delimit-cli lint old.yaml new.yaml       # tool: delimit_lint\n```\n\n**See exactly what breaks.** Pure structural diff — added/removed/modified endpoints, schemas, params, no policy.\n\n```bash\nnpx delimit-cli diff old.yaml new.yaml       # tool: delimit_diff\n```\n\n**Classify the bump.** Deterministic MAJOR/MINOR/PATCH/NONE — same input, same answer, every time.\n\n```text\ndelimit_semver       → MAJOR/MINOR/PATCH/NONE + next version string\ndelimit_impact       → blast radius: scans your dependency manifest for downstream callers (informational)\n```\n\n**Settle the hard calls.** When the gate verdict is a judgment call, put it to multiple models and let them debate to consensus.\n\n```bash\nnpx delimit-cli deliberate \"Is dropping the deprecated v1 /users field a safe MINOR?\"\n#   tool: delimit_deliberate — 3 hosted runs after `delimit signin` (free account), then bring your own keys\n```\n\n`delimit setup` gives the Codex MCP server a 30-minute tool timeout so a\nmulti-round panel can return its completed transcript instead of being detached\nby the client while its models are still responding.\n\n**Capture the signed, replayable attestation.** After a gate event (deploy / security / test / audit), record the evidence bundle and verify it any time.\n\n```text\ndelimit_evidence_collect   → signed evidence bundle for the audit trail        (Pro)\ndelimit_evidence_verify    → confirm a bundle hasn't been tampered with         (Pro)\ndelimit_seal_verify        → check a Delimit Seal receipt against its bundled   (Free)\n                             Layer-0 constitution — offline-verifiable\n```\n\nEvery receipt is offline-verifiable with `npx delimit-cli seal-verify <receipt.json>`. Hosted receipt replay is not available yet.\n\n### 3. Context that survives sessions and models\n\nDecisions, constraints, and tasks persist across sessions and across AI assistants — switch from Claude Code to Codex, Cursor, or Gemini CLI without losing the thread.\n\n**Memory** — persist and recall the *why*, not just the diff.\n\n```bash\nnpx delimit-cli remember \"v1 /users field is frozen until Q3 — downstream billing depends on it\"\n#   tool: delimit_memory_store\nnpx delimit-cli recall billing               # local recall over your saved memories (Free)\n```\n\nFor semantic recall by meaning across sessions, the assistant calls `delimit_memory_search` (Pro) directly.\n\n**Ledger** — one task list, shared across every assistant and session.\n\n```text\ndelimit_ledger_add        → record a task/bug/feature/strategic item\ndelimit_ledger_context    → session-start: top open items by priority (what's queued)\ndelimit_ledger_done       → close with a note (auto-captures a PR URL as ship proof)\n```\n\nThat's the loop: gate the change, sign the proof, keep the context. Run it once on a real spec and you've used the whole merge gate.\n\n---\n\n## Think and Build\n\nBeyond the merge gate, Delimit orchestrates multi-model deliberation and autonomous builds. `delimit think` dispatches a strategic question to Claude, Codex, Gemini, and Grok; `delimit build` activates a background daemon that executes ledger tasks through the gate chain. `delimit vault` manages local secrets (AES-256).\n\nWorks across any configuration, from a single model on a budget to a full panel.\n\n---\n\n## Try it in 2 minutes\n\n```bash\nnpx delimit-cli doctor            # 14 prescriptive checks — tells you exactly what to fix\nnpx delimit-cli status            # Visual dashboard of your entire governance setup\nnpx delimit-cli simulate          # Dry-run: see what would be blocked before you commit\nnpx delimit-cli scan              # Instant health grade for your API spec\nnpx delimit-cli try owner/repo    # Try governance on any GitHub repo\n```\n\nNo API keys. No account. No config files.\n\n### Pick your first win\n\n**Protect my API** — catch breaking changes before merge:\n```bash\nnpx delimit-cli try\n# Creates a sample API, introduces breaking changes, shows what gets blocked.\n# Saves a governance report to delimit-report.md\n```\n\n**Watch for drift** — detect spec changes without review:\n```bash\nnpx delimit-cli init        # Sets up governance + drift baseline\n# Weekly drift checks run automatically via GitHub Action\n```\n\n**Run PR copilot** — governance gates on every pull request:\n```yaml\n# .github/workflows/api-governance.yml\n- uses: delimit-ai/delimit-action@v1\n  with:\n    spec: api/openapi.yaml\n# Posts gate status, violations, and remediation in PR comments\n```\n\n---\n\n## What's New\n\n*Gate every AI-assisted invocation. Ship the receipts.*\n\n- **`delimit wrap`** — pipe `claude -p`, `cursor`, `aider`, `codex`, or any AI-assisted CLI through a signed governance gate. Snapshots the git diff before/after, runs lint + tests, HMAC-signs an `att_*` attestation, and writes the receipt locally for offline verification. Advisory by default; `--enforce` blocks CI on policy violations; `--max-time <s>` is a kill switch that tags the attestation as a `liability_incident` and prints a cross-model handoff command.\n- **`delimit trust-page`** — renders a directory of attestations into a static HTML trust page + JSON Feed 1.1 feed. Single file, no framework, offline-renderable. Deploy anywhere.\n- **`delimit ai-sbom`** — aggregates attestations into a CycloneDX 1.6 bill-of-materials with AI-specific fields (detected models per vendor, tool-call surface, policy gate counts). Pipe straight into procurement.\n- **Cross-model by construction** — `wrap` is agnostic to the producer. Same attestation schema whether the pipe upstream is Claude Code, Cursor, Aider, Codex, or Gemini CLI. Switch producers without losing the audit chain.\n\n```bash\n# Gate any AI-assisted CLI\ndelimit wrap -- claude -p \"add tests for payments\"\n#   → att_7d556843c84fb881 signed, receipt written locally\n\n# Kill switch + handoff after 60s wall-clock\ndelimit wrap --max-time 60 -- cursor edit \"refactor auth middleware\"\n#   → if killed: kind=liability_incident\n#   → suggested: delimit wrap -- claude -p \"refactor auth middleware\"\n\n# Render accumulated attestations as a public trust page\ndelimit trust-page -o ./trust\n#   → ./trust/index.html (+ feed.json)\n\n# Build a CycloneDX-AI bill of materials\ndelimit ai-sbom -o ./ai-sbom.json\n#   → components: 4 models detected, 187 gates run\n```\n\n## Earlier releases\n\n*The highest state of AI governance — earlier features still active.*\n\n- **`delimit doctor`** -- 14 prescriptive diagnostics. Every failure prints the exact command to fix it. `--ci` for pipelines, `--fix` for auto-repair.\n- **`delimit simulate`** -- policy dry-run. See what would be blocked before you commit. The `terraform plan` for API governance.\n- **`delimit status`** -- visual terminal dashboard. Policy, specs, hooks, CI, MCP, models, memory, ledger, evidence, git branch. `--watch` for live refresh.\n- **`delimit report`** -- governance report. `--since 7d --format md|html|json`. Audit-friendly output for PRs and compliance.\n- **Memory hardening** -- SHA-256 integrity hash + source model tag on every `remember`. Cross-model trust, verified on every `recall`.\n- **Tag-based publishing** -- automated gateway sync, no more version drift between source and npm bundle.\n\n### Multi-Model Deliberation\n\nRun your question through 4 AI models simultaneously. They debate each other until unanimous agreement.\n\n```bash\ndelimit deliberate \"Should we build rate limiting in-house or use a managed service?\"\n```\n\n```\n  Round 1 (independent):\n    Claude:  Build in-house. Redis sliding window is 50 lines.\n    Gemini:  Build. You already have Redis.\n    Codex:   Agree — but add circuit breaker for Redis failures.\n    Grok:    Build. Managed service costs $200/mo for 50 lines of code.\n\n  Round 2 (deliberation):\n    All models: AGREE\n\n  UNANIMOUS CONSENSUS (2 rounds, confidence 94/100)\n  Build rate limiting in-house with Redis + circuit breaker.\n```\n\n3 free deliberations, then BYOK for unlimited. Works with Grok, Gemini, Claude, GPT-4o.\n\n### v4.18\n\n- **MCP Registry record published on every release** -- the official registry entry now tracks the npm version automatically. Publisher pinned and checksum-verified; the tag gate asserts that both `server.json` version fields match the package version.\n- **Tool descriptions** -- 16 previously undocumented parameters documented from their signatures; 26 Pro-gated tools state the prerequisite and the unlicensed-call response.\n- **Release guards** -- bundle-classification guard no longer flakes on SIGPIPE.\n\n### v4.17\n\n- **Cross-model continuity on fresh installs** -- `delimit_soul_capture` / `delimit_revive` work without any internal modules via the public `session_continuity` module; captured souls carry deterministic provenance (venture, transcript identity, capture key) for reliable resume across model switches. Existing soul files load unchanged.\n- **Security audit** -- fewer false positives on test fixtures and documentation dummies; suppressed findings are reported, never silently dropped.\n\n### v4.16\n\n- **Fail-closed bundle allowlist** -- the npm package ships only explicitly reviewed gateway files; two CI guards block any unclassified or non-allowlisted file from entering the tarball.\n- **Session-end auto-capture** installs in the settings shape Claude Code expects, so end-of-session handoff fires instead of being silently dropped.\n- **Always-on commit-author audit** workflow catches identity drift on the repo.\n\n### v4.1\n\n- **TUI** -- terminal-native Ventures panel, real `delimit think` and `delimit build` commands\n- **Security hardening** -- notify.py stubbed in npm, axios pinned against supply chain attacks\n- **Free tier restructure** -- deliberations use Gemini Flash + GPT-4o-mini (cost: <$20/mo)\n- **Zero-config onboarding** -- auto-detect framework, scan, and first evidence in one command\n- **Auto-approve tools** -- `delimit setup` configures permissions for Claude Code, Codex, and Gemini CLI\n\n### v4.0\n\n- **Toolcard Delta Cache** -- SHA256 schema hashing, delta-only transmission, saves tokens\n- **Session Phoenix** -- cross-model session resurrection with soul capture\n- **Handoff Receipts** -- structured acknowledgment protocol between agents\n- **Cross-Model Audit** -- 3 lenses (security, correctness, governance) with deterministic synthesis\n- **4-model deliberation** -- Claude + Grok + Gemini + Codex debate until consensus\n- **Universal Swarm Triggers** -- \"Think and Build\", \"Keep building\", \"Ask Delimit\"\n- **Full governance toolkit** -- lint, diff, policy, evidence, drift, attestation, and swarm orchestration exposed as MCP tools and CLI subcommands\n\n---\n\n## GitHub Action\n\nZero-config -- auto-detects your OpenAPI spec:\n\n```yaml\n- uses: delimit-ai/delimit-action@v1\n```\n\nOr with full configuration:\n\n```yaml\nname: API Contract Check\non: pull_request\n\njobs:\n  delimit:\n    runs-on: ubuntu-latest\n    permissions:\n      pull-requests: write\n    steps:\n      - uses: actions/checkout@v4\n        with:\n          fetch-depth: 0\n      - uses: delimit-ai/delimit-action@v1\n        with:\n          spec: api/openapi.yaml\n```\n\nThat's it. Delimit auto-fetches the base branch spec, diffs it, and posts a PR comment with breaking changes, semver classification, migration guides, and governance gate results.\n\n[View on GitHub Marketplace](https://github.com/marketplace/actions/delimit-merge-gate-for-ai-written-code) | [See a live demo (23 breaking changes)](https://github.com/delimit-ai/delimit-action-demo/pull/2)\n\n### Example PR comment\n\n> **Breaking Changes Detected**\n>\n> | Change | Path | Severity |\n> |--------|------|----------|\n> | endpoint_removed | `DELETE /pets/{petId}` | error |\n> | type_changed | `/pets:GET:200[].id` (string -> integer) | warning |\n> | enum_value_removed | `/pets:GET:200[].status` | warning |\n>\n> **Semver**: MAJOR (1.0.0 -> 2.0.0)\n>\n> **Migration Guide**: 3 steps to update your integration\n>\n> ### Governance Gates\n> | Gate | Status | Chain |\n> |------|--------|-------|\n> | API Lint | Pass/Fail | lint -> semver -> gov_evaluate |\n> | Policy Compliance | Pass/Fail | policy -> evidence_collect |\n> | Security Audit | Pass | security_audit -> evidence_collect |\n> | Deploy Readiness | Ready/Blocked | deploy_plan -> security_audit |\n\n---\n\n## Adopt with minimum privilege\n\nYou don't have to trust a large tool surface on day one. The safe on-ramp:\n\n**Phase 1 — read-only governance (free, no account).** Start with the tools that\nonly read your repo and write reports: `delimit_lint`, `delimit_diff`,\n`delimit_semver`, `delimit_policy`, `delimit_explain`, `delimit_scan`, and\n`delimit_seal_verify`. If your MCP client supports per-tool allowlists, grant\nexactly those. Nothing in this set executes, deploys, or posts anywhere.\n\n**Phase 2 — opt into side effects deliberately.** Tools that write evidence\nbundles, open PR comments, or run deploys (`delimit_security_audit`,\n`delimit_deploy_*`, agent orchestration) are tier-gated; enable them once\nphase 1 has earned its keep in your CI.\n\n**Pin the Action to a commit SHA.** `@v1` is a floating tag. For\nsupply-chain-sensitive pipelines, pin the exact commit and bump on review:\n\n```yaml\n- uses: delimit-ai/delimit-action@<commit-sha>   # gh api repos/delimit-ai/delimit-action/git/refs/tags/v1\n```\n\n**Keep BYOK keys out of plaintext config.** If you bring your own model keys\nfor deliberation, store them with `delimit_secret_store` (encrypted vault,\naccess-logged via `delimit_secret_access_log`) rather than in dotfiles.\n\nOur own releases ship under the same discipline: every release carries a\nsigned, replayable Seal receipt (see the latest\n[release assets](https://github.com/delimit-ai/delimit-mcp-server/releases) —\nverify with `npx delimit-cli seal-verify <receipt.json>`), plus SLSA\nprovenance on npm.\n\n---\n\n## CLI commands\n\n```bash\nnpx delimit-cli scan                             # Instant spec health grade + recommendations\nnpx delimit-cli pr owner/repo#123                # Review any GitHub PR for breaking changes\nnpx delimit-cli quickstart                       # Clone demo project + guided walkthrough\nnpx delimit-cli try                              # Zero-risk demo — saves governance report\nnpx delimit-cli demo                             # Self-contained governance demo\nnpx delimit-cli init                             # Guided wizard with compliance templates\nnpx delimit-cli init --preset strict             # Initialize with strict policy\nnpx delimit-cli setup                            # Install into all AI assistants\nnpx delimit-cli setup --dry-run                  # Preview changes first\nnpx delimit-cli lint api/openapi.yaml            # Check for breaking changes\nnpx delimit-cli diff old.yaml new.yaml           # Compare two specs\nnpx delimit-cli explain old.yaml new.yaml        # Generate migration guide\nnpx delimit-cli check                            # Pre-commit governance check\nnpx delimit-cli check --staged --fix             # Check staged files + show guidance\nnpx delimit-cli hooks install                    # Install git pre-commit hook\nnpx delimit-cli hooks install --pre-push         # Also add pre-push hook\nnpx delimit-cli ci                               # Generate GitHub Action workflow\nnpx delimit-cli ci --strict --dry-run            # Preview strict workflow\nnpx delimit-cli remember \"Redis uses JWT 15min\"   # Save a persistent memory\nnpx delimit-cli recall redis                     # Search memories\nnpx delimit-cli recall                           # Show recent memories\nnpx delimit-cli recall --tag deploy --all        # Filter by tag, show all\nnpx delimit-cli recall --export                  # Export as markdown\nnpx delimit-cli forget abc123                    # Delete a memory by ID\nnpx delimit-cli models                            # Configure deliberation API keys (BYOK wizard)\nnpx delimit-cli models --status                   # Show current model config\nnpx delimit-cli status                           # Compact dashboard of your Delimit setup\nnpx delimit-cli doctor                           # Check setup health\nnpx delimit-cli uninstall --dry-run              # Preview removal\nnpx delimit-cli wrap -- claude -p \"...\"          # Gate any AI-assisted CLI + signed attestation\nnpx delimit-cli wrap --max-time 60 -- codex \"...\"# With kill switch + handoff on timeout\nnpx delimit-cli trust-page -o ./trust            # Render attestations into a static trust page\nnpx delimit-cli ai-sbom -o ./ai-sbom.json        # Build a CycloneDX-AI bill of materials\n```\n\n### What the MCP toolkit adds\n\nWhen installed into your AI coding assistant, Delimit provides tools across two tiers:\n\n#### Free (no account needed)\n\n- **API governance** -- lint, diff, policy enforcement, semver classification\n- **Persistent ledger** -- track tasks across sessions, shared between all AI assistants\n- **Zero-spec extraction** -- generate OpenAPI specs from FastAPI, Express, or NestJS source\n- **Project scan** -- auto-detect specs, frameworks, security issues, and tests\n- **Quickstart** -- guided first-run that proves value in 60 seconds\n\n#### Pro\n\n- **Multi-model deliberation** -- AI models debate until they agree (free: Gemini Flash + GPT-4o-mini; BYOK: any models)\n- **Security audit** -- dependency scanning, secret detection, SAST analysis\n- **Test verification** -- confirms tests ran, measures coverage, generates new tests\n- **Memory & vault** -- persistent context and encrypted secrets across sessions\n- **Evidence collection** -- governance audit trail for compliance\n- **Deploy pipeline** -- governed build, publish, and rollback\n- **OS layer** -- agent identity, execution plans, approval gates\n\n---\n\n## What It Detects\n\n28 change types (17 breaking, 11 non-breaking) -- deterministic rules, not AI inference. Same input always produces the same result.\n\n### Breaking Changes\n\n| # | Change Type | Example |\n|---|-------------|---------|\n| 1 | `endpoint_removed` | `DELETE /users/{id}` removed entirely |\n| 2 | `method_removed` | `PATCH /orders` no longer exists |\n| 3 | `required_param_added` | New required header on `GET /items` |\n| 4 | `param_removed` | `sort` query parameter removed |\n| 5 | `response_removed` | `200 OK` response dropped |\n| 6 | `required_field_added` | Request body now requires `tenant_id` |\n| 7 | `field_removed` | `email` dropped from response object |\n| 8 | `type_changed` | `id` went from `string` to `integer` |\n| 9 | `format_changed` | `date-time` changed to `date` |\n| 10 | `enum_value_removed` | `status: \"pending\"` no longer valid |\n| 11 | `param_type_changed` | Query param `limit` changed from `integer` to `string` |\n| 12 | `param_required_changed` | `filter` param became required |\n| 13 | `response_type_changed` | Response `data` changed from `array` to `object` |\n| 14 | `security_removed` | OAuth2 security scheme removed |\n| 15 | `security_scope_removed` | `write:pets` scope removed from OAuth2 |\n| 16 | `max_length_decreased` | `name` maxLength reduced from 255 to 100 |\n| 17 | `min_length_increased` | `code` minLength increased from 1 to 5 |\n\n### Non-Breaking Changes\n\n| # | Change Type | Example |\n|---|-------------|---------|\n| 18 | `endpoint_added` | New `POST /webhooks` endpoint |\n| 19 | `method_added` | `PATCH /users/{id}` method added |\n| 20 | `optional_param_added` | Optional `format` query param added |\n| 21 | `response_added` | `201 Created` response added |\n| 22 | `optional_field_added` | Optional `nickname` field added to response |\n| 23 | `enum_value_added` | `status: \"archived\"` value added |\n| 24 | `description_changed` | Updated description for `/health` endpoint |\n| 25 | `security_added` | API key security scheme added |\n| 26 | `deprecated_added` | `GET /v1/users` marked as deprecated |\n| 27 | `default_changed` | Default value for `page_size` changed from 10 to 20 |\n| 28 | `field_requirement_relaxed` | Required field `nickname` became optional (context-aware severity) |\n\n---\n\n## Policy presets\n\n```bash\nnpx delimit-cli init --preset strict    # All violations are errors\nnpx delimit-cli init --preset default   # Balanced (default)\nnpx delimit-cli init --preset relaxed   # All violations are warnings\n```\n\nOr write custom rules in `.delimit/policies.yml`:\n\n```yaml\nrules:\n  - id: freeze_v1\n    name: Freeze V1 API\n    change_types: [endpoint_removed, method_removed, field_removed]\n    severity: error\n    action: forbid\n    conditions:\n      path_pattern: \"^/v1/.*\"\n    message: \"V1 API is frozen. Changes must be made in V2.\"\n```\n\n---\n\n## Supported formats\n\n- OpenAPI 3.0 and 3.1\n- Swagger 2.0\n- YAML and JSON\n\n---\n\n## FAQ\n\n**How does this compare to Obsidian Mind?**\n\nObsidian Mind is a great Obsidian vault template for Claude Code users who want persistent memory via markdown files. Delimit takes a different approach: it's an MCP server that works across Claude Code, Codex, Gemini CLI, and Cursor. Your memory, ledger, and governance travel with you when you switch models. Delimit also adds API governance (28-type breaking change detection), CI gates, git hooks, and policy enforcement that Obsidian Mind doesn't cover. Use Obsidian Mind if you're all-in on Claude + Obsidian. Use Delimit if you switch between models or need governance.\n\n**Does this work without Claude Code?**\n\nYes. Delimit works with Claude Code, Codex (OpenAI), Gemini CLI (Google), and Cursor. The `remember`/`recall` commands work standalone with zero config. The MCP server integrates with any client that supports the Model Context Protocol.\n\n**Is this free?**\n\nThe free tier includes API governance, persistent memory, zero-spec extraction, project scanning, and 3 multi-model deliberations. Pro ($10/mo) adds unlimited deliberation, security audit, test verification, deploy pipeline, and agent orchestration. Premium ($50-100/mo) adds priority support and team features. Enterprise is custom: see [delimit.ai/pricing](https://delimit.ai/pricing).\n\n---\n\n## Telemetry & cloud sync\n\n**Short version: none by default.** Nothing leaves your machine unless you explicitly configure it.\n\n**What's always local (source of truth):**\n- `~/.delimit/events/events-YYYY-MM-DD.jsonl` — per-tool-call events (tool name, timestamp, status, model id, session id, trace id). No source code, no prompts, no responses.\n- `~/.delimit/ledger/` — your ledger items, work orders, deliberation transcripts.\n- `~/.delimit/attestations/` — `delimit wrap` output bundles.\n\n**What's OPT-IN (requires you to provide your own Supabase project credentials):**\n- `gateway/ai/supabase_sync.py` mirrors the local event + ledger + work-order + deliberation rows into a Supabase project *you own* so you can view them in `app.delimit.ai`. **It only activates if you set `SUPABASE_URL` + `SUPABASE_SERVICE_ROLE_KEY` environment variables OR provide `~/.delimit/secrets/supabase.json` with those credentials.** No URL or key is hardcoded in the published package (verify with `grep -r aqbdqxnhzqzswdxifksc $(npm root -g)/delimit-cli/` — zero hits).\n- Data scope when enabled: metadata only (tool names, timestamps, IDs, statuses, venture tags). Never source code, prompts, or model responses.\n\n**Kill switch:**\nSet `DELIMIT_DISABLE_CLOUD_SYNC=1` in your environment to force all sync operations to no-op even if credentials are present. Local files continue to work normally.\n\n```bash\n# Disable cloud sync for a single invocation\nDELIMIT_DISABLE_CLOUD_SYNC=1 delimit lint api/openapi.yaml\n\n# Disable for the shell session\nexport DELIMIT_DISABLE_CLOUD_SYNC=1\n```\n\n**Webhook notifications:**\n`gateway/ai/notify.py` emits governance events to a webhook endpoint *only if* you configure `DELIMIT_WEBHOOK_URL` explicitly. Unset by default.\n\nIf you spot another code path that could phone home without disclosure, file an issue. This section is maintained as ship-truth, not aspirational.\n\n---\n\n## Links\n\n- [delimit.ai](https://delimit.ai) -- homepage\n- [Dashboard](https://app.delimit.ai) -- governance console\n- [Docs](https://delimit.ai/docs) -- full documentation\n- [GitHub Action](https://github.com/marketplace/actions/delimit-merge-gate-for-ai-written-code) -- Marketplace listing\n- [Quickstart](https://github.com/delimit-ai/delimit-mcp-server) -- try it in 2 minutes\n- [npm](https://www.npmjs.com/package/delimit-cli) -- CLI package\n- [Pricing](https://delimit.ai/pricing) -- free tier + Pro\n\nMIT License\n",
  "bytes": 29983,
  "sha": "3ea729e100be4dd070568c6f2d251a2d07b50014eeac72f6c489093eeb728141",
  "repo_slug": "delimit-ai/delimit",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_delimit_ai_delimit_5eeee3e4/readme"
}