Mrm: a tool for managing Moqui multi-repo workspaces

I’d like to share the first public release of mrm (multi-repo-manager), a CLI tool I built to manage many git repositories as a single workspace:

I thought it might be useful to share with the Moqui community because Moqui setups involve multiple repositories in a nested structure with the need to recreate the same structure across different machines.

For example, a Moqui workspace might look something like this:

cd projects
git clone https://github.com/moqui/moqui-framework
cd moqui-framework
git clone https://github.com/moqui/moqui-runtime runtime
cd runtime/component
git clone https://github.com/moqui/mantle-udm
...

Once that structure is in place, you can capture it in a YAML file with:

mrm find projects --save

Then later you can do things like:

mrm update

to update all tracked repositories, or on another machine copy the YAML file and run:

mrm sync

to recreate the same workspace structure.

What mrm does:

  • define all repos once in a YAML file
  • clone, sync, and update them together
  • check status across all repos with one command
  • run bulk commands across the whole workspace
  • keep forks synced from upstream to origin
  • handle nested repositories cleanly
  • run ad hoc commands without YAML when needed

This is the first public release (0.1.0), and I wanted to share it as a small way of giving back to the open source community. I’ve benefited a lot from Moqui and from open source software in general, and this tool came out of trying to make that kind of day-to-day multi-repo work simpler and more repeatable.

If it looks useful for Moqui workflows, I’d really appreciate any feedback, ideas, or suggestions.