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, user guide, and architecture overview.
- Open an issue to discuss your change before submitting 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, ensure 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 additional host tools, elevated privileges,
and substantial disk space. Run the relevant script under scripts/ when your
change affects image assembly, bootloader entries, or the 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.