Contributing¶
Contributions are welcome. This page covers how to build and test the project locally, and how to submit changes.
Building from source¶
Prerequisites: Go 1.26 or later, make.
git clone https://github.com/frostyard/intuneme.git
cd intuneme
make build
The binary is written to ./intuneme.
Running tests¶
make test
Tests use the Go standard library testing package. No external test framework is required.
Linting and formatting¶
The project uses golangci-lint. Before committing, always run:
make fmt && make lint
Fix any reported issues before creating a commit. The CI pipeline runs the same checks and will fail if there are lint errors or unformatted code.
Branch naming¶
Use a short, descriptive branch name with a feat/, fix/, or chore/ prefix:
feat/webcam-hotplug
fix/broker-proxy-pid
chore/update-deps
Pull request process¶
- Fork the repository and create a branch from
main. - Make your changes, following the patterns in the existing code.
- Run
make fmt && make lintand fix any issues. - Run
make testand ensure all tests pass. - Open a pull request against
main. Include a short description of what the change does and why.
For non-trivial changes, open an issue first to discuss the approach before investing time in an implementation.
Reporting bugs¶
Open an issue on GitHub Issues. Include:
- Your host OS and version
- The output of
intuneme status - The exact command you ran and the error message
- Any relevant output from
journalctl -t intuneme-hotplugorjournalctl -u systemd-nspawn@intuneme