CLI
dscheck init Detect the token source and propose a config (--write to save)dscheck check [paths...] Lint files (default: cwd) against the token setdscheck fix [paths...] Apply every exact-match fix, report what remainsdscheck baseline [paths...] Record current findings as accepted debt (--update: prune-only)dscheck report [paths...] Debt overview: counts by rule, worst files, vs baselinedscheck tokens [query] Print the allowed set (--json, --category, --doctor)dscheck roles --suggest Propose a roles.json from token namesdscheck explain <rule> What a rule flags, what it never flags, how to disabledscheck completions <shell> Completion script for fish, zsh, or bash
-v, --version Print the version--format pretty|json|agent|sarif Output format (default: pretty)--only <rule[,rule]> Report only these rules--severity error|warning Report only this severity--max-warnings <n> Fail when warnings exceed n--quiet Findings only, one per line, machine-friendly--ascii ASCII marks for terminals without ✔ ⚠ ✖--since <ref> Only lint files changed since a git ref--watch Re-lint files as they change--explain-skips Show what was deliberately not checked, and why--no-baseline Ignore .dscheck-baseline.jsonWhen nothing was checked
Section titled “When nothing was checked”A run that finds no design system, or no lintable files, exits 2 and says so — it is
never reported as a clean pass. Silence only means something when it means “checked, and
found nothing”:
no design system found — nothing was checked
Find it automatically: dscheck initOutput and terminals
Section titled “Output and terminals”Severity is carried by a glyph and a word, never colour alone. Output adapts to the
terminal width, and to not being a terminal: colour is dropped when piped (or under
NO_COLOR), progress is shown only on a TTY outside CI, and --ascii swaps the marks for
terminals that can’t render them.
agent— one JSON line per finding,fixfield first; built for model loops.sarif— SARIF 2.1.0 with stable fingerprints for GitHub code scanning.- Directories are expanded to
**/*.{css,scss,jsx,tsx}minusnode_modules/dist/.next. - Large runs are fanned out across CPU cores automatically (3,200-file repo ≈ 4s).
fixapplies only exact matches (identical values) —14pxis never rounded to12px; near-misses surface as one-click editor suggestions via the eslint plugin instead.- Exit codes:
0clean ·1error-severity findings (or--max-warningsexceeded) ·2usage error, invalid config, no design system, or nothing to check.