Open an issue before you open a pull request!
Scope
This project is kind of feature complete-ish, meaning there is still room for some, but an eye has to be kept on performance and binary size.
With these latter points being the main focus of this project, improvements in these areas are always welcome.
In other words: New features can be added if they don’t impact performance enough, performance (or size) improvements on the other hand are better.
Code style
Use clang-format to automatically format the code. This can be done via the Makefile:
make clang-format
Datatypes
Use:
* int64_t for most integer types
* uint64_t where applicable (e.g. binary flags)
* struct string for strings if applicable
Changelog
Document your changes in the Changelog.
No LLM/AI policy
No “AI”—this means LLMs like ChatGPT, Claude etc.—must be used for coding, opening pull requests and issues.
If you do not speak English, you are free to open issues in your native language.
This policy is strict—failing to adhere to it will result in rejection of changes/issues and potentially blocking of user accounts.
Code authentication
The git checkout can be authenticated using the Guix package manager:
guix git authenticate 259077c4909205af495edd5b5dded5b1173f0217 "E504 167C B345 F93E 11AE 341C 1CDA 78BC 7F6C F294"
See also this blogpost and the Guix manual.