TL;DR
mrgit is no longer maintained. v5.1.0 is the final release. The package stays on npm and existing installations keep working, but there will be no new features, bug fixes, or security patches.
If you still depend on mrgit, please leave a comment below before the end of 2026.
How it started
mrgit started in January 2017 (as mgit2 and renamed later) as a tool for CKEditor 5. At the time, CKEditor 5 wasn't one repository. It was dozens of them: the engine, the UI, and every feature lived in its own repository and was released as its own npm package. That gave us clean boundaries between packages, but daily work was hard. One change often touched many repositories, and every developer had to clone, sync, branch, commit, and push them all.
mrgit did one thing: it read a single file and ran git operations across all the repositories at once:
sync clones or updates every repository,
checkout switches branches everywhere,
status shows the whole project in one table,
exec runs any other command in each repository.
Later we added presets, a $rootRepository, and recursive cloning, as our setup grew.
Why we no longer need it
In 2020 CKEditor 5 moved to a monorepo. All the feature packages moved into one repository, and the main reason for mrgit was gone. After that, mrgit stayed in use in fewer internal projects.
Those projects no longer need it either. As of today, no team at our company uses mrgit.
Why we are deprecating instead of keeping it alive
We could keep merging dependency bumps and call it maintained. We don't think that would be honest, for three reasons:
- mrgit runs commands on your machine. It clones repositories, runs
git, and runs any shell command you pass to exec. Code like that needs an owner who handles security reports and ships fixes quickly.
- Nobody uses it every day anymore. Before, we found problems ourselves, because our own work broke. Without internal users, a regression in a new git or Node.js version can go unnoticed for months. A tool that says it is maintained but isn't is worse than a tool that clearly says it is not.
- Dependency updates are not maintenance. Automated PRs would keep the repository looking active while nobody tests the result. We would rather stop them and say so.
What changes
We do this in steps, so nobody is surprised:
| When |
What |
| Now |
This issue, a notice in the README, and [DEPRECATED] in the repository description. |
| v5.1.0 (September 25, 2026) |
Final release. Every command prints a deprecation notice to stderr. The stdout output and the exit code do not change. Set MRGIT_NO_DEPRECATION_WARNING=1 to hide it. |
| After v5.1.0 |
All versions are marked as deprecated on npm. npm install shows a warning. |
| After December 31, 2026 |
If nobody tells us they depend on mrgit by then, we archive the repository (read-only). |
What this means for you
- Your setup keeps working. We will not unpublish any version, and nothing breaks on its own.
- No more fixes. Bug reports and PRs will not be handled.
- Forks are welcome. mrgit is MIT-licensed. If it is important to you, fork it and continue it.
- Still using mrgit? Tell us below. This is the most useful thing you can do. If we hear from active users before we archive, we will discuss it with you.
Thank you to everyone who used mrgit, reported issues, and contributed code in the last nine years.
TL;DR
mrgit is no longer maintained. v5.1.0 is the final release. The package stays on npm and existing installations keep working, but there will be no new features, bug fixes, or security patches.
If you still depend on mrgit, please leave a comment below before the end of 2026.
How it started
mrgitstarted in January 2017 (asmgit2and renamed later) as a tool for CKEditor 5. At the time, CKEditor 5 wasn't one repository. It was dozens of them: the engine, the UI, and every feature lived in its own repository and was released as its own npm package. That gave us clean boundaries between packages, but daily work was hard. One change often touched many repositories, and every developer had to clone, sync, branch, commit, and push them all.mrgitdid one thing: it read a single file and ran git operations across all the repositories at once:syncclones or updates every repository,checkoutswitches branches everywhere,statusshows the whole project in one table,execruns any other command in each repository.Later we added presets, a
$rootRepository, and recursive cloning, as our setup grew.Why we no longer need it
In 2020 CKEditor 5 moved to a monorepo. All the feature packages moved into one repository, and the main reason for mrgit was gone. After that, mrgit stayed in use in fewer internal projects.
Those projects no longer need it either. As of today, no team at our company uses mrgit.
Why we are deprecating instead of keeping it alive
We could keep merging dependency bumps and call it maintained. We don't think that would be honest, for three reasons:
git, and runs any shell command you pass toexec. Code like that needs an owner who handles security reports and ships fixes quickly.What changes
We do this in steps, so nobody is surprised:
[DEPRECATED]in the repository description.MRGIT_NO_DEPRECATION_WARNING=1to hide it.npm installshows a warning.What this means for you
Thank you to everyone who used mrgit, reported issues, and contributed code in the last nine years.