Contributing
Thank you for your interest in this project! It 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, user guide, and architecture overview.
- Open an issue to discuss your change before you submit a PR.
Validate Your Changes
Run the fast checks used for every pull request:
just build
just test
go vet ./...
go test -tags=integration -run='Help' ./...
If you change an example or fixture recipe, make sure that every JSON file still parses:
for recipe in examples/*.json fixtures/*.json; do
python3 -m json.tool "$recipe" >/dev/null
done
Media builds and boot tests need more host tools, elevated privileges, and
substantial disk space. Run the relevant script under scripts/ when your
change affects the image, bootloader entries, or live boot path. The
pull-request CI runs the broader smoke suite.
Pull Requests
- Keep PRs focused — one change per PR.
- Follow the existing code style and conventions.
- Update docs if your change affects usage.
- Include the validation commands you ran in the PR description.