Contributing

Thank you for your interest in contributing to Cocoa.

Contribution Policy

The authoritative contribution policy – code style and naming conventions, commit message format, testing requirements, the pull request process, issue reporting, and licensing – lives in CONTRIBUTING.md at the repository root. Read that file before opening a pull request; it is not duplicated here, because a duplicated policy drifts out of sync with the real one.

Cocoa is proprietary (see LICENSE at the repository root); there is no public fork/GitHub workflow. Branch from main for a feature and follow the commit and pull request conventions in the root CONTRIBUTING.md.

Building and Testing

See Installation for prerequisites and the full build procedure, and Testing for how to run and extend the test suite. In short:

mkdir build && cd build
cmake .. -DCMAKE_BUILD_TYPE=Debug -DBUILD_TESTING=ON
make -j$(nproc)
ctest --output-on-failure

Where to Start

  • Architecture for the module layout and library dependency structure.

  • Extending the Model for a worked example of adding a new physics term end to end (concept, GWCE/momentum contribution, config, tests).

  • Testing for the reference validation new physics or numerics code is expected to satisfy, and how integration test references are regenerated.