Rust Project Primer
Preface
1.
Introduction
1.1.
Why Rust?
1.2.
Resources
2.
Development Environment
2.1.
Zed
2.2.
Visual Studio Code
2.3.
RustRover
3.
Continuous Integration
3.1.
GitLab CI
3.2.
GitHub Actions
4.
Ecosystem
4.1.
Concurrency
4.2.
Web Backend
4.3.
Web Frontend
4.4.
User Interface
4.5.
Rendering
4.6.
Embedded
4.7.
Logging
4.8.
Error handling
5.
Organization
5.1.
Crates
5.2.
Workspace
5.3.
Repository
6.
Build system
6.1.
Cargo
6.2.
Bazel
6.3.
Buck2
6.4.
Nix
6.5.
Meson
7.
Checks
7.1.
Formatting
7.2.
Lints
7.3.
Spelling
7.4.
Semantic Versioning
7.5.
Dependency Minimum Versions
7.6.
Unused Dependencies
7.7.
Auditing Dependencies
7.8.
Outdated Dependencies
7.9.
Cargo Manifest
7.10.
Crate Features
7.11.
Minimum Supported Rust Version
7.12.
Conclusion
8.
Testing
8.1.
Unit Tests
8.2.
Integration Tests
8.3.
Runners
8.4.
External Services
8.5.
Snapshot Testing
8.6.
Property Testing
8.7.
Fuzzing
8.8.
Mutation Testing
8.9.
Coverage
8.10.
Performance
8.11.
Dynamic analysis
8.12.
Conclusion
9.
Building
9.1.
Optimizations
9.2.
Performance
9.3.
Codegen
9.4.
Caching
9.5.
Linking
9.6.
Cross-Compiling
10.
Documentation
10.1.
Readme
10.2.
Diagrams
10.3.
Code Documentation
10.4.
Project Documentation
10.5.
Architecture
10.6.
Design
10.7.
Examples
11.
Releasing
11.1.
Changelog
11.2.
Versioning
11.3.
Crate Registry
11.4.
Containerize
11.5.
Packaging
12.
Tools
12.1.
Code Search
12.2.
Task Runners
12.3.
Readme
12.4.
Watch Files
12.5.
Expand Macros
13.
Examples
14.
Conclusion
License
Light
Rust
Coal
Navy
Ayu
Rust Project Primer
Cargo Manifest