Contributing#

Contributions are made through pull requests. Build and test locally, keep the source clean, and follow the project conventions below.

Before You Commit#

Run make lint to check the source. It bundles five checks: cformat (C++ formatting), cinclude (#include ordering), flake8 (Python style and the 79-character line limit), checkascii (ASCII-only bytes), and checktws (no trailing whitespace). All sources are UTF-8, Unix LF, ASCII-only, and carry a modeline at the end of file. The Coding Style Guide page is the canonical reference.

Add tests for new behaviour. Python tests in tests/ are preferred; add a C++ gtest only when the behaviour cannot or should not be exercised from Python. See Testing for how to run them.

Pull Requests#

Reference the related issue without closing keywords – write “Related to #725” rather than “fixes #725”, so that issue management is not driven by commit or PR text. Keep the subject concise and describe the change clearly.