/design:smoke
Batch screenshot every UI canvas (`<designRoot>/ui/*.tsx`) + every preview specimen (`<designRoot>/system/*/preview/*.tsx`); flag blank iframes, visible error overlays, AND preview specimens that render UNSTYLED (lost their token CSS). Adds a static import-graph lint + a runtime computed-style gate on specimens. Exit non-zero on any failure. Catches the "build green ≠ user-visible green" class of regression that bypasses per-canvas hooks. See DDR-021 + DDR-068.
| Property | Value |
|---|---|
| Command | /design:smoke |
| Category | validate |
| Argument hint | [--include-system 0|1] [--timeout <secs>] [--out-dir <dir>] |
| Source | plugins/design/commands/smoke.md |
Description
Batch screenshot every UI canvas (<designRoot>/ui/*.tsx) + every preview specimen (<designRoot>/system/*/preview/*.tsx); flag blank iframes, visible error overlays, AND preview specimens that render UNSTYLED (lost their token CSS). Adds a static import-graph lint + a runtime computed-style gate on specimens. Exit non-zero on any failure. Catches the "build green ≠ user-visible green" class of regression that bypasses per-canvas hooks. See DDR-021 + DDR-068.
Invocation
/design:smoke [--include-system 0|1] [--timeout <secs>] [--out-dir <dir>]Summary
Wraps the bundled smoke.sh helper, invoked via maude design smoke (the on-PATH maude binary dispatches to it — DDR-062). Single source of truth lives in the helper; this command exists so you can invoke smoke as a slash, and so /flow:execute can call it as a phase-end gate.
Source of truth
/design:setup-ds
Create a new design system (first one, an additional one alongside an existing DS, or re-bootstrap an existing one with --force). Thin wrapper that loads skill `design-system` in bootstrap mode with the given target. Auto-invokes /design:init first if .design/config.json is missing.
/flow:done
Close out a feature — /validate gate (incl. cross-platform scenario) → DDR sweep → commit → push → PR → retro → archive