drag to rearrange · scroll to zoom · / to search · esc clears
Type what you'd say to your agent. Scoring mirrors npx design-fleet route: trigger matches per skill, with frontend-design as the fallback below the confidence bar.
Six skills, ten rules, a project contract, a goals loop, and a deterministic lint — installed into the agent you already drive (Cursor or Claude Code), not a separate bot.
npx design-fleet init # Cursor (default) npx design-fleet init --target=claude # Claude Code npx design-fleet init --target=both # Both
| Layer | What it is | Owner |
|---|---|---|
| Rules + skills | Generic design knowledge — strong defaults | The package |
design-taste | Your aesthetic profile from a 12-question onboarding | You (generated) |
VISION.md | Hard rails: tokens, type ramp, exact error copy, canonical layouts — and the Goals table | The project |
Precedence when they disagree: VISION.md > design-taste > package defaults.
Feedback lands in FEEDBACK.md. The design-vision skill (plan mode) distills it into proposed goals — checkable statements, not vibes. You promote them to active; agents build to the contract; npx design-fleet verify machine-checks every goal's recipe and exits 1 the day a met goal quietly regresses. The Patchboard tab plays the scenarios that make this concrete — including how a new color becomes a contract amendment and how a regression gets caught.
The always-on Reuse Gate (in design-intent) makes the agent search how the codebase already solves a problem — by the problem, not the feature name — before writing anything new. Re-deriving a pattern, even to the same answer, fragments the system. If an existing pattern is genuinely deficient, the move is to evolve it in the contract, never to silently fork a near-duplicate. See the “Reuse, don't reinvent” patchboard scenario.
npx design-fleet inventory generates COMPONENTS.md — an index of your exported components that gives the gate something concrete to search. Re-run it after adding a reusable component; it's generated, so it never goes stale by hand.
overflow: hidden ancestor amputates it. The rule ships the two-layer fix: outer carries shadow + radius, inner carries the clip.<!-- qd:lint-ignore --> section lists globs for files where raw literals are content, not styling (docs/gallery pages, preview art, demo fixtures). The lint skips them and reports the count — never silent. Build output (.next, dist, …) is skipped automatically.| Command | Does |
|---|---|
init / update / uninstall | Install, refresh, remove — never touches VISION.md |
route <query> | Preview which skill a request routes to |
vision --wire | Scaffold the contract + wire both platform pointers |
lint [path] | Deterministic design checks, vision-aware, CI-ready |
verify | Goals vs reality; regressions exit 1 |
inventory [dir] | Generate COMPONENTS.md — the index the Reuse Gate searches |
This site is generated from the package source — the Map's nodes come from the actual manifest, rules, references, content modules, lint engine, and CLI. GitHub →