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.
Packages
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.
Dynamic analysis
8.10.
Conclusion
9.
Measure
9.1.
Coverage
9.2.
Performance
9.3.
Memory
10.
Building
10.1.
Optimizations
10.2.
Performance
10.3.
Codegen
10.4.
Caching
10.5.
Linking
10.6.
Cross-Compiling
11.
Documentation
11.1.
Readme
11.2.
Diagrams
11.3.
Code Documentation
11.4.
Project Documentation
11.5.
Architecture
11.6.
Design
11.7.
Examples
12.
Releasing
12.1.
Changelog
12.2.
Versioning
12.3.
Crate Registry
12.4.
Containerize
12.5.
Packaging
13.
Tools
13.1.
Code Search
13.2.
Task Runners
13.3.
Readme
13.4.
Watch Files
13.5.
Expand Macros
14.
Examples
15.
Conclusion
License
Light
Rust
Coal
Navy
Ayu
Rust Project Primer
Cargo Manifest