vibe-test: scores 2026-08-10
vibe-test: scores 2026-08-09
vibe-test: scores 2026-08-08
vibe-test: scores 2026-08-07
Doc Reviewer: refresh all check paths for the CLI restructure The restructure relocated the CLI tree and several audit checks silently went dead (globbing paths that no longer exist, so passing on zero files): - Templates moved packages/cli/templates/ -> packages/cli/assets/templates/ (614 block + 43 page docs). Checks 3/6/7/8/9/10/11 globbed the empty old path and were passing on nothing. - Reference docs moved packages/cli/docs/ -> packages/cli/assets/docs/. - src/ split: docs loader -> api/docs/docs.mjs; component-loader -> foundation/discovery/; docOverlays.test -> api/docs/; bin -> clients/cli/bin/astryx.mjs. - Check 18 config/README drift: the Zod schemas are now module-PRIVATE (const configSchema / const integrationSchema) split across authoring/config/parse.mjs + authoring/integration/parse.mjs, not the old exported names in src/lib/. Rewrote the audit to read both files and match the private names. Verified against current main: block globs resolve (614+43 files) and the config drift audit reads real schema keys instead of empty sets.
Update template asset guidance
vibe-test: scores 2026-08-04 (backfill)
vibe-test: scores 2026-08-06
Split reorder visuals into drag and drop rows
Clarify transient reorder opacity exception
Document reorder interaction state
Night Watch: catch docs that name things which do not exist Generalizes the useToggle finding. That bug was not "an example broke" but "a doc named a subject that does not exist" — a hook, component, topic, or template that was renamed or never existed, inside an otherwise valid command. Records the method, because the obvious approach is wrong: extracting `astryx <cmd> <subject>` by regex and checking the subject against --list was tried and produced 8 false findings out of 11. Aliases still resolve (`component XDSButton` is absent from --list but exits 0 and prints the Button doc), and ordinary prose matches the pattern ("...only contains astryx component strings."). Executing the invocation settles both, and is what caught useToggle. Also notes that a subject resolving only through a legacy alias is a softer finding: it works, but it teaches the old name. Co-authored-by: Cursor <cursoragent@cursor.com>
Night Watch: run the CLI's documented examples, and stop hand-writing .d.mts Check 19 had gone stale against main and was missing the one CLI check that finds real rot. - Examples: every CommandDoc carries `examples` and nothing ever executed them. The drift harness compares flags and args, so an example naming a subject that does not exist looks valid. Running them turned up `astryx hook useToggle --json`, which fails with ERR_UNKNOWN_HOOK — shipped in `astryx manifest --json`, which agents read. Adds a runnable script, plus the gotcha that the sandbox cwd must be inside the repo or core resolution fails and every example reports as broken. - Structure: the doc-type quartet is a trio now. parse.d.mts is generated, so the check no longer asks for it — and an agent must never hand-write one to satisfy a missing-declaration error. Points at sync:api-types and the published-surface verifier instead. - Layering: notes that the import directions and defineCommand registration are ESLint errors now, not things to eyeball. Co-authored-by: Cursor <cursoragent@cursor.com>
Night Watch: correct the CLI doc checks (check 19) The golden harness is a local-only verification tool, not committed, so the Doc Reviewer instructions pointed at `pnpm -F @astryxdesign/cli golden:check`, a script that does not exist. Replace it with the checks that do ship: the drift harness and `pnpm check:cli-structure`. Also: `--help` is now generated from each CommandDoc via defineCommand, so note that editing a command doc changes user-visible help and should be eyeballed; and stop claiming the docs already feed `astryx docs` and the doc site, which are still to come. Co-authored-by: Cursor <cursoragent@cursor.com>
vibe-test: scores 2026-08-05
Created Accessibility Checklist (markdown)
Doc Reviewer: cover the CLI's colocated docs (check 19) Co-authored-by: Cursor <cursoragent@cursor.com>
deadcode: fix packages/cli entry globs for clients/ + assets/docs layout The CLI moved to packages/cli/clients/cli/{bin,index,commands,lib} and docs to packages/cli/assets/docs. The old entry patterns (cli/commands, docs/) no longer matched, so knip reported ~50 CLI command and doc-variant .mjs files as unused. Point the entry globs at the current layout.
Release-Process: codemods stage in transforms/next/ (auto-promoted at version time)
deadcode: ignore packages/cli/assets/templates (correct path) The ignore list had packages/cli/templates/** but the CLI template scaffolding lives under packages/cli/assets/templates/**, so ~450 standalone .doc.mjs block templates were reported as unused files on every run. Point the ignore at the real path.
vibe-test: scores 2026-08-03
Add authoring principles for theming targets Document how to decide what theming targets to expose: target the element that carries styling, reflect state/size via themeProps rather than new targets, use one name and shape per concept across components, prefer inheritance over child targets, keep internal structure private, require a stated visual intent, and consolidate at the design level first.
Document extensible theme prop maps
vibe-test: scores 2026-08-02
vibe-test: scores 2026-08-01
vibe-test: scores 2026-07-31
vibe-test: scores 2026-07-30
vibe-test: scores 2026-07-29
vibe-test: scores 2026-07-28
deadcode: update cli entry globs to current api/lib/cli layout The CLI package restructured from src/ to top-level api/, lib/, cli/, authoring/. The stale src/index.mjs and src/commands/**/*.mjs entry globs no longer matched, so knip flagged the dynamically dispatched command files (loaded via the manifest in cli/index.mjs) and their exports as unused. Point the entry at cli/index.mjs and cli/commands/**/*.mjs so the command graph resolves. Drops 9 false-positive files and 13 exports.