Verification & release
The gates used to verify source, generated output, real consumer installs and documentation behavior.
Source contracts
npm run lint --prefix registry
npm run build --prefix registry
npm run sync:docs --prefix registry
npm test --prefix registry
npm run check:generated --prefix registry
npm run lint --prefix docs
npm run typecheck --prefix docs
npm run build --prefix docsRegistry tests verify dependency closure, documented examples, theme contracts and generated-source assumptions before browser work begins.
Generated equality
registry/registry.json, both public endpoint copies, theme CSS and bootstrap are source-derived.check:generatedrequires byte-equivalent generated output and matching item lists.- The final clean-generation step rejects tracked diffs and unexpected untracked files.
Consumer installation
- Aggregate scenarios cover fresh/existing Vite and Next.js projects, real shadcn installs, custom aliases and application-owned CSS/source preservation.
- The independent matrix derives every file-bearing item from the built catalog.
- Templates build in fresh Next.js projects; other items build independently in both Next.js and Vite.
- The independent matrix is sharded across three CI jobs to keep the release gate finite.
Browser verification
- Chromium, Firefox and WebKit exercise installed consumer interactions without documentation CSS.
- Documentation Playwright checks localized routes, light/dark layouts, mobile reflow, templates, charts and recovery states.
- Failure evidence is retained under
docs/test-resultsby CI artifacts.
Release boundaries
- A passing local or CI build does not claim shadcn directory approval or deployed-domain equivalence.
- Live-domain verification must match the exact deployed commit and public registry endpoints.
- License and attribution are a separate legal release gate; they are not inferred from repository ownership.