decivo Accord · Open source, MIT
One source of truth for your design. In Figma, in code and for agents.
decivo Accord keeps colours, spacing, components and the rules behind them in a register inside your repository. When someone changes a value in Figma, Pencil, Claude Design or code, it becomes a proposal. What is safe goes through. The rest is decided by the person who owns that property. Coding agents read the same register and check themselves before every commit.
$ accord check src/components/Card.tsx
check_change: 1 violation(s), 1 must – fix before committing.
D-001 (must): No hard-coded colours in components
Why: Only then do register changes apply everywhere,
and agents do not invent colours.
src/components/Card.tsx:12:31 #3c6681 → color.brand (var(--brand))Sync, or decide.
Sync tools copy values back and forth, and whoever writes last wins. Accord treats every change as a decision with an owner.
| Usual token sync | decivo Accord | |
|---|---|---|
| Source of truth | whichever tool wrote last | a register in Git, reviewed like code |
| A designer changes a value | copied into code, or overwritten from code | a proposal; safe changes go through, the rest goes to the owner |
| A new in-between shade | ships | breaks the rule “every new colour is a decision”; design decides |
| A variable deleted in Figma | disappears from the code | deletions and breaking changes always need a person, fixed in the code |
| Both sides changed | last write wins | three-way comparison against the last agreed state |
| Coding agents | guess from the code | read tokens, contracts and decisions with their reasons over MCP |
How it works.
Accord starts from what you already have. Nothing is uploaded; the register lives next to your code.
Install
One command: npm install -g @decivo/accord-cli. Or run every command with npx.
Create the register
accord init takes what is there: CSS variables, Tailwind v4, shadcn/ui, token files, Figma or Pencil. Anything it cannot take over is listed as an open point, never dropped silently.
See the drift
accord diff compares register and code, accord figma status register and Figma, per context, light and dark.
Decide
Changes become proposals: adopt, reset or reject, on the command line or in the web app. Register, CSS and changelog change together.
Keep it that way
Agents check themselves with check_change. The GitHub Action checks every pull request and marks the line with the fix.
Four surfaces, one register.
Accord reads every surface and never writes into a design tool. Where a tool lags behind, status says so, and the people in that tool catch up.
Figma
.fig files read directly, without a plugin or Enterprise plan, plus Figma's DTCG export, Tokens Studio and other exports. Collections, modes and aliases.
Pencil
Variables, theme axes and hard-coded colours from .pen files.
Claude Design
Handoff bundles and the design-system project. accord design compares and resets each context.
Code
CSS variables, Tailwind v4 @theme, hard-coded colours and lengths in TS, JS and CSS, component contracts from shadcn/ui.
Every property has one owner.
If another side changes it, the owner gets a proposal, not a sync. Ownership lives in accord.config.yaml: a default per group, exceptions per token.
Design
Colour and type values, spacing, visual variants.
Code
Prop API, behaviour, states, accessibility in the implementation.
Register
Names, rules, deprecations, deletions and the ownership rules themselves.
$ accord figma propose
Proposal from Figma
Route: owner decides (decides: design)
Because: breaks a must rule
blue.600: #3c6681 → #2a5d7c [owner design]
✗ D-002 (must): Colours only from the registerAgents stop guessing from the code.
The MCP server gives any agent that speaks MCP the same register your team uses, with the reason behind every rule. No model is required; the checks are deterministic.
$ claude mcp add accord -- npx -y @decivo/accord-mcp --root .accord export also writes AGENTS.md, a block for CLAUDE.md and DESIGN.md, generated from the register.
- get_tokens
- Tokens with their CSS variables, per context.
- get_component_contract
- Variants, props, states and slots of a component.
- get_decisions
- The rules, each with its why and fix.
- check_change
- Checks a change before the commit and returns violations with the fix.
Try it in your own repository.
Start with a dry run: it shows what Accord finds and would write, without changing anything.
npm install -g @decivo/accord-cli
accord init --dry-run
accord init
accord diff- Version
- 0.1.0
- Licence
- MIT
- Requirements
- Node.js 22+, git
Frequently asked questions.
What does Accord cost?
Nothing. Accord is open source under the MIT licence, including commercial use. You only pay if you hire us to set it up.
Do I need a Figma Enterprise plan?
No. Accord reads variables directly from a .fig file (in Figma: File, Save local copy) or from any common export, without a plugin and without the REST API.
Does Accord write back into Figma or Claude Design?
No. Accord never writes into a design tool. Where a tool lags behind the register, status shows it, and the people in that tool catch up.
What data leaves my machine?
None. Accord runs locally and in your CI. Only if you set your own webhook address in the GitHub Action does a report go there after each run: metadata only, never source code.
Do I need an AI model?
No. The checks run deterministically without a model. Agents use Accord through the MCP server; no provider is required.
Is there a hosted version?
Not yet. The web app for decisions runs locally and works directly on your repositories.
Which formats does Accord read?
DTCG 2025.10 and the older draft notation, Tokens Studio, CSS variables, Tailwind v4 @theme, shadcn/ui, Figma exports and .fig files, Pencil files and Claude Design handoffs. Light and dark are checked per context.
How mature is Accord?
Accord is young. It is tested against real design systems from public repositories: 13 Figma exports, 19 Pencil projects, .fig files, Tokens Studio and DTCG sets and Claude Design handoffs.
Want Accord set up in your team?
We set up the register, ownership rules and CI with you and bring Figma and code to one state. 30 minutes about your design system, no obligation.