Skip to content

Development

This page covers repository validation, local wiki authoring commands, and the publication path from the wiki submodule to GitHub Pages.

Repository validation

Before sending changes, run the repository checks that CRIEW development expects:

cargo fmt --all -- --check
cargo clippy --all-targets --all-features -- -D warnings
cargo test --all-targets --all-features
./scripts/check-coverage.sh

Local wiki workflow

Use the cargo entry points when you edit docs/wiki from a CRIEW checkout:

cargo wiki lint
cargo wiki build
cargo wiki serve

You can also run:

cargo wiki check

That runs the wiki copy lint and then the local site build.

Local build behavior

  • cargo wiki lint runs the copy check with autocorrect.
  • If autocorrect is missing, the first lint run downloads a local copy into target/wiki-venv/bin/.
  • cargo wiki build stages docs/wiki into target/wiki-docs and builds the local site into target/wiki-site.
  • cargo wiki serve stages the wiki, installs MkDocs into target/wiki-venv, and starts a local preview server.

Publish path

The publication path is:

docs/wiki source repo -> scripts/prepare-wiki-site.py staging -> mkdocs.yml build -> .github/workflows/wiki-pages.yml deploy -> GitHub Pages

docs/wiki is a submodule. That means the main repository publishes the pinned wiki commit, not the standalone wiki repository's latest remote state. After a wiki change lands in the submodule, the main repository still needs the updated gitlink.

See also