The contract layer keeping design system teams and agents in sync.

So components stay consistent across Figma
and codebase when agents build them.

Join the waitlist
Try Primitiv on your codebase
$npx @ai-by-design/primitiv init

Compile

A contract that reconciles your sources

Primitiv reads from Figma, Storybook, and your codebase. Reconciles by your sourceOfTruth and onConflict rules. Writes one contract — your source of truth.

Figmavariables
Storybookcomponents
{ }
Codebasetokens / CSS
// primitiv.contract.json
{}
primitiv.rationale.yml
color.primary.old:
  deprecated: true
  why: "Replaced by color.brand in v2"
  alternatives: [color.brand]

Verify

CI-gate on drift.

Primitiv verify checks Figma, Storybook, and code on every commit. If contracts go stale or conflicts sit unresolved, it blocks PRs from merging.

fix/card-token-alignment#142primitiv verify
2 passed1 failed1 warning4 checks
primitiv/contract-checkpassed
primitiv/token-drift2 conflicts
primitiv/rationale-coverage1 missing rationale
primitiv/component-naming14/14 aligned
Merging blocked — 1 required check failedMerge pull request

Serve

Every agent by the same source of truth

Primitiv init writes the per-project config. Cursor, Claude Code, Codex, Windsurf, Zed or any MCP-speaking agent gets your design system contract before building, so they use the right token.

// primitiv.contract.json
{}
CursorIDE
Claude CodeCLI
CodexCLI
WindsurfIDE
ZedIDE

FAQ

Get started

Open source

Primitiv

Run locally. Reconcile Figma, tokens, and code. Free forever.

npx @ai-by-design/primitiv init
View on GitHub
Coming soon

Primitiv for teams

  • Shared contracts across repos
  • Governance + CI/CD enforcement
  • Multi-contributor workflows
Join the waitlist