The OpenPRoT Technical Charter can be found at https://github.com/OpenPRoT/.github/blob/main/GOVERNANCE.md
This project uses cargo-xtask for build automation and project management.
You can run tasks using cargo xtask <task-name>
:
cargo xtask build
- Build the projectcargo xtask test
- Run all testscargo xtask check
- Run cargo checkcargo xtask clippy
- Run clippy lintscargo xtask fmt
- Format code with rustfmtcargo xtask clean
- Clean build artifactscargo xtask dist
- Build a distribution (release build)cargo xtask docs
- Build documentation with mdbookcargo xtask cargo-lock
- Manage Cargo.lock filecargo xtask precheckin
- Run all pre-checkin validation checkscargo xtask header-check
- Check license headers in source filescargo xtask header-fix
- Fix missing license headers in source files
# Build the project
cargo xtask build
# Run tests
cargo xtask test
# Create a distribution
cargo xtask dist
# Format code
cargo xtask fmt
# Run clippy
cargo xtask clippy
# Build documentation
cargo xtask docs
# Run all pre-checkin validation checks
cargo xtask precheckin
# Check license headers
cargo xtask header-check
# Fix missing license headers
cargo xtask header-fix
The project is structured as a Cargo workspace with two main components:
openprot/
- The main applicationxtask/
- Build automation scripts
The xtask workflow allows you to add custom build steps, automation, and project management tasks written in Rust, making them cross-platform and easy to maintain.
- Rust 1.70+ (2021 edition)
- Cargo
No additional tools are required - everything is handled through Cargo and the xtask scripts.