Logo
Logo

Contributing

How to report bugs, propose changes and contribute code to GenesisDB.

GenesisDB is open source under the MIT license, and contributions are welcome: bug reports, documentation, tests and code. Everything happens on GitHub.

Report a bug

Open an issue with the GenesisDB version (genesisdb version), the operating system, the smallest sequence of requests that triggers the problem, and the expected and actual result. Remove tokens and private event data from logs.

Security issues are reported privately to mail@genesisdb.io, see Security.

Propose a change

Open an issue first for changes that alter stored data, the HTTP API, a public Go API, or that span several packages. Data compatibility comes first: a change must never make an existing data directory or backup unreadable.

Contribute code

Branch from main, open a pull request. CI runs lint, race tests, disk-full tests, a vulnerability scan, fuzzing and a secret scan on every pull request, and every pull request is reviewed before it is merged.

bash
git clone https://github.com/genesisdb-io/genesisdb
cd genesisdb
make lint
make test
make fuzz
make compatibility

The repository guide in CONTRIBUTING.md lists the rules for engines, naming and tests.

Improve the SDKs and tools

The SDKs, the VS Code extension and these docs live in their own repositories under github.com/genesisdb-io. Pull requests are welcome there as well.