A tool for managing organisations with many repositories in a structured way, commonly called a Projected Monorepo
Project repositories are named group-project-name
When the projects are branched out locally they look like this
group one
group two
The reason is simple, it gives a consistent structure for developers
Brew is a handy tool for consistent tooling, it can be run on OSX and Linux
brew tap Branchout/homebrew-branchout
brew install branchout
To start with an existing project just init it from the git url
branchout init https://github.com/Branchout/branchout-reactor.git
cd ~/project/branchout-reactor
branchout status
branchout pull
This will create the Branchoutfile and Branchoutprojects if needed
The default branchout name is the name of the root project
You can now add projects
branchout add <project-name>
They will show as not cloned until you branchout pull
If you want to clone when you add
branchout clone <project-name>
If you have a corporate CA bundle that you need to trust just add it at <metarepo>/.branchout/cacerts
branchout-yarn will configure the environment so that yarn can trust certificates in or signed by certificates in cacarts
Installing the required tools
brew install git bats-core shellcheck
The tests are written in bats https://github.com/bats-core/bats-core
Note, the sstephenson/bats
repository is unmaintained, bats-core is what you want.
make test
Feel free to send some PRs in, with tests