Repository navigation
v1.5.0
Aligned with the nf-core tools v4.1.0 ruleset.
nf-secretary:- more compact
meta.ymlinput descriptions, and removedMandatory(default) explicit statement. - documented the new top-level
containers:block inmeta.yml(docker / singularity / conda perlinux/amd64+linux/arm64, withbuild_id,scan_id,https,lock_file) as machine-generated and read-only — preserve verbatim, never fabricate. Covers the newhas_meta_containers,correct_meta_containers,containers_section_*, andcontainers_build_id_hashlint checks - boundaries now exclude the
containers:block and.conda-lock/*, and forbid runningnf-core modules containers create/containers conda-lock(they hit the Seqera Wave API with the user'sTOWER_ACCESS_TOKENand rewritemain.nf)
- more compact
nf-module-dev:- container rules now cover both registries explicitly — biocontainers stays the default (it is what
nf-core modules createscaffolds and still the repo majority), with Seqera Wave documented as the opt-in path taken only on request or for modules already on it. On the Wave path the agent leaves placeholders and asks the user to runnf-core modules containers create <tool/subcommand>; it never builds containers itself. Explicit rule not to migrate a module between registries unprompted - corrected the container directive template to
workflow.containerEngine in ['singularity', 'apptainer'](was== 'singularity') andquay.io/biocontainers/<package>:<tag>(was barebiocontainers/) bump-versionsnow resolves Seqera containers, so a version bump re-resolves the container rather than hand-editing it- added
process_low_memoryto the resource label table (now lint-accepted), plusprocess_high_memory/process_longrows, and a rule to set exactly one label — two valid labels trigger aConflicting process labels foundwarning - added a pre-scaffold name check for the new
main_nf_module_granularitylint rule — at most one/(<tool>or<tool/subtool>;aws/s3/lsfails)
- container rules now cover both registries explicitly — biocontainers stays the default (it is what
nf-test-expert: singularity pull fallback now notes that most modules ship a Seqera Wave blob URL whose cache name is an opaque hash — read it from the failing task's.command.runrather than deriving it