Skip to main content

Contribute

MNE-CPP is an open-source project and welcomes contributions of all kinds — code, documentation, bug reports, and feature requests. Whether you are fixing a typo or adding a new acquisition plugin, the workflow is the same: fork, branch, implement, test, and open a pull request.

All code contributions are reviewed by maintainers and validated by the CI pipeline across Windows, Linux, and macOS before merging.

Guides

  • Contribution Guide — The complete workflow from fork to merged pull request, including branching, testing on CI, and code review.
  • Coding Conventions — Naming rules, documentation style (Doxygen), commit message prefixes, and class templates.
  • Git Workflow — Day-to-day Git commands for branching, rebasing, and pushing to your fork.
  • Documentation — How to edit or add pages to this Docusaurus website.
  • MNE Tracer — A built-in profiling tool for measuring function execution times.

Quick Start

# 1. Fork on GitHub, then clone
git clone https://github.com/<you>/mne-cpp.git && cd mne-cpp
git remote add upstream https://github.com/mne-tools/mne-cpp.git

# 2. Create a feature branch from staging
git checkout -b my-feature upstream/staging

# 3. Build, make changes, run tests
cmake -B build -S . -DBUILD_TESTS=ON && cmake --build build --parallel
cd build && ctest --output-on-failure

# 4. Push and open a pull request targeting staging
git push origin my-feature