Contributing Overview
The Contributing section is for developers who want to contribute code to the project. It covers development environment setup and the guidelines that keep the codebase consistent.
Looking for Architecture or Data Model?
These sections have moved to the User Guide, where they serve as conceptual foundations for configuration, deployment, and operations.
What's in this section
Development
Everything you need to set up a development environment and start building:
- Development Overview — setup-to-test workflow at a glance
- Environment Setup — required tools, dependencies, and workspace configuration
- Building for Development — CMake debug flags, symbols, and build targets
- Running Tests — unit, integration, and end-to-end tests via CTest
Guidelines
Conventions and processes that keep contributions consistent:
- Git Workflow — modified GitFlow branching strategy and branch management
- Code Style — clang-format-18 enforcement, naming conventions, and coding patterns
- CI/CD — GitHub Actions workflows for formatting checks and build/deploy validation
- Testing Guidelines — what tests to write and how to organize them
- License — BSD 2-Clause license
- Code of Conduct — Contributor Covenant v2.0