Contributing
How to build, test and propose changes, with the rules that keep the project correct.
Accquix Register is developed in the open on GitHub.
How contributions work
Accquix Register is open source, maintained by Accquix. Bug reports and pull requests are welcome. However, the project is developed primarily to support Accquix’s infrastructure, and Accquix keeps full discretion over its roadmap and over which contributions are accepted.
- Open an issue before starting a substantial change, so that we can say whether it fits before you spend time on it. Small fixes can go straight to a pull request.
- We cannot promise that every issue or pull request will get an answer or be merged.
- Forks are welcome. The Apache-2.0 licence lets you run, change and redistribute your own version.
- Security vulnerabilities: never in a public issue. Follow
SECURITY.md. - There are no GitHub Discussions; use issues for questions about installation and behaviour.
Ground rules
- Code only, never data. Tests use synthetic data: fictional names, IČOs in the
9990xxxxrange and DIČs in the20999xxxxxrange, which do not exist in the registers. - Read the decisions first.
docs/decisions.mdbinds; propose a change in an issue rather than working around it. Open questions are indocs/open-questions.md. - Identifiers are exact, a stale mirror never says “not found”, and logs carry no queries or identifiers.
AI-assisted development
Much of this project is written with AI coding agents, reviewed and directed by the maintainers. We say so openly. Contributions made with AI assistance are welcome under the same rules: you are responsible for what you submit, it must pass the tests, and you must be able to explain it.
Build and test
You need Go 1.27+ and Docker.
docker run -d --name register-test-pg -p 5432:5432 -e POSTGRES_PASSWORD=test postgres:18
export REGISTER_TEST_DATABASE_URL="postgres://postgres:test@localhost:5432/postgres?sslmode=disable"
go test ./...
Before a pull request:
gofmt -l . # must print nothing
go vet ./...
golangci-lint run ./...
go run ./cmd/accquix-register openapi > api/openapi.yaml # when the API changes
This documentation
The site lives in site/ and is built with Blume. The API reference is generated from
api/openapi.yaml, so it cannot drift from the code.
cd site && npm install && npm run dev
English pages are in site/docs/, Slovak pages in site/docs/sk/ with the same file names.
Commits
Sign off every commit (DCO, no CLA) and use Conventional Commits:
git commit -s -m "fix: …"
Report security issues privately, as described in SECURITY.md.