Skip to content

Contributing

gsjonio edited this page Jul 14, 2026 · 1 revision

Contributing

The authoritative guide lives in the repo: CONTRIBUTING.md. This page is a quick orientation.

Build & check

hightower is a Cargo workspace. All four commands must pass before a PR:

cargo build --workspace
cargo test --workspace
cargo fmt --all -- --check
cargo clippy --workspace --all-targets -- -D warnings

The core crate builds and tests anywhere; the adapters/cli crates and the hightower binary only build on Windows.

The one architectural rule

core/ must never depend on the windows crate or do any OS I/O. This is enforced by the compiler (see Architecture). OS access belongs in adapters/, behind a port trait defined in core/.

Good first contributions

  • Add a known process to the database -- see Known-Process Database Format. Look for issues labelled good-first-issue.
  • Improve a plain-language description or a doc page.

Conventions

  • Conventional Commits (feat:, fix:, docs:, chore:, refactor:, test:, ci:), short and imperative. One logical change per PR.
  • Every unsafe block carries a // SAFETY: comment.
  • All code, comments, and docs are in en-US. Only the *.pt-BR files are in Portuguese.

Reporting a vulnerability

Privately, via Security Advisories -- never in a public issue.

Clone this wiki locally