JSON Schema vendored verbatim from nf-core/modules at SHA d852990. Validates every meta.yml under modules/nf-core/<tool>/<subtool>/.
Operational role. This is the IO ground truth for summarize-nextflow §4. The Mold body says “Where meta.yml exists, use it for description and IO documentation rather than parsing the script: block” — this schema is the contract that says what fields are mandatory, what shapes they take, and what type enum the LLM extracting processes[].inputs[].shape is allowed to emit.
Source-of-truth chain:
modules/meta-schema.jsoninnf-core/modules— authored alongside the module library and cited by everymeta.ymlvia# yaml-language-server: $schema=https://raw.githubusercontent.com/nf-core/modules/master/modules/meta-schema.json.- Vendored verbatim into
content/schemas/nf-core-module-meta.schema.jsonhere, pinned at the SHA inupstream. - Re-sync: re-run
curl -sL https://raw.githubusercontent.com/nf-core/modules/<sha>/modules/meta-schema.json -o content/schemas/nf-core-module-meta.schema.jsonand bump the SHA in this note’supstreamfield.
At cast time (per docs/COMPILATION_PIPELINE.md): copied verbatim into the cast bundle’s references/schemas/. Cast skills resolving an nf-core module’s meta.yml validate against this contract before consuming the IO descriptions.
Top-level shape
The schema’s required keys are name, description, keywords (≥3, no example), authors, output, tools. Optional but commonly present: input, extra_args, topics, maintainers, containers.
The most important sub-shapes for downstream Molds:
elementProperties.type— enum[map, file, directory, string, integer, float, boolean, list, eval]. This is the canonical set the cast skill must coerce intosummary-nextflow.schema.json’sChannelIO.shapestrings.channelArray— list ofchannelElementor list-of-list (the recent flat-vs-nested change the 2025-meta.yml blog post introduced: tuple channels are nested arrays, single-element channels are flat).tools[]— each tool block requiresdescriptionand at least one ofhomepage/documentation/tool_dev_url/doi.licenceis an array of SPDX identifiers.identifieris abio.toolsID (pattern^(biotools:.*)?$).containers.docker/.singularity/.conda— the schema explicitly allows^oras://.*$for the singularity branch (legal ORAS pull form documented in component-nextflow-containers-and-envs).
Upstream license
This schema is redistributed under nf-core/modules’s MIT license. See LICENSES/nf-core-modules.LICENSE.