Reference
Development
Build, test and work on mdv and its website.
Build and validate
See CONTRIBUTING.md for reporting issues, preparing pull requests, and contribution guidelines.
For AI-assisted contributions, read the AI Policy.
Local development uses rust-toolchain.toml to select stable Rust with rustfmt and clippy. Formatting settings are in rustfmt.toml.
CI checks, package builds, and release publishing are described in the CI and release documentation.
The optional justfile provides development commands. Install just 1.56.0 or newer with cargo install --locked just.
just --list
just check-all
just fmt
just run-dev README.mdWindows requires PowerShell 7.4+ (pwsh.exe on PATH); check-all also requires Python 3.11+. See development and testing documentation for all commands and details.
Website
The project website lives in website/ and uses Astro, TypeScript, and Tailwind CSS.
- Bun 1.4.4 or newer is the minimum declared in website/package.json.
- Astro also requires Node.js 22.23.4 or newer on
PATH.
cd website
bun install --frozen-lockfile
bun run devOpen the printed local URL under /mdv/.
bun run test
bun run build
bun run previewbun run build first refreshes package links from the latest stable GitHub release,
then checks types and generates website/dist/. It requires GitHub API access;
set GITHUB_TOKEN when needed. Development uses the stored release snapshot.
GitHub Actions checks pull requests targeting main and publishes successful
pushes to main. It also refreshes the site after the release workflow succeeds
for a tag. Manual publication is available through Actions > Website > Run workflow
on main; other branches only check and build. Publishing requires
Settings > Pages > Source > GitHub Actions. See the
website workflow.
The website includes complete user guides and CLI/YAML references at /mdv/docs/, with navigation, full-text search, and page outlines.
- Its Markdown sources live in
website/src/content/docs/. - The language icon switches the current page between English and Russian.
- Russian pages start at
/mdv/ru/, with documentation at/mdv/ru/docs/.