Contributing to open source
Open source taught me how to collaborate and code.

Even though I was already contributing to nf-core during my master's thesis,
I joined the nf-core team in 2022.
I joined the core team and the infrastructure team as a maintainer of the nf-core/tools package.
nf-core/tools is a python package that offers different tools to help pipeline developers and users.
As a maintainer of this package and the whole nf-core infrastructure,
these are some of the tasks I help with:
- Create nf-core pipelines from a template
- Creating nf-core modules and subworkflows (components)
- Linting nf-core pipelines and components
- CI of the pipelines
- CI in other repositories, such as the modules repository
- This involves lots of code reviews too 💫
- And don't forget the discussions with the community to decide on the guidelines, best practices, and naming ✨
⚙️ Some technical aspects:
- Template rendering is made with Jinja2
- We test nf-core/tools with pytest
- We have a system to deliver template updates to all nf-core pipelines through GitHub
- All pipelines come with a JSON schema to validate parameters (the validation is done by the nf-schema plugin)
- We are using Textual for some of the nf-core commands 🌈