# 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: ```bash 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: ```bash cargo wiki lint cargo wiki build cargo wiki serve ``` You can also run: ```bash 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 - [Contribution](Contribution.md) - [CRIEW wiki home](Home.md) - [Repository source](https://github.com/ChenMiaoi/CRIEW) - [Architecture design](https://github.com/ChenMiaoi/CRIEW/blob/develop/docs/architecture/design.md)