One workspace for every AI coding assistant. Shared tasks, memory, and governance.
</> DelimitUnify Claude Code, Codex, Cursor, and Gemini CLI with persistent context, governance, and multi-model debate.
Your tasks, memory, and governance carry between Claude Code, Codex, and Gemini CLI. Persistent ledger, API breaking change detection, security audit, multi-model deliberation — all shared across assistants.
Add to any repo with an OpenAPI spec:
name: API Contract Check
on: pull_request
jobs:
delimit:
runs-on: ubuntu-latest
permissions:
pull-requests: write
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- uses: delimit-ai/delimit-action@v1
with:
spec: api/openapi.yamlThat's it. Delimit auto-fetches the base branch spec, diffs it, and posts a PR comment with:
View on GitHub Marketplace → · See a live demo (23 breaking changes) →
Breaking Changes Detected
Change Path Severity endpoint_removed DELETE /pets/{petId}error type_changed /pets:GET:200[].id(string → integer)warning enum_value_removed /pets:GET:200[].statuswarning Semver: MAJOR (1.0.0 → 2.0.0)
Migration Guide: 3 steps to update your integration
Governance tools for AI coding assistants (Claude Code, Codex, Cursor, Gemini CLI):
npx delimit-cli setupNo API keys. No account. Installs in 10 seconds.
npx delimit-cli setup # Install into all AI assistants
npx delimit-cli setup --dry-run # Preview changes first
npx delimit-cli lint api/openapi.yaml # Check for breaking changes
npx delimit-cli diff old.yaml new.yaml # Compare two specs
npx delimit-cli explain old.yaml new.yaml # Generate migration guide
npx delimit-cli init --preset strict # Initialize policies
npx delimit-cli doctor # Check setup health
npx delimit-cli uninstall --dry-run # Preview removalWhen installed into your AI coding assistant, Delimit provides tools across two tiers:
10 categories of breaking changes:
| Change | Example |
|---|---|
| Endpoint removed | DELETE /users/{id} disappeared |
| HTTP method removed | PATCH /orders no longer exists |
| Required parameter added | New required header on GET /items |
| Field removed from response | email dropped from user object |
| Type changed | id went from string to integer |
| Enum value removed | status: "pending" no longer valid |
| Response code removed | 200 OK response dropped |
| Parameter removed | sort query param removed |
| Required field added to request | Body now requires tenant_id |
| Format changed | date-time changed to date |
Detection is deterministic — rules, not AI inference. Same input always produces the same result.
npx delimit-cli init --preset strict # All violations are errors
npx delimit-cli init --preset default # Balanced (default)
npx delimit-cli init --preset relaxed # All violations are warningsOr write custom rules in .delimit/policies.yml:
rules:
- id: freeze_v1
name: Freeze V1 API
change_types: [endpoint_removed, method_removed, field_removed]
severity: error
action: forbid
conditions:
path_pattern: "^/v1/.*"
message: "V1 API is frozen. Changes must be made in V2."MIT License