anishathalye / anishathalye/dotbot

Named groups of tasks

Open
#81 10 comments 7 reactions 0 assignees View on GitHub
enhancement
Dominant language
Python
Stars
8k
Forks
320
PR merge metrics
No merged PRs in 30d

Description

Something I'm currently doing is grouping related commands by their goal rather than their type, i.e. instead of having all the links together, I have:

``` yaml
#### vim ####
- shell:
- [git submodule update --init --recursive "vim/vim-plug", Installing vim-plug]
- link:
~/.vimrc: vim/.vimrc
~/.vim/autoload/plug.vim: vim/vim-plug/plug.vim

### fish ###
- link:
~/.config/fish/config.fish: fish/config.fish
```

While this works great, it leads to the output of dotbot not being as easy to parse:
- It's pretty hard to see where one goal ends and the next begins, even with the green success messages.
- The success messages aren't a great fit for repetition, it's a little weird to see "All commands have been executed" multiple times.

Given this, it would be cool to lift this sort of jobs pattern into dotbot itself, so that dotbot can intelligently group output based on the jobs. I'm thinking something like this:

``` yaml
- jobs:
vim:
- shell:
- [git submodule update --init --recursive "vim/vim-plug", Installing vim-plug]
- link:
~/.vimrc: vim/.vimrc
~/.vim/autoload/plug.vim: vim/vim-plug/plug.vim
fish:
- link:
~/.config/fish/config.fish: fish/config.fish
```

(I'm not particularly for or against the top level `jobs` task, but it seems like the easiest way to fit into the current plugin capability.)

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.