Contributing
The full text lives in CONTRIBUTING.md. The essentials:
Build
git clone https://github.com/JosunLP/TPMPlaner
cd TPMPlaner
cargo test --workspace
cargo run --releaseRust 1.90 or newer, plus the MSVC build tools on Windows.
Preview the interface without connecting an account:
$env:TPMPLANER_DEMO = "1"; cargo run --releaseBefore a pull request
cargo fmt --all
cargo clippy --workspace --all-targets -- -D warnings
cargo test --workspaceThe rule that matters
tpmplaner-core may not call an operating system API. If it needs one, add a method to a trait in core/src/host.rs and implement it in the front end. CI builds the core on Ubuntu, macOS and Windows, so a violation fails the build.
What is wanted
The largest open piece is the cross-platform interface. The portable core already builds and tests on all three systems; render.rs and window.rs are what remains Windows-only.
Also useful, and smaller:
- Additional interface languages — one
Catalogconstant ini18n.rs - Verification of the Microsoft and CalDAV back ends against real servers
- Keychain and Secret Service backends for
Host::protect
House style
Comments explain why, not what. The valuable comment is the one recording the trap — model::parse_task_due shows the shape of it. A bug fix comes with a test that fails without it. English throughout.
And say what you could not verify. A pull request noting "never run against a real tenant" is more useful than one that quietly implies it was.