Add first draft of nf-core/config specifications#4087
Draft
jfy133 wants to merge 1 commit intonf-core:docs-v2from
Draft
Add first draft of nf-core/config specifications#4087jfy133 wants to merge 1 commit intonf-core:docs-v2from
jfy133 wants to merge 1 commit intonf-core:docs-v2from
Conversation
✅ Deploy Preview for nf-core-docs ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
maxulysse
reviewed
Mar 24, 2026
Comment on lines
+37
to
+55
| The fastest way to test whether your config is Nextflow strict syntax compliant is to make an empty workflow, and run it using your config as a custom config file. | ||
|
|
||
| For example: | ||
|
|
||
| 1. In your local copy of fork of nf-core/configs, make a file called `main.nf` | ||
|
|
||
| ```bash | ||
| echo "workflow{}" > main.nf | ||
| ``` | ||
|
|
||
| 2. Run the minimal workflow with the latest edge version of Nextflow (`26.02.0-edge`) and pointing to the config file you want to test | ||
|
|
||
| ```bash | ||
| NXF_VER=26.02.0-edge nextflow run main.nf -c conf/<your_config>.config | ||
| ``` | ||
|
|
||
| If you have no warning or errors messages, you are good to go - your config is already compliant! | ||
|
|
||
| If you have messages, see the next section on how to resolve the most common errors. |
Member
There was a problem hiding this comment.
I think a simple nextflow lint file.config would do the trick with just compliance with strict syntax.
pontus
reviewed
Mar 24, 2026
|
|
||
| A config documentation Markdown file MUST contain information on how to use the config in the context of the infrastructure. | ||
| For example, the documentation may describe how to load Nextflow with such as `module load <...>` or `conda activate <...>`. | ||
|
|
Contributor
There was a problem hiding this comment.
Suggested change
| It is RECOMMENDED to include a copy-pastable (e.g. using `$USER` rather than placeholders) example of launching a nf-core workflow with the `test` profile. | |
| An institutional config MUST be compatible with any nf-core pipeline or user. | ||
| It defines how the pipeline interacts with the infrastructure, such as scheduling options, software environment settings, and resource limits. | ||
|
|
||
| An institutional config SHOULD NOT define any resource defaults with `withName` or `withLabel`. |
Contributor
There was a problem hiding this comment.
Suggested change
| An institutional config SHOULD NOT define any resource defaults with `withName` or `withLabel`. | |
| An institutional config SHOULD NOT define any resource defaults with `withName` or `withLabel`. It SHOULD provide reasonable default settings for operating on the infrastructure (e.g. `resourceLimits`, `beforeScript`, `clusterOptions`, `runOptions`). |
| It defines how the pipeline interacts with the infrastructure, such as scheduling options, software environment settings, and resource limits. | ||
|
|
||
| An institutional config SHOULD NOT define any resource defaults with `withName` or `withLabel`. | ||
|
|
Contributor
There was a problem hiding this comment.
Any mandatory parameter or environment variable MUST be described in the documentation. Non-mandatory parameters or environment variables SHOULD be described.
|
|
||
| Institutional configs SHOULD use a short name or acronym as the config name. | ||
|
|
||
| The name MUST be used |
| :::tip | ||
| A config MAY declare the config is 'unofficial' if the system administrators are OK with hosting publicly, as long as they do not maintain it themselves. | ||
| ::: | ||
|
|
Contributor
There was a problem hiding this comment.
Suggested change
| Configurations SHOULD encode/align with/document local policies/recommendations do the extent possible - e.g. if there are multiple possible partitions possible but there are recommendations to use specific ones in different cases, that SHOULD be followed in the config rules. If running the nextflow main monitoring process on login/submit nodes is not allowed it might make sense to include a sample jobscript in the documentation. |
Not really happy with the above, but I think it might make sense to mention aligning with site policies.
| Files for a pipeline-specific institutional config must be located: | ||
|
|
||
| - **[`conf/pipeline/<pipeline name>/<config name>.conf`](https://github.com/nf-core/configs/tree/master/conf/pipeline)** | ||
| - - **[`docs/pipeline/<pipeline name>/<config name>.md`](https://github.com/nf-core/configs/tree/master/conf/pipeline)** |
Contributor
There was a problem hiding this comment.
Suggested change
| - - **[`docs/pipeline/<pipeline name>/<config name>.md`](https://github.com/nf-core/configs/tree/master/conf/pipeline)** | |
| - **[`docs/pipeline/<pipeline name>/<config name>.md`](https://github.com/nf-core/configs/tree/master/conf/pipeline)** |
?
| ### Pipeline specific institutional config | ||
|
|
||
| A pipeline specific config MAY modify the default resource values (memory, CPUs, time). | ||
|
|
Contributor
There was a problem hiding this comment.
Suggested change
| Where possible, it's RECOMMENDED to provide defaults for using locally available references and similar resources. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Not checked against style guide yet
@netlify /docs/developing/migration-guides/config-strict-syntax