Add markdown output mode to lint command#6715
Merged
bentsherman merged 2 commits intomasterfrom Jan 13, 2026
Merged
Conversation
Add a new `-o markdown` option to the `nextflow lint` command that generates markdown-formatted output for lint results. The markdown output includes: - Header with title "Nextflow lint results" - Metadata: generation timestamp (ISO 8601), Nextflow version, summary - Errors section with `:x:` emoji (omitted if no errors) - Warnings section with `:warning:` emoji (omitted if no warnings) - Each entry shows filename:line:column, message, and code snippet with caret highlighting Errors and warnings are sorted by filename then by position. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> Signed-off-by: Phil Ewels <phil.ewels@seqera.io>
✅ Deploy Preview for nextflow-docs-staging ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
bentsherman
approved these changes
Jan 13, 2026
Member
|
Tested it on nf-core/rnaseq and it works wonderfully. Well done Phil 👍 |
pditommaso
pushed a commit
that referenced
this pull request
Jan 16, 2026
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.
I was building some automation around lint results and wanted to generate some nice markdown. I figured instead of writing that in my crappy Python script, I should do it upstream in Nextflow itself, then anyone can use it.
-o markdownoption to thenextflow lintcommandPR details
The markdown output includes:
:x:emoji (omitted if no errors):warning:emoji (omitted if no warnings)filename:line:column, message, and code snippet with caret highlighting (^^^)Errors and warnings are sorted by filename then by position.
Example output
🤖 Generated with Claude Code
Example output:
nextflow lint -o markdown .Nextflow lint results
❌ Errors
Error:
nextflow.config:293:28:manifestis not definedError:
nextflow.config:296:26:manifestis not definedError:
nextflow.config:296:69:manifestis not definedError:
nextflow.config:296:186:manifestis not definedError:
nextflow.config:306:22:validationis not definedError:
nextflow.config:307:21:validationis not definedError:
nf-test.config:1:1: Config settings must be assigned with an equals sign (=)config { ^Warning:
nextflow.config:296:129: Implicit closure parameter is deprecated, declare an explicit parameter insteadWarning:
subworkflows/local/utils_nfcore_demo_pipeline/main.nf:31:5: Parameter was not used -- prefix with_to suppress warningmonochrome_logs // boolean: Do not use coloured log outputs ^^^^^^^^^^^^^^^Warning:
subworkflows/local/utils_nfcore_demo_pipeline/main.nf:34:5: Parameter was not used -- prefix with_to suppress warninginput // string: Path to input samplesheet ^^^^^Warning:
subworkflows/local/utils_nfcore_demo_pipeline/main.nf:38:19: The use ofChannelto access channel factories is deprecated -- usechannelinsteadWarning:
subworkflows/local/utils_nfcore_demo_pipeline/main.nf:75:5: The use ofChannelto access channel factories is deprecated -- usechannelinsteadChannel ^^^^^^^Warning:
subworkflows/nf-core/utils_nfcore_pipeline/main.nf:101:98: The use ofChannelto access channel factories is deprecated -- usechannelinsteadWarning:
workflows/demo.nf:26:19: The use ofChannelto access channel factories is deprecated -- usechannelinsteadWarning:
workflows/demo.nf:27:24: The use ofChannelto access channel factories is deprecated -- usechannelinsteadWarning:
workflows/demo.nf:34:68: Implicit closure parameter is deprecated, declare an explicit parameter insteadWarning:
workflows/demo.nf:44:9: Variable was declared but not usedWarning:
workflows/demo.nf:63:32: The use ofChannelto access channel factories is deprecated -- usechannelinsteadWarning:
workflows/demo.nf:66:9: The use ofChannelto access channel factories is deprecated -- usechannelinsteadWarning:
workflows/demo.nf:67:9: The use ofChannelto access channel factories is deprecated -- usechannelinsteadWarning:
workflows/demo.nf:69:9: The use ofChannelto access channel factories is deprecated -- usechannelinsteadWarning:
workflows/demo.nf:70:9: The use ofChannelto access channel factories is deprecated -- usechannelinsteadWarning:
workflows/demo.nf:74:27: The use ofChannelto access channel factories is deprecated -- usechannelinsteadWarning:
workflows/demo.nf:80:45: The use ofChannelto access channel factories is deprecated -- usechannelinstead