## How to help?
I consider the service and message passing interface more-or-less stable and don't expect breaking changes. I'd be happy to receive a help in:
- Code review
- Performance improvements
- Fixing `FIXME`s and `TODO`s
- Cross-compilation for different boards
- New service implementation or its API documentation
- Writing the user documentation
## Workflow
- Latest code is always in `master`
- I commit directly to `master` because I don't care – and because I often run `make check` locally
- Feature branches get deleted after merging
- No release branches, flat commit history
- Releases get tagged with [annotated tags](https://git-scm.com/book/en/v2/Git-Basics-Tagging)
- `CHANGELOG.md` is really maintained
- [Semantic Versioning](https://semver.org/) is used, well… before `1.0.0` – not really
- Refer to issues in commit messages. Sometimes I personally forget to do that though
## Principles
- Clean code, because it's a learning project
- Stability, it should «just work»
- Easy installation on Raspberry Pi
- Good performance on [Raspberry Pi Zero W](https://www.raspberrypi.org/products/raspberry-pi-zero-w/)
- No plugins, [«batteries included»](https://en.wikipedia.org/wiki/Batteries_Included)
- Little configuration, good defaults, automatically discover peripherals and network devices where possible
- Unit tests where applicable, don't be obsessed with them though
- [Don't repeat yourself](https://en.wikipedia.org/wiki/Don%27t_repeat_yourself) more than a few times