Skip to content

Add option for custom child-template repo #2898

Open
@ewels

Description

@ewels

In some cases, people want to use the nf-core template and associated best practices (and updates), but constantly need to apply the same set of modifications when creating new pipelines. In this situation, it would be nice to be able to supply a "child template" that overwrites specific desired template files, and/or adds additional ones.

Template overrides are a pretty standard mechanism, see examples such as mkdocs, MultiQC and more.

Workflow should be:

  1. Create a new repository for the custom template. Add any files that you want to overwrite.
    • For example, if you want a custom readme but everything else the same, create just a README.md file and nothing else
  2. Run nf-core create --template https://github.com/myorg/mytemplate
  3. The create command generates a pipeline as normal. It then renders the custom repo template afterwards, and copies these generated files on top of the vanilla pipeline output.
  4. The template git repo is noted in .nf-core.yml so that the same process can be repeated for pipeline syncs (and even linting?)

Will need additional docs to describe the various template variables that are available for use, such as {{ name }} etc.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions