CODEOWNERS
A CODEOWNERS file assigns reviewers to pull requests based on which files changed.
GitHub reads the file, matches changed paths against patterns, and requests reviews from the listed owners.
Place the file at .github/CODEOWNERS in your pipeline repository.
CODEOWNERS is opt-in for nf-core pipelines. It is not required by the nf-core template, but pipelines are free to use it.
You can read more information about such files here.
Common patterns in nf-core
Pipelines in nf-core use different levels of granularity.
Minimal
A single catch-all rule that assigns all files to the pipeline maintainers. This is the simplest and most common pattern:
Maintainers
- @maintainer1 @maintainer2
Used by: [ampliseq](https://github.com/nf-core/ampliseq/blob/main/.github/CODEOWNERS), [mag](https://github.com/nf-core/mag/blob/main/.github/CODEOWNERS), [methylseq](https://github.com/nf-core/methylseq/blob/main/.github/CODEOWNERS), [pixelator](https://github.com/nf-core/pixelator/blob/main/.github/CODEOWNERS), [taxprofiler](https://github.com/nf-core/taxprofiler/blob/main/.github/CODEOWNERS).
### Granular
Ownership split by local modules and subworkflows, optionally down to individual tools with their own tests, configs, and test data.
```github-actions# Maintainers* @maintainer1 @maintainer2*.nf.test* @maintainer1 @maintainer2.github/workflows/ @nf-core/a-team
# Local modulesmodules/local/* @maintainer1
# Local subworkflowssubworkflows/local/* @maintainer2For pipelines with multiple tools maintained by different people, add per-tool rules:
# Tool Amodules/nf-core/tool-a/ @tool-a-maintainersubworkflows/local/tool_a_workflow/ @tool-a-maintainertests/pipeline/default/tool_a*.nf.test @tool-a-maintainerconf/test_tool_a.config @tool-a-maintainer
# Tool Bmodules/nf-core/tool-b/ @tool-b-maintainersubworkflows/local/tool_b_workflow/ @tool-b-maintainertests/pipeline/default/tool_b*.nf.test @tool-b-maintainerconf/test_tool_b.config @tool-b-maintainerUsed by: demultiplex, rnafusion, sarek.