nf-core / nf-core/tools

Lean down CLI for remote component repositories

Open
#2,993 4 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

command line tools
Dominant language
Python
Stars
322
Forks
255
Avg merge
2d 3h
Merged PRs (30d)
5

Description

Description of feature

When using a remote component repository, most modules and subworkflows commands need to be augmented with --git-remote or -g and if needed the --branch. It ok when installing multiple modules or subworkflows back-to-back, the command line still in history.

In my lab, however it has become increasingly heavy, since most of our modules and subworkflows live outside of nf-core repositories for now and the creation of a new component requires to call create, test and lint commands a lot. It would be nice to have a programmatic way to configure those remotes, may it be in nf-core configuration directly, or through the CLI environment.

I'm not sure the best way to do this, environment variables seems easy to do, but XDG_CONFIG_HOME is maybe a more standard way to do it. In any case, let's talk about it !

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reviewing the CLI's modules and subworkflows create, test, and lint commands, especially their existing --git-remote/-g and --branch options. Determine how a persistent remote configuration should interact with those flags and define a clear completion check for repeated remote-component operations.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
cli, tooling
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.