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