Commit 1c4ff25
Polish and enhance Hello nf-core training materials (#691)
* Correct memory in test profile
* Reframe test profile section to avoid implying param inference
The previous text suggested learners could infer required parameters
by examining what was present/absent in the test profile config.
This is misleading - the test profile only shows pre-configured values,
not requirements.
Changed section 2.1 to:
- Emphasize what the test profile *provides* (pre-configured input)
- Point to the usage example comment as the source for --outdir info
- Avoid suggesting we can infer requirements from config structure
This keeps the pedagogical value while being accurate about where
information comes from, deferring proper param discovery (via schema)
to later sections.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
* Update Nextflow version to 25.04.3 in nf-core materials
Standardized all Nextflow version references in the Hello nf-core
training materials to version 25.04.3.
Updated files:
- 01_run_demo.md: 24.10.0 → 25.04.3
- 02_rewrite_hello.md: 24.10.4 → 25.04.3 (4 occurrences)
Files 03_use_module.md and 05_input_validation.md already had
the correct version.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
* Update nf-core/demo version to 1.0.2
Updated all references to nf-core/demo from version 1.0.1 to 1.0.2
to reflect the current release.
Changes:
- Console output example showing pipeline version
- Documentation link to nf-co.re/demo
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
* Updated nf-core/demo output
* mend
* update demo pipeline contents
* Refine subworkflow coverage
* correct tree level
* Correct another tree level, params schema coverage
* Update input schema content
* Fix priority issues in nf-core Part 1
- Fix typo: 'Netxflow' → 'Nextflow'
- Remove duplicate line in tree output
- Consolidate WoW side quest references (remove redundant mention)
- Add explanation of container profiles before first use
- Standardize cross-reference paths to use relative URLs
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
* Improve style consistency in nf-core Part 1
- Standardize terminology: use 'pipeline documentation page' consistently
- Improve voice consistency: prefer inclusive 'we' over imperative
- Reduce passive voice: make Nextflow the active subject
- Fix grammar: 'specifics of what' and 'retrieve pipelines'
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
* Add content enhancements to nf-core Part 1
- Add note about variable console output (timestamps, paths, names)
- Add transition paragraph between user and developer perspectives
- Clarify focus on file hierarchy vs code syntax
These improvements help set learner expectations and smooth pedagogical flow.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
* Fix issues in nf-core Part 2
Priority fixes:
- Fix grammar: 'inputs are handle' → 'inputs are handled'
- Fix directory typo: 'config' → 'conf'
- Remove incorrect line number reference
- Remove redundant WoW side quest reference (already mentioned earlier)
- Standardize WoW reference format to match Part 1
Style improvements:
- Add transitional text between sections 3 and 4
- Add motivation for dummy entrypoint workflow in section 2.6
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
* fix workflow listing
* Update first run output
* Clarify section 3 transition in nf-core Part 2
Section 3 was confusing because:
- No clear transition from testing composable workflow back to nf-core scaffold
- Ambiguous references to "original workflow" without specifying source/destination
Improvements:
- Add explicit transition at section 3 start explaining return to scaffold
- Clarify we're integrating work from section 2
- Make FROM/TO direction clear in section 3.1 (original-hello → core-hello)
- Specify directory paths explicitly to reduce ambiguity
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
* Add a highlight
* Reorder section 3.3 to show proper version channel pattern
Move ch_versions initialization before workflow logic rather than after.
This reflects the correct pattern where:
1. Initialize empty versions channel
2. Run workflow processes (which would emit versions in real pipeline)
3. Collate versions at the end
Add explanation that this ordering allows processes to mix their version
outputs into ch_versions as the workflow runs, which is the intended
pattern even though we're not implementing version capture yet.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
* fix line num
* Fix highlights, indents
* More highlight fixes
* Fix indents
* Add missing highlights
* Clarify .view line removal in section 3.3
Make explicit that when copying workflow logic to nf-core scaffold,
learners should:
- Omit the `main:` keyword (already present)
- Remove the `.view` line (console output not needed in scaffold)
Update the "After" code block to show the workflow without the .view
line, matching the instruction.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
* Remove redundancy at section 4 start
The transition paragraph and first line of section 4 were saying the
same thing. Consolidated into single transition paragraph that flows
directly into section heading and first subsection.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
* Update solution
* Fix linting errors in core-hello-part2 solution files
Add missing newlines at end of files:
- utils_nextflow_pipeline/tests/main.function.nf.test.snap
- utils_nfcore_pipeline/tests/main.function.nf.test.snap
- utils_nfcore_pipeline/tests/main.workflow.nf.test.snap
Remove extra blank line in:
- utils_nfschema_plugin/main.nf
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
* prettier
* Correct attribution of pipeline_info contents in section 4.5
Previous text incorrectly attributed all pipeline_info contents to
"nf-core utility subworkflows". In reality:
- Execution reports (timeline, trace, report, dag) are produced by
Nextflow's built-in reporting configured in nextflow.config
- Software versions and params are from nf-core template features
Changed to more accurate generic description: "execution reports and
metadata" which correctly encompasses both sources without incorrectly
attributing everything to utility subworkflows.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
* Clarify nf-core module naming conventions
Fix the module naming convention note to accurately reflect that:
- Modules use software/command format when tools have multiple commands
(e.g., samtools/view, gatk/haplotypecaller)
- Modules use single-level names when tools have only one main command
(e.g., fastqc, multiqc)
- Remove incorrect fastqc/fastqc example
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
* Add info output
* Update some outputs
* Fix cat content
* update some outputs
* Fix highlight
* Update part 3 solution
* Remove legacy collectGreetings module from part 3
Changes:
- Add Step 4 to lesson instructing removal of collectGreetings import
- Remove collectGreetings import from part3 solution
- Delete collectGreetings.nf module file from part3 solution
- Fix code fence syntax: change name= to title= for consistency
- Renumber final step from 4 to 5
The lesson now properly teaches users to clean up the replaced module
rather than leaving unused imports and files in the codebase.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
* Improve learning flow with contextual transitions
Part 2:
- Add brief context before composability section explaining why it's
needed for nf-core template integration
- Clarify that composable workflows must be called from parent workflow
Part 3:
- Add motivation for replacing custom module with nf-core module
- Emphasize benefits: community testing, maintenance, learning value
These additions provide smoother conceptual transitions without
duplicating content covered in side quests.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
* Reframe Part 4 as 'Make an nf-core module'
Renamed file: 04_adapt_module.md → 04_make_module.md
Changes to emphasize module creation over adaptation:
Title and Introduction:
- Changed from "Adapt local modules" to "Make an nf-core module"
- Explicitly acknowledge nf-core modules create exists
- Frame manual approach as "learning by doing" for deeper understanding
- Preview that official tooling will be shown at the end
Section 1:
- Renamed to "Transform cowpy into an nf-core module"
- Added intro emphasizing transformation into community standards
Section 2:
- Updated: "Use nf-core tooling to create modules"
- Better transition connecting manual learning to practical tooling
- Enhanced code comments: "Pattern 1/2/3" linking to what was learned
- Added: "Notice how all three patterns you applied manually are there!"
Takeaway:
- Opens with: "You now know how to create nf-core modules!"
- Emphasizes manual learning equips you to work with, debug, and create
- Reinforces learning-by-doing → practical tooling progression
Cross-references:
- Updated Part 3 link text to match new framing
- Updated Part 5 prerequisite note with new title
- Updated mkdocs.yml navigation
The reframing maintains all technical content while shifting emphasis
from "fixing local modules" to "learning to create nf-core modules."
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
* Highlight additional nf-core conventions in template
Added note in section 2.1 explaining conventions that appear in the
nf-core modules create template but weren't covered in the hands-on
section:
- tag "$meta.id" - for process tracking in logs
- label 'process_single' - for resource configuration
- versions.yml output - for reproducibility tracking
- UPPERCASE process names - naming convention
This helps students understand that the template provides more than
just the three patterns they learned manually, preparing them for
working with real nf-core modules.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
* Clarify working within core-hello pipeline context
Added explicit reminders that students are working within their
core-hello pipeline:
Introduction:
- Changed "our local cowpy module" to "the local cowpy module in your
core-hello pipeline" to establish context early
Section 1:
- Updated intro to specify "in your core-hello pipeline"
- Added prominent tip box reminding students to cd into core-hello
- Provides explicit command: cd core-hello
This addresses potential confusion about where students should be
running commands and editing files, especially for those starting
from a solution or returning after a break.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
* Minor changes to nf-core part 4
* Clarify ext.args usage and flexibility
Fixed inaccurate description of when to use ext.args:
Before: Implied ext.args is only for "optional" arguments and suggested
a hard distinction between channel inputs and ext.args.
After:
- Clarified ext.args is for passing command-line arguments through
configuration rather than as process inputs
- Added note explaining ext.args can be dynamic and sample-specific
using closures that access metadata
- Example: ext.args = { meta.single_end ? '--single' : '--paired' }
- Updated benefits to mention "including sample-specific values"
This correction is important because:
1. ext.args is commonly used with closures for dynamic, per-sample args
2. The distinction isn't "mandatory vs optional" but rather
"data inputs vs tool configuration"
3. Prevents students from thinking ext.args is limited to static values
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
* Elevate and clarify centralized publishDir explanation
Made the publishDir centralization more prominent and clear:
Before: Mentioned in a collapsed note, easy to miss
After: Full section explaining the concept properly
Key improvements:
1. New section header: "Centralized publishing configuration"
2. Shows the actual default publishDir config from modules.config:
- path template using task.process
- mode from params
- saveAs to filter versions.yml
3. Explains the default behavior: auto-publishes to outdir/<process_name>/
4. Clarifies customization is still possible via withName: blocks
5. Clear benefits:
- Useful default that "just works"
- Easy customization in config (not module code)
- Portable modules without hardcoded paths
This is a fundamental nf-core convention that deserves proper emphasis,
not just a side note. Students need to understand why removing
publishDir from the module is the right approach.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
* tweak
* Add subtle Babylon 5 reference with kosh character
Changed the test example to use 'kosh' as the cowpy character with
a subtle hint about its enigmatic nature.
For B5 fans: You know exactly who Kosh is. Understanding dawns. Yes.
For everyone else: It's just an unusual cowsay character option.
This maintains accessibility while adding a fun easter egg for those
in the know. The word "enigmatic" is appropriate whether or not you
recognize the reference.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
* Enrich nf-core modules create section with environment/container details
Updated section 2.1 based on actual command behavior:
Interactive prompts:
- Changed from generic list to qualitative description
- Explains tool looks up info from Bioconda and bio.tools automatically
- Describes the three key prompts: author, resource label, meta requirement
- Emphasizes tool handles complexity, user focuses on logic
Generated structure:
- Shows actual output format: "INFO Created following files:"
- Clarifies creates in modules/local/ (or modules/nf-core/ in modules repo)
- Lists all 4 files with clear purpose explanations
New section: Completing environment and container setup
- Explains cowpy is in conda-forge (not Bioconda)
- Shows how to write environment.yml for conda-forge packages
- Introduces Seqera Containers for building containers from Conda packages
- Tip box explaining Bioconda (BioContainers) vs conda-forge (Seqera Containers)
- Links to https://seqera.io/containers/
This addresses the real-world scenario that not all tools are in
Bioconda, and shows students how to handle conda-forge packages using
Seqera Containers for containerization.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
* Use --empty-template flag for cleaner module creation example
Updated the nf-core modules create command to include --empty-template:
```bash
nf-core modules create --empty-template cowpy
```
Benefits:
- Creates a minimal template without extra boilerplate
- Makes it easier for learners to see the essential structure
- Avoids overwhelming students with auto-generated comments and TODOs
- Cleaner starting point for understanding the patterns
Added brief explanation that this flag provides a clean starter template,
making the essential nf-core conventions more visible.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
* Update module template to match actual --empty-template output
Replaced the example template with the actual output from:
nf-core modules create --empty-template cowpy
Key changes:
Template now shows:
- Fixed typo: "pprocess" → "process"
- Actual container placeholder structure for Singularity/Docker
- when: block for conditional execution (task.ext.when)
- stub: block for fast mock testing
- More realistic placeholder comments
Enhanced bullet list to include newly visible features:
- when: block - conditional execution via task.ext.when
- stub: block - fast mock implementation for testing without running tool
- Container placeholders - template structure for both engines
Added syntax highlighting to emphasize:
- Lines 10-11: Metadata tuple input (Pattern 1)
- Line 19: when block
- Lines 25-26: ext.args and ext.prefix (Patterns 2 & 3)
- Lines 40-41: stub block versions
This gives students an accurate view of what they'll actually see when
running the command, including important features like stub blocks that
enable fast pipeline testing.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
* Add reference to nf-test side quest for testing
Added tip box after the generated files list that points students to
the nf-test side quest for learning about module testing.
The nf-core modules create command generates test files using nf-test,
but we don't cover testing in this lesson. The tip box:
- Explains the generated test file uses nf-test
- Provides clear link to the nf-test side quest
- Appears right after listing the test files, when students are
naturally curious about them
This helps students understand what the test files are for and where
to learn more, without derailing the main lesson about module patterns.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
* Fix remaining file path links to use backticks
Changed markdown link syntax to simple backticks for file paths where
the link doesn't make sense:
- Line 48: [core-hello/modules/local/cowpy.nf](...) → `core-hello/modules/local/cowpy.nf`
- Line 110: [core-hello/workflows/hello.nf](...) → `core-hello/workflows/hello.nf`
These are file paths that students should open in their editor, not
clickable navigation links within the training site. Backticks are
more appropriate for indicating file paths to edit.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
* Clarify distinction between channel inputs and ext.args
Fixed line 167 to better explain when to use channel inputs vs ext.args:
Before: Confusing phrasing about "optional tool arguments" and
"metadata plus mandatory value and file inputs"
After: Clearer distinction:
- Module interface focused on "essential data (files, metadata, and
any mandatory per-sample parameters)" - these go via channels
- "Tool configuration options" go through ext.args
This clarifies that:
- Files and metadata always go through channels
- Mandatory per-sample parameters also go through channels
- Tool configuration/options (whether optional or not) use ext.args
The distinction is about data vs configuration, not mandatory vs optional.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
* Fix highlight
* Fix highlight
* Fix up part 4 solution
* Try some linting fixes
* Fix linting errors in nf-core solution files
- Fixed markdown code fence formatting in 04_make_module.md
- Fixed end-of-file formatting in all .snap test files
- Removed extra blank lines from utils_nfschema_plugin/main.nf files
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
* prettier
* Fix nested list indentation in input validation docs
Changed sub-list indentation from 3 to 4 spaces to properly render
nested bullet points under numbered list items.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
* Fix list rendering in input validation docs
Changed from numbered list to bold headings with bullet lists to prevent
all items from rendering as a single 10-item numbered list.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
* Remove redundant sentence from validation section
Removed repetitive statement about early failure that was already
established in the "Why validation matters" section above.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
* Clarify nf-schema as standalone plugin
Emphasized that nf-schema is a standalone Nextflow plugin that can be
used in any pipeline, while also noting its heavy integration with and
adoption by nf-core.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
* Update schema docs to use interactive builder tool
Replaced manual JSON editing instructions with the interactive
nf-core pipelines schema build workflow. Added screenshots showing
the web interface for adding parameters. Emphasized that manual
editing is error-prone and the GUI tool is the recommended approach.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
* Fix image links
* Fix image paths in input validation docs
Changed image paths from ./img/hello_nf-core/ to ./img/ to match
the convention used in other hello_nf-core lessons.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
* Fix validation configuration approach
Replaced incorrect --validationSchemaIgnoreParams command-line flag
with proper nextflow.config validation block configuration. Added
before/after code blocks showing how to temporarily ignore input
validation during section 2 and re-enable it in section 3 after
configuring the input data schema.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
* Improve schema_input.json section with before/after
Changed section 3.3 to use before/after tabs showing the transition
from the template's default paired-end sequencing schema to the
simpler greetings schema. This helps users understand what they're
changing and why.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
* Replace file link with backticked string
Changed file path from markdown link to backticks to match
repository conventions.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
* Reorganize validation configuration section
Moved validation configuration content from the oddly-placed section 3.5
note to a new section 1.4 that explains how nf-schema is installed and
configured in nf-core pipelines. This section now includes:
- Explanation of how nf-schema is pre-installed in the template
- The validation{} configuration block
- The before/after edit to add ignoreParams for input validation
- Context for why we temporarily disable input file validation
Removed the duplicate content from section 2.3 (now 2.3 is just testing).
This provides better flow: users configure validation upfront in section 1,
then work through parameter validation in section 2, and finally re-enable
input validation in section 3.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
* Polish validation docs for consistency and clarity
- Fixed test command to use 'nextflow run .' consistently
- Fixed cross-reference from section 3.6 (was 2.3, should be 1.4)
- Improved clarity of verification step with bold header
- Updated test output examples to be more accurate
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
* Add context about Hello Nextflow workflow
Added a "What does the Hello Nextflow workflow do?" subsection at the
start of section 2 to provide context for users who may not have
completed the Hello Nextflow training course. This explains the
workflow's purpose and functionality before diving into making it
composable.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
* Add course overview to orientation
Added "What you'll learn" section to orientation that explains the
five core concepts covered in the course and why they matter. Sets
expectations that we can't be exhaustive but focus on essential
concepts for getting started with nf-core.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
* Add summary page to Hello nf-core course
Created a new summary page that wraps up the course by:
- Highlighting what learners built (the core-hello pipeline)
- Summarizing the five key skills acquired
- Explaining the transformation from research script to production pipeline
This provides closure before the survey and next steps pages.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
* Update Part 5 ending to point to summary page
Replaced the large Congratulations section with a simple "What's next?"
that directs users to the new summary page. This avoids duplication and
maintains consistent flow across all parts that end with "What's next?".
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
* Fix solutions
* Some linting fixes
* Fix linting errors in core-hello-part5 solution
Remove trailing whitespace from cowpy module files to pass
editorconfig checks.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
* Fix remaining linting issues in core-hello-part5 solution
- Remove trailing whitespace from snap files
- Add newlines at end of snap files
- Remove extra blank line from utils_nfschema_plugin/main.nf
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
* Strip nf-core side quest in favour of 'hello nf-core'
* Fix workflow description to match actual behavior
Corrected the Hello Nextflow workflow description:
- sayHello writes greetings to files (doesn't add "world!")
- convertToUpper operates on the greeting text
- Added process names for clarity
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
* Try some folding directory listings
* Replace step labels and bold text with numbered headings in hello_nf-core
Convert all instances of step labels and bold text pseudo-headings to proper
numbered headings for consistency and better navigation.
Changes:
- 03_use_module.md: Convert 5 "Step X:" labels to numbered headings (1.9.1-1.9.5)
- 04_make_module.md: Number 15 subsection headings (1.2.1-1.2.6, 1.3.1-1.3.4, 2.1.1-2.1.2, 2.2.1-2.2.3)
- 05_input_validation.md: Convert 3 bold labels to numbered headings (2.2.1, 3.7.1-3.7.2)
and fix incorrectly numbered intro sections
Benefits:
- Consistent numbered heading structure throughout documentation
- All subsections appear in table of contents and sidebar navigation
- Sections can be directly linked with anchor links
- Easier to maintain with automated heading validation
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
* Prettier
* Address Geraldine's editorial comments on Hello nf-core
This commit addresses the straightforward editorial feedback from
Geraldine's review of PR #691, focusing on improving clarity and
messaging for the research pipeline audience.
Changes:
- Strip em-dashes throughout (replace with periods/separate sentences)
- Revise messaging to avoid implying production vs research dichotomy
- Remove "production-ready" claims about the toy example
- Improve explanations of workflow summaries and technical concepts
- Clarify ext.args benefits (avoiding many optional input parameters)
- Replace jargon (e.g., "test harness") with simpler terms
- Make "learn by doing" messaging more specific and actionable
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
* Remove remaining em-dashes from Hello nf-core
Strip all remaining em-dashes from the hello nf-core documentation,
replacing them with periods, commas, or colons as appropriate for
cleaner, more straightforward technical writing.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
* Address editorial comments from PR review
- Add link to Hello Nextflow configuration section in 01_run_demo.md
- Rewrite workflow summary in 02_rewrite_hello.md to be more natural
- Remove redundant sentence about nf-core tooling in 04_make_module.md
- Restructure ext.args section with high-level overview first
- Improve ext.args explanation to be more specific about what it is
- Separate ext.args and publishDir discussions for better flow
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
* Move publishDir configuration details to note box
Reorganize section 1.2.2 to present benefits first, then move the
default publishDir configuration details into a note box with a link
to nf-core documentation. This improves readability and flow.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
* Restore backticks
* Improve publishDir configuration explanation
Expand the note box to explain the three parts of the default
publishDir configuration: path (with workflow hierarchy explanation),
mode, and saveAs. Acknowledge the complexity upfront and provide
concrete example of SAMTOOLS_SORT -> samtools/.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
* Minor editorial improvements to module creation section
- Change "understand" to "learned" for better flow
- Replace "boilerplate" with clearer "extra code"
- Expand resource label explanation to introduce the concept
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
* Clarify module template customization requirements
Addresses PR feedback about confusion around which parts of the
generated module template need customization vs work as-is.
Changes:
- Split features in section 2.1.1 into "work as-is" vs "placeholders
to customize"
- Added three new sections (2.1.3-2.1.5) with before/after examples
showing how to:
- Define inputs and outputs for the specific tool
- Write the script block with actual tool command
- Implement the stub block to match script outputs
- Referenced manual module work from section 1 for consistency
- Clarified that features like tag, label, and when block are already
functional
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
* Restructure validation intro and reduce overconfident claims
Addresses PR feedback about section structure and overconfident language.
Changes:
- Moved intro material (sections 1.1-1.3) to top-level overview before
numbered sections
- Moved configuration step (old 1.4) into section 1 as first practical
step before examining schema
- Renumbered all sections (old section 2 → 1, old section 3 → 2)
- Updated takeaways to be less presumptuous: "You've learned" instead
of "You now know", "seen in action" instead of "know how"
- Removed abrupt section ending - section 1 now flows naturally from
config to schema examination to adding parameters
The structure now feels more complete with each section having clear
practical outcomes rather than ending on pure exposition.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
* Clarify monochromeLogs parameter description
The previous description "Control colored output" was vague. Changed to
"Disable colored output in validation messages when set to true" to be
more specific about what the parameter does.
Addresses PR feedback about vague wording.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
* Clarify input data validation scope and monochromeLogs
Addresses two PR feedback items:
1. Clarified that input data validation is for sample sheet/manifest
structure, NOT for validating contents of large data files (BAM,
FASTQ, etc.). Added note explaining that data file validation should
happen in processes on worker nodes for large-scale genomics.
2. Made monochromeLogs description more specific: "Disable colored
output in validation messages when set to true" instead of vague
"Control colored output"
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
* Make takeaway bullet more explicit about publishDir
Changed "Centralized configuration" to "Centralized publishing via
publishDir configured in modules.config rather than hardcoded in
modules" to be explicit about what this pattern covers.
Addresses PR feedback that the connection wasn't clear.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
* Prioritize visual output verification over command inspection
Changed testing section to check visual output first (faster and more
natural for workshops), with command file inspection as an optional
follow-up for those who want to see implementation details.
Addresses PR feedback about making workshop experience more efficient.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
* Change section heading to avoid overloaded 'template' term
Changed "Use nf-core tooling to create modules" to "Generate modules
with nf-core tools" to avoid confusion between pipeline templates and
module templates.
Addresses: #691 (comment)
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
* prettier
* Correct a highlight
* Move "What you'll learn" content to index page
* Improvements to the Orientation page
If we like this new version we can implement it for all the course orientation pages that apply
* minor tweaks
* Reworked Part 1 (run demo) for clarity and flow
* Add green start button
* Completed updates to Part 2
plus a formatting fix to Part 1
* Header formatting fix
* Improvements to Part 3 (add a module)
Made minor rearrangements to the order of the content, broke it down into 3 subsections, fleshed out some of the explanations to be more accessible to less experienced developers. Also added a screenshot. Planning a diagram for additional clarity.
* Partial revamp of Part 4 (some placeholders left)
Mainly rearranged the content to make it more accessible. I was a bit confused on my first pass. This breaks things down into more separate buckets of work.
Also some formatting fixes to Part 3
* Completed revamped Part 4 (minus a few optional TODOs)
Will need to recheck all the code/line numbers etc
* fix ghost lines
* Minor fixes
Mostly consistency and also the box on plugins was way out of place
* Final tweaks to Part 1
* Minor updates and address TODO: add diagram
* Fix image
* SVG rendering not working within admonition?
* Update Part 2 plus solutions
* Minor updates to Part 3 (line numbers mostly) and solutions
* Minor updates to 4 and 5 (line numbers mostly)
* Consistency
* Minor updates
Going to need to update the validation part based on the three column format...
---------
Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: Adam Talbot <12817534+adamrtalbot@users.noreply.github.com>
Co-authored-by: Geraldine Van der Auwera <geraldinevdauwera@gmail.com>1 parent 47b964b commit 1c4ff25
File tree
139 files changed
+7573
-3391
lines changed- docs
- hello_nextflow/img
- hello_nf-core
- img
- side_quests
- hello-nf-core
- original-hello
- solutions
- composable-hello
- core-hello-part2
- assets
- conf
- docs
- modules/local
- subworkflows
- local/utils_nfcore_hello_pipeline
- nf-core
- utils_nextflow_pipeline/tests
- utils_nfcore_pipeline/tests
- utils_nfschema_plugin
- tests
- workflows
- core-hello-part3
- assets
- conf
- docs
- modules/local
- subworkflows
- local/utils_nfcore_hello_pipeline
- nf-core
- utils_nextflow_pipeline/tests
- utils_nfcore_pipeline/tests
- utils_nfschema_plugin
- tests
- workflows
- core-hello-part4
- assets
- conf
- docs
- modules/local
- cowpy
- tests
- subworkflows
- local/utils_nfcore_hello_pipeline
- nf-core
- utils_nextflow_pipeline/tests
- utils_nfcore_pipeline/tests
- utils_nfschema_plugin
- tests
- workflows
- core-hello-part5
- assets
- conf
- docs
- modules
- local
- cowpy
- tests
- nf-core/cat/cat
- tests
- subworkflows
- local/utils_nfcore_hello_pipeline
- nf-core
- utils_nextflow_pipeline
- tests
- utils_nfcore_pipeline
- tests
- utils_nfschema_plugin
- tests
- workflows
- side-quests/nf-core/data
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
139 files changed
+7573
-3391
lines changedLoading
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | | - | |
| 1 | + | |
2 | 2 | | |
3 | | - | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
4 | 6 | | |
5 | | - | |
6 | | - | |
| 7 | + | |
7 | 8 | | |
8 | | - | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
9 | 17 | | |
10 | 18 | | |
11 | 19 | | |
12 | | - | |
| 20 | + | |
| 21 | + | |
13 | 22 | | |
14 | 23 | | |
15 | 24 | | |
16 | | - | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
17 | 28 | | |
18 | | - | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
19 | 32 | | |
20 | 33 | | |
21 | 34 | | |
| |||
25 | 38 | | |
26 | 39 | | |
27 | 40 | | |
28 | | - | |
| 41 | + | |
29 | 42 | | |
30 | 43 | | |
31 | 44 | | |
32 | 45 | | |
33 | 46 | | |
34 | 47 | | |
35 | 48 | | |
36 | | - | |
| 49 | + | |
37 | 50 | | |
38 | 51 | | |
39 | 52 | | |
| |||
46 | 59 | | |
47 | 60 | | |
48 | 61 | | |
49 | | - | |
50 | | - | |
51 | | - | |
52 | | - | |
53 | | - | |
54 | | - | |
55 | | - | |
56 | | - | |
57 | | - | |
58 | | - | |
59 | | - | |
60 | | - | |
61 | | - | |
62 | | - | |
63 | | - | |
64 | | - | |
65 | | - | |
66 | | - | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
67 | 82 | | |
68 | | - | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
69 | 89 | | |
70 | 90 | | |
71 | 91 | | |
| |||
74 | 94 | | |
75 | 95 | | |
76 | 96 | | |
77 | | - | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
0 commit comments