This page is for maintaining the Rush Delivery repository itself. User-facing setup lives in the Quick Start.
Run the Dagger self-check before changing metadata, schemas, or module source:
dagger call self-checkRun the TypeScript and test suite from the repository root:
npm run typecheck
npm testThe public GitHub Pages site currently builds from
../website-docusaurus. It uses Docusaurus, generates
docs pages from website-docusaurus/docs-tree.yaml, and is deployed by
../.github/workflows/pages.yml.
npm run site:docusaurus:check
npm run site:docusaurus:buildThe Astro + Starlight comparison site remains under ../website.
npm run site:check
npm run site:buildThe root docs directory is the source of truth for generated website
docs. When adding or renaming public docs pages, update both:
Schemas under ../schemas are copied into the static site during
website builds and are published under /rush-delivery/schemas/. Exact release
schemas also live under versioned subdirectories such as
/rush-delivery/schemas/v0.7.0/.
When releasing a version that changes schema behavior, keep the versioned schema directory immutable and update the root schemas to the current release shape.
Docusaurus is the canonical versioned documentation site. The current editable
docs stay in docs, while released snapshots are committed under
../docs-versions.
Docusaurus expects versions.json, versioned_docs, and versioned_sidebars
inside the website directory, so
../website-docusaurus/scripts/sync-versioned-inputs.mjs
copies the canonical root snapshots into Docusaurus-local generated inputs
before start, build, and check.
After a docs-bearing release:
-
Update the current docs version in
../website-docusaurus/docusaurus.config.ts. -
Add the previous current version to
publishedVersionsin../website-docusaurus/scripts/sync-versioned-docs.mjswhen the release changed public docs. -
Run:
npm --prefix website-docusaurus run sync-versioned-docs npm --prefix website-docusaurus run sync-versioned-inputs npm run site:docusaurus:check
-
Confirm the generated versioned docs and sidebars match the released tag.
When preparing documentation for the next release line, snapshot the latest
released documentation before editing root docs. In practice, finish and
tag the release, run the versioned docs sync so docs-versions contains a
directory for that released tag, and only then update current docs for the next
version. This keeps published docs stable for users pinned to older module
versions.
Patch releases do not need a new docs snapshot when user-facing docs did not change. Versioned docs should point users at exact versioned schema URLs where editor stability matters, while root schema URLs continue to track the current release.