Contributions are welcome, especially new distribution adapters and cleanup rules backed by official distribution documentation.
- Rust 1.85 or newer
- Linux with
/procand/etc/os-release - No destructive tests against the host filesystem
- Add or update a distribution fixture when changing adapter detection.
- Represent cleanup as a typed action. Do not construct shell strings.
- Add an exact executor allowlist entry for every new external command.
- Add tests that prove both the intended action and relevant refusal cases.
- Update the safety documentation when a trust boundary changes.
- For uninstall providers, require explicit-install discovery, transaction previews, exact identifiers, and protected-package refusal tests.
Run the full local validation before opening a pull request:
cargo fmt --all -- --check
cargo clippy --all-targets --all-features -- -D warnings
cargo test --all-targetsPublic documentation and change descriptions should be written in English. Keep commits focused and do not add generated co-author trailers.