---
# System prepended metadata

title: nf-core/tools config builder meeting notes
tags: [configs, configbuilder]

---

---
title: "nf-core/tools config builder meeting notes"
tags: configbuilder
---

## 2025-12-01

### Useful Links

- Scope Diagram: https://docs.google.com/drawings/d/1kh6KsGzL2AAitKQXlNCvQupjzYn12FGTUvJO1UkcCu0/edit?usp=sharing
- Issue: https://github.com/nf-core/tools/issues/2731
- OLD Branch: https://github.com/nf-core/tools/pull/3001 (but might want to replace)
- New Branch: https://github.com/nf-core/tools/pull/3949
- Textual docs: https://textual.textualize.io/

### Meeting Notes

- Targets for 3.6.0
  - Basic questions, all manual fill in by user
- Target for 3.7.0
  - Automation (auto-guessing scheduler, container system, pipeline module paths)

Next steps:
- (JMR) Resolve conflicts from current PR :white_check_mark: 
- (JMR) Merge into a new nf-core branch :white_check_mark: (https://github.com/nf-core/tools/pull/3949)
- (JMR) Create project board :white_check_mark: (https://github.com/orgs/nf-core/projects/143/views/2)
- (GS/MG/JMR) Make issues (as preferred)
- (MG) Build screens for pipeline configs
- (MG) Test automation with different HPC configurations

## 2024-02-20

Attended: James, Júlia, Matthias, Cris

### Notes

- Current state/ideas:
    - Simple config builder works
    - TUI?
    - fast mode would be nice to have (with mostly autodetect and spit out defaults)
    - Auto-proporgate list of processes to offer to user for pipeline-config

- TUI
    - Pydantic model for validation
    - Use branch/fork: ewels:textual-create (see pipelines/create: good template to work from -> or on dev)

- Autodeteciton:
    - author: from gh cli
    - modules code for pulling module information
    - utils.py is a good place to look

- Tooling while developing
    - Use pre-commit!

- James python amateur notes

  - Don't worry about coding style (except python 2)
  - tools/nf-core__main__/.py is the entry point
  - within main.y you find the function that comes from each sub-command `.py` (which can be within a directory)
  - the init imports all of the functions


### Actions

- Plan:
    - Update Georgie if necessary (maybe meeting before)
    - Ask Júlia before hackathon if merged into dev
    - General: Georgie/Cris/James take a stab, and request regular reviews from Júlia/Mathias who can point out duplicate code etc.
    - Make sure to have precommit set up etc.
    - Start with `ewels:textual-create` or `dev` as foundation
    - To begin:
        - Define main subcommand in `__nf-core/__main__.py`, calling a function
        - Function stored in a script (e.g. `create.py`) or within a specific directory 
        - `__init__.py` file imports modules from elsehwere to use  in X context
    - To add questions, follow 'pipelines/create' textual examples 
        - For automation, e.g. getting name using git cli
        - For how to construct pydantic validation
        - etc
    - For general functions that may exist, see `utils.py` 