Skip to main content

Contributing

Bug reports, ideas and pull requests are welcome. Open an issue on GitHub.

Checks​

CI runs these on every pull request:

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

cargo test -- --include-ignored also runs the tests that talk to your local Docker Engine.

Guidelines​

  • Keep modules focused on one job. Pages never talk to Docker directly.
  • Anything that deletes data must ask for confirmation first.
  • Add unit tests for logic that isn't pure drawing.
  • Title pull requests with Conventional Commits (feat: …, fix: …). PRs are squash-merged, and the title becomes the changelog entry.

Releases​

Releases are automated. release-plz keeps a release PR open with the next version and changelog. Merging it tags the release, builds every platform, attaches the binaries and checksums, and publishes it. See RELEASING.md.

See CONTRIBUTING.md for the full guide.

Building these docs​

cd website
npm ci
npm start # live preview at http://localhost:3000/Ferrodock/
npm run build # static site in website/build