Repository template to get quickly started with writing Rust libraries, ready for distributing.
Open your favorite terminal and clone this locally.
- With the GitHub CLI: Use the command below. Replace
<project>
with what you'd like to call your project.gh repo create <project> --template neoncitylights/rust
- With the GitHub UI: You can create a new repository based on this template by clicking the "Use this template" button in the top-right corner of this page.
Replace the following placeholders with your editor's find-and-replace:
{{library}}
- The name of the library.{{desc}}
- The description of the library.{{author}}
- The author's name of the library. For example, this could be a username, nickname, or real name.{{email}}
- The author's email address. This is optional and can be deleted.
- Remote development support with GitHub Codespaces
- CI/CD support with GitHub Actions
- Running tests and benchmarks
- Running Rustfmt and Clippy for detecting formatting and linting errors, respectively
- Weekly, midnight scheduled audits of Rust packages (for outdated dependencies, compatible software licenses, and software vulnerabilities) with
EmbarkStudios/cargo-deny-action
Tool | File path | Reference |
---|---|---|
GitHub Codespaces | devcontainer.json |
Reference |
GitHub Actions | .github/workflows |
Reference |
Cargo package | Cargo.toml |
Reference |
Clippy (Rust linter) | .clippy.toml |
Repository, Reference |
Rustfmt (Rust formatter) | .rustfmt.toml |
Repository, Reference |
cargo-deny |
deny.toml |
Repository |
Script | Command |
---|---|
Run unit/integration/doc tests | cargo test |
Run fuzz tests | cargo fuzz <fuzz-target> |
Run Rustfmt | cargo fmt |
Run Clippy | cargo clippy |
Run performance benchmarks | cargo bench |
Generate API docs for crate | cargo doc |
Generate mdBook docs for crate | mdbook build |
Run security audits | cargo audit 1 |
Footnotes
-
Requires installing
cargo-audit
locally ↩