Sprout is a tool to allow developers to organize multiple repositories into a directory structure while also allowing execution of commands across all cloned repositories.
MacOS:
- Curl and unzip the package
curl -L https://github.com/Fair2Dare/go-sprout/releases/download/VERSION_HERE/kamino_macos_x64.tar.gz | tar xz -C /usr/local/bin
- Dowload kamino_macos_x64.tar.gz from releases, extract the executable, and add it to your $PATH
Windows:
Download the latest release releases, extract the executable, and add it to your $PATH
Linux:
- Curl and unzip the package
curl -L https://github.com/Fair2Dare/go-sprout/releases/download/VERSION_HERE/kamino_linux_x64.tar.gz | tar xz -C /usr/local/bin
- Dowload kamino_linux_x64.tar.gz from releases, extract the executable, and add it to your $PATH
Create a .sprout_config.yml
inside your $HOME folder. This will contain your configuration for the folder structure, as well as what repos to select from.
projects:
- name: Project1
projects:
- name: Project2
repos:
- https://github.com/Fair2Dare/repo3.git
repos:
- https://github.com/Fair2Dare/repo1.git
- git@github.com:Fair2Dare/repo2.git
- name: Project3
repos:
- https://github.com/Fair2Dare/repo4.git
The format for inputting commands is sprout {flags} {command} {args...}
- -X or --verbose - Enable all logs including debug logs
- -h or --help - Print the help prompt
- create - generate the folder structure and clone all selected repos
- spread - all input after the word spread will be treated as a command and ran in each repository
** NOTE: Currently can only be run in the root directory of the project (where you ran
sprout create
)