From d4b967d98a2e6b26a428d55eb84966498a1365c2 Mon Sep 17 00:00:00 2001 From: "James A. Fellows Yates" Date: Thu, 23 Apr 2026 10:56:37 +0200 Subject: [PATCH 1/3] Add proposal for nf-core/configs specifications and linting This proposal outlines the need for specifications and linting for nf-core/configs to improve consistency and usability within the nf-core community. --- proposals/0135-proposals-configs-specs | 59 ++++++++++++++++++++++++++ 1 file changed, 59 insertions(+) create mode 100644 proposals/0135-proposals-configs-specs diff --git a/proposals/0135-proposals-configs-specs b/proposals/0135-proposals-configs-specs new file mode 100644 index 0000000..c560d84 --- /dev/null +++ b/proposals/0135-proposals-configs-specs @@ -0,0 +1,59 @@ +- 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 + +TBC + +# Drawbacks + +TBC + +# Alternatives + +TBC + +# Adoption strategy + +TBC + +# Unresolved Questions + +- Define specs + +# References + +- Reference Issues: https://github.com/nf-core/proposals/issues/135 From 3bd3d6ca79bd7c81897043c4aa8ace1d7c76e2b8 Mon Sep 17 00:00:00 2001 From: "James A. Fellows Yates" Date: Thu, 23 Apr 2026 11:01:12 +0200 Subject: [PATCH 2/3] update current status Outlined steps for defining specs and implementing commands. --- proposals/0135-proposals-configs-specs | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/proposals/0135-proposals-configs-specs b/proposals/0135-proposals-configs-specs index c560d84..cb9c9f6 100644 --- a/proposals/0135-proposals-configs-specs +++ b/proposals/0135-proposals-configs-specs @@ -36,23 +36,28 @@ This would also help contribute to the work currently being done to make a confi # Detailed Design -TBC +Three steps: + +1. Define specs with wider community: https://github.com/nf-core/website/pull/4087 +2. Implement `nf-core configs create` command: https://github.com/nf-core/tools/pull/3949 +4. Implement `nf-core configs lint` command # Drawbacks -TBC +None noted # Alternatives -TBC +None noted # Adoption strategy -TBC +See detailed design, as relative straight forward # Unresolved Questions - Define specs +- Structure/design of `nf-core configs lint` # References From d54ddc12ffc108184b375ee9ab94465c6d87c619 Mon Sep 17 00:00:00 2001 From: "James A. Fellows Yates" Date: Tue, 28 Apr 2026 17:00:34 +0200 Subject: [PATCH 3/3] Apply suggestion from @jfy133 --- proposals/0135-proposals-configs-specs | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/proposals/0135-proposals-configs-specs b/proposals/0135-proposals-configs-specs index cb9c9f6..6356d48 100644 --- a/proposals/0135-proposals-configs-specs +++ b/proposals/0135-proposals-configs-specs @@ -38,9 +38,10 @@ This would also help contribute to the work currently being done to make a confi Three steps: -1. Define specs with wider community: https://github.com/nf-core/website/pull/4087 -2. Implement `nf-core configs create` command: https://github.com/nf-core/tools/pull/3949 -4. Implement `nf-core configs lint` command +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