Contributing
Pad is open source under Apache 2.0. Contributions are welcome — bug fixes, features, docs improvements, anything.
The canonical contributor guide is CONTRIBUTING.md on GitHub. The summary below is the quick path.
Prerequisites
- Go 1.26+
- Node.js 22+
- Make
Development loop
git clone https://github.com/xarmian/pad
cd pad
make build # Build web UI + Go binary
make test # Run Go tests
make dev-web # SvelteKit dev server with hot reload (localhost:5173)
make install # Build, install to ~/.local/bin/pad, restart server After backend changes, make install rebuilds the binary, kills the running
server, installs the new binary to ~/.local/bin/pad, and restarts. The
web UI at localhost:7777 reflects your changes immediately.
Frontend-only iteration is faster with make dev-web (SvelteKit's hot reload
against the running pad backend).
Branch naming
feat/relation-field-picker— new featuresfix/dashboard-progress-bar— bug fixesdocs/update-api-reference— documentationrefactor/store-interface— refactoring
Pull requests
- Keep PRs focused — one feature or fix per PR.
- Include a description of what changed and why — the why is what matters in the long term.
- Add tests for new backend functionality.
- Verify
make buildandmake testpass before opening.
Filing issues
- Bugs — use the bug-report template, include reproduction steps and
the version (
pad --version). - Features — describe the problem first, then your proposed solution. The "why" matters more than the "what".
- Questions / discussion — open a GitHub Discussion rather than an issue.
- Security vulnerabilities — see Security; report privately, not via public issue.
Contributor License Agreement
By submitting a pull request, you agree to the terms of our Contributor License Agreement. It's a lightweight CLA that preserves your rights while letting the project make coherent licensing decisions over time.