Contributing
Thanks for your interest in a contribution! 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 test strategy.
- Open an issue to discuss your change before you submit 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 you open 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 use real tools (qemu-img, rclone conversions). If you touch that code path, install them locally, 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.
Questions?
Contribute compute — no code needed
No time to write code? You can still push this project's backlog forward. TunaOS AI-agent hives work on this repository. Lend a hive your AI subscription or API tokens, and your machine runs contributor tasks from this project's backlog.