Skip to content New in 7.0 — edit-time enforcement: the same ten checks now run before an edit lands. See how

design-fleet 7.0.1 on npm

Design contracts your agents can’t drift from.

The complete toolkit to contract, build, and review UI with your agent — a machine-checkable VISION.md, a deterministic lint that blocks bad edits before they land, and a taste judge that must prove itself before it may gate. For Cursor and Claude Code.

$ npx design-fleet init --target=both
[ THE SCREEN ]
[ THE CONTRACT ]
## Tokens
--brand: oklch(55% 0.19 42)
--ink:   oklch(22% 0.006 80)
## Motion
press 150ms · modal 200ms · ease-out
## Error copy
“We couldn’t save your changes —
 check your connection and try again.”
[ THE VERDICT ]
$ npx design-fleet lint src/
✗ src/pricing.css — 3 violations
  T1  “Arial” as the primary font
  V5  #ffffff ground, #000000 text
  V7  padding: 13px — off the scale
agent fixes the values, retries…
✓ exit 0 — all checks passed
  • 10rules
  • 4skills
  • 10lint checks
  • 1contract

The same screen, with and without the fleet.

The pricing page every agent ships on autopilot. Drag the divider to wipe the governed version across it. The readout is real: npx design-fleet lint exits 1 on the before and 0 on the after, and design-review adds what no regex can check.

exit 15 checks fail
/pricing — before

Pricing

Choose the plan that works for you!

Starter

For individuals

$9
Pro

For teams

$29
Team

For companies

$99

Questions? Click here to learn more!

Pricing

Start free. Upgrade when the work does.

Starter

For individuals

$9 /mo
Recommended
Pro

For teams

$29 /mo
Team

For companies

$99 /mo

Every plan includes all core features for 14 days.

The other checks catch the rest of the autopilot repertoire — side-tab borders, overshoot easing, the stock “premium” palette. The full list is in the docs; the whole loop is on the system page.

Measured, not asserted.

Every claim runs through the eval harness with an independent judge — different models; the harness refuses to self-grade. What the fleet promises, it measures.

[ THE CONTRACT, ENFORCED ]

Hygiene stays sane. The contract pins your tokens, type ramp, exact error copy and timings; the deterministic lint enforces them in CI and exits 1 on drift; reconcile catches the doc drifting from reality. Hard rails, not vibes.

[ THE ADMISSION RULE ]

Knowledge that's actually knowledge. New content needs a failing cold-baseline eval to get in. What the model already does is cut; what it reliably misses is kept sharp.

[ NATIVE PER PLATFORM ]

The harness is proper. Cursor gets real .mdc rules; Claude Code gets launch-loaded paths:-scoped rules that survive compaction; the contract is wired by the CLI, never hand-glue.

[ BUILDER SKILL, JUDGED BLIND ]

+41pp

placebo-controlled · judge noise 1.6pp

[ THE TASTE GATE ]

0.38

the critique may only gate once it separates good from slop by this margin

[ THE ADMISSION LEDGER — 7.0 RUNS ]

knowledge itemcoldfleetΔverdict
burned-font trap — the “alternatives to Inter” that became the new tells20%80%+60ppadmitted
flip test — features disguised as outcome goals44%100%+56ppadmitted
gesture physics — velocity handoff, rubber-banding67%94%+28ppadmitted
@starting-style entry animations42%67%+25ppadmitted
size-specific tracking & inverse leading100%0ppretired

the gate rejects our own content: a 100% cold baseline never ships. Full ledger: ABSORPTION.md in the repo.

Four agents own the loop.

Install once and your existing agent — not a separate bot — gains four roles that never grade their own work. Every role's uplift is measured against a cold frontier model by an independent judge.

  1. 01 · Contract

    design-contract

    Interviews you for taste once, audits the codebase, and writes VISION.md — the rails every edit must respect.

    +29pp measured
  2. 02 · Build

    frontend-design

    Ships distinctive, production-grade UI inside the rails — and owns motion: easing, springs, gesture physics, View Transitions.

    +41pp measured
  3. 03 · Review

    design-review

    Two altitudes, never blended: a deterministic lint floor that exits 1, and a taste critique that may only gate once calibrated.

    +39pp measured
  4. On demand · Vocabulary

    animation-vocabulary

    The namer: “the bouncy thing when a popover opens” → Pop in — so your next prompt asks for exactly the right motion.

    +22pp measured

VISION.md design-taste package defaults — the contract wins wherever it speaks

The gate runs before the edit lands.

New in 7.0, experimental and opt-in: a Claude Code PreToolUse hook runs the same ten checks against proposed file content — and blocks writes that would introduce new violations. Pre-existing debt never blocks an unrelated edit.

agent session
tool: Write · src/components/Card.css
✗ blocked (exit 2) — 2 new violations
  V7  padding: 13px — off the spacing scale
  V1  box-shadow: rgba(0,0,0,.4) — pure black
agent fixes the values, retries…
✓ write allowed — no new violations

New violations only. Findings are compared against the file's prior state — legacy debt never blocks an unrelated edit.

Fail-open, by design. Malformed input, a crash, a timeout — every error path allows the write. A hook bug must never block work.

Loop-breaker. Three identical denials downgrade to a warning. The agent can't get stuck arguing with a regex.

node node_modules/design-fleet/bin/hook.mjs --install · hook docs

Start governing today.

Five minutes to install, five more to understand — 10 rules, 4 skills, a deterministic lint and a machine-checkable contract, for Cursor and Claude Code.

$ npx design-fleet init --target=both
Read the docs