Contributing
Thanks for your interest in contributing! This project is part of the TunaOS ecosystem.
Getting Startedβ
- Fork the repo and clone it locally.
- Install the Go version declared in
go.modand thejustcommand runner. - Read the project README, architecture overview, and testing strategy.
- Open an issue to discuss your change before submitting a PR.
Validate Your Changesβ
Corral builds two tag sets β plain and -tags bootc (the bootc plugin) β
and CI checks both. Run the local pre-push gate before opening a PR:
just ci
This runs, in order: gofmt (fmt-check), go vet (both tag sets),
go build (both tag sets), and go test -race (both tag sets). You can
also run the steps individually:
just fmt # gofmt -w
just vet # go vet, both tag sets
just build # go build, both tag sets
just test # go test -race, both tag sets
Some tests exercise real tools (qemu-img, rclone conversions); install them locally if you touch that code path, or rely on CI to run them.
Pull Requestsβ
- Keep PRs focused β one change per PR.
- Follow the existing code style and conventions.
- Update
docs/if your change affects usage, backend parity, or architecture. - Include the validation commands you ran in the PR description.