Opinionated template for multi-crate Rust workspaces, with:
- Configurations for VS Code, Claude Code, clippy, rustfmt, EditorConfig, markdownlint, and taplo.
- just recipes
- GitHub workflows with CodeQL and Zizmor audits
- Documentation built with mdBook with LaTeX and Mermaid graph support, published to GitHub pages via CI
Prerequisites
Software
The following software is expected to be installed and available in PATH:
- rustup – Rust toolchain manager. Only the stable toolchain is used.
- just – Command runner. See the
justfilefor available recipes. - taplo – TOML formatter. Configured by
taplo.toml. - markdownlint-cli2 – Markdown linter. Configured by
.markdownlint.json. - npx – Node.js package runner, bundled with npm. Used to run Prettier, the Markdown formatter, without a global install.
- jq – JSON processor. Used by the
lint-without-featuresrecipe in thejustfile.
VSCode extensions
- rust-analyzer – Rust language support.
- Even Better TOML – TOML language support. Uses
taplo.tomlfor formatter settings; reload the VSCode window after changing it. - EditorConfig for VS Code – Applies the rules in
.editorconfig. - markdownlint – Inline Markdown linting. Uses
.markdownlint.json. - Dependi – Dependency management. Shows whether the versions in
Cargo.tomlare up-to-date. - Error Lens – Shows diagnostics inline, next to the offending code.
- Markdown All in One – Markdown authoring aids: keyboard shortcuts, table of contents, list editing.
- Todo Tree – Collects
TODOandFIXMEcomments into a tree view. - vscode-just – justfile syntax highlighting.
- YAML – YAML language support, with schema validation.