Hello nf-core community, I built nf-tui, an open ...
# shameless-promo
s
Hello nf-core community, I built nf-tui, an open source terminal UI for debugging past and currently running Nextflow pipelines. nf-tui reads what Nextflow already writes: .nextflow.log and the run's work directories, straight from disk. No plugin, no agent, no account, no instrumentation. Works on the run going right now, the one a colleague launched, or one that failed in CI last week. Nothing leaves your infrastructure. No run metadata, no sample names, no file paths sent to a SaaS. It's a local process reading local files. Under GxP, PHI, or IP constraints, that removes the issues of sharing data with a third-party service. Nothing to deploy either. No service, no database, no seats to buy. A Nextflow user installs this in their home directory or on a HPC cluster. Debugging is all on one screen: task tree, the selected task's log, output files with sizes as they're written, the run log, and a running-vs-queued view and ability to view files of a task. BAM/CRAM get decoded with samtools from that task's own container. I also built this to be an MCP, so it talks to your agents. nf-tui-mcp serves the run over MCP, so Claude or any MCP client can call get_failures and get every broken task with its root cause, Nextflow's error report, and its .command.err in one call. Triage without a human opening a dashboard. site: stavgrossfeld.github.io/nf-tui Happy to hear feedback and whether this is useful for the community. Best, Stav
🎉 7
👀 5
m
Excited about it, I'll have a look. Thanks Stav
s
Thanks Maxime, glad you came across it! Would love to hear your thoughts once you've had a chance to try it out
u
Great tool. I’ll try it on my HPC. Python tools tend to be less responsive on lightly resourced jump nodes on our HPC. Compiled tools tend to perform better.
c
Lately with the raise of coding TUIs I've just realized how important and useful those are. This is very similar to the one I built for the horus-runtime. The MCP piece I don't understand though. Why not just edit the workflow or let the LLM read the log files directly to propose fixes? Would be great to connect and swap notes sometime, so I can understand better your implementation details 💪