@@ -10,21 +10,19 @@ CI therefore validate the same package boundary used by GitHub Pages.
1010
1111- ` npm run dev ` starts the Vite development server.
1212- ` npm run build ` builds the client and runs ` askr ssg ` into ` dist/ ` .
13- - ` npm run docs:api ` refreshes the published declaration snapshot.
14- - ` npm run docs:cli ` refreshes the installed CLI command snapshot.
15- - ` npm run verify:static ` validates the generated route, markup, and assets.
1613- ` npm run fmt:check ` checks formatting without changing files.
17- - ` npm test ` verifies the generated static output after a build.
14+ - ` npm test ` runs the unit and generated- output contract tests after a build.
1815- ` npm run preview ` serves ` dist/ ` with ` vp preview --outDir dist ` .
19- - ` npm run check ` runs lint, typecheck, build, and static verification.
16+ - ` npm run check ` runs formatting, lint, typecheck, tests, and the production
17+ build.
2018
2119## Architecture
2220
2321- ` src/pages/marketing/_layout.tsx ` owns the marketing shell and shared Askr
2422 branding.
25- - ` src/pages/_routes.tsx ` owns the complete docs and SSG route registry, while
26- ` src/pages/marketing/_routes.tsx ` owns the smaller browser registry used by
27- marketing pages .
23+ - ` src/pages/_routes.tsx ` owns the complete browser and SSG route registry plus
24+ the persistent route-analytics layout, while
25+ ` src/pages/ marketing/_routes.tsx ` registers the marketing leaves .
2826- ` src/pages/marketing/home.tsx ` renders the ` / ` page.
2927- ` src/pages/docs/catalog.ts ` is the typed source of truth for docs routes,
3028 metadata, grouped navigation, breadcrumbs, page ordering, search, and SSG.
@@ -46,24 +44,17 @@ SSG. This package does not expose a public API.
46441 . ` npm run build:client ` builds the browser entry and stylesheet into
4745 ` .askr/client/ ` with hashed asset names.
48462 . ` npm run build:ssg ` renders the marketing routes, authored docs catalog, and
49- generated API reference routes,
50- injects them into the built Vite document, and publishes the result to
51- ` dist/ ` .
52- 3 . ` npm run verify:static ` checks ` dist/metadata.json ` , pre-rendered content,
53- and every referenced asset.
47+ API reference routes, injects them into the built Vite document, and
48+ publishes the result to ` dist/ ` .
5449
55- The build fails when the checked-in API or CLI snapshot drifts from the exact
56- package versions in ` package-lock.json ` . Reference-only packages are kept as
50+ The API and CLI snapshots are checked-in documentation data. The unit suite
51+ derives installed package entrypoints, versions, exported signatures, peer
52+ metadata, and CLI help directly from ` node_modules ` and fails on drift before
53+ the production build starts. Package versions remain internal contract metadata
54+ and are not rendered on the site. Reference-only packages are kept as
5755development dependencies; packages used by live browser examples remain
5856runtime dependencies.
5957
60- ` docs:api ` also generates ` src/pages/docs/package-versions.ts ` from the
61- installed package manifests. Guide badges and package references read from that
62- map instead of repeating version literals. To refresh the site after releases,
63- upgrade the relevant ` @askrjs/* ` dependencies, run ` npm install ` , then run
64- ` npm run docs:api ` and ` npm run docs:cli ` . The aggregate check verifies that the
65- catalog, CLI snapshot, and every generated API entrypoint agree on versions.
66-
6758` .github/workflows/ci.yml ` runs format, lint/typecheck, build, and test on pull
6859requests. Pushes to ` main ` and manual dispatches use
6960` .github/workflows/deploy.yml ` to run the aggregate check, upload ` dist/ ` , and
0 commit comments