Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
65 changes: 65 additions & 0 deletions proposals/0135-proposals-configs-specs
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
- Start Date: 2026-04-23
- Reference Issues: https://github.com/nf-core/proposals/issues/135
- Implementation PR: https://github.com/nf-core/website/pull/

# Summary

We should define specifications for what is considered a best-practise nf-core/configs, and implement linting commands that help check a config PR adheres to these specifications.

# Champion

[@jfy133](https://github.com/jfy133)

# Background & Motivation

nf-core/configs is an under-appreciated resource offered by the nf-core community.
This is one of the main factors that allow us to sell nf-core pipelines as highly portable and efficient.

However currently, there is little infrastructure or help around writing an nf-core/config.
There is also a lack of consistency (although to be fair, not as bad as you would expect) across configs, which make it harder to do widespread search/replace etc, for example when we have to make changes related to core changes by Nextflow.

It would be nice to bring nf-core/configs up to be a 'first-class' citizen within the ecosystem.
This will help with better visibility and adoption - both within and and outside nf-core itself (e.g. with third-party pipelines using the template).

This would also help contribute to the work currently being done to make a config builder tool.

# Goals

- Specify specifications for configs
- Specify reviewing checklist for config PRs
- Implement linting checks of new/existing configs within nf-core/configs within nf-core/tools

# Non-Goals

- Does not (currently) plan to re-structure configs
- Does not plan to force any major changes to existing configs

# Detailed Design

Three steps:

1. ✅ Define specs with wider community: https://github.com/nf-core/website/pull/4087
2. Update links on nf-core/configs repo, website guide, and announce
3. Implement `nf-core configs create` command: https://github.com/nf-core/tools/pull/3949
4. Implement `nf-core configs lint` command```

# Drawbacks

None noted

# Alternatives

None noted

# Adoption strategy

See detailed design, as relative straight forward

# Unresolved Questions

- Define specs
- Structure/design of `nf-core configs lint`

# References

- Reference Issues: https://github.com/nf-core/proposals/issues/135
Loading