| Crates.io | git-mob-tool |
| lib.rs | git-mob-tool |
| version | 1.9.3 |
| created_at | 2023-03-31 16:33:18.64862+00 |
| updated_at | 2025-08-13 15:26:04.560872+00 |
| description | A CLI tool which can help users automatically add co-author(s) to git commits for pair/mob programming |
| homepage | |
| repository | https://github.com/Mubashwer/git-mob |
| max_upload_size | |
| id | 826562 |
| size | 101,357 |
git mobCLI tool to help you automatically add Co-authored-by trailers to git commits during pair/mob programming
You can attribute a git commit to more than one author by adding one or more Co-authored-by trailers to the commit's message. Co-authored commits are visible on GitHub. For more information, see here.
This CLI tool will help you add them automatically and also help you store and manage co-authors for pair/mob programming sessions.
Co-authored-by trailers to commitDownload and extract the appropriate binary depending on your OS from the latest GitHub release
Ensure the binary is in your PATH variable e.g. you may place the file in C:\Windows on Windows or /usr/local/bin on Linux and macOS
Ensure the binary is set as executable (Linux and macOS)
$ chmod +x ./git-mob
$ cargo install git-mob-tool
Set up a global prepare-commit-msg githook which appends the Co-authored-by trailers to the commit message.
$ git mob setup
If a repository overrides core.hooksPath git configuration variable (e.g when using husky), then you will additionally need to run git mob setup --local for each such repository. This will set up a local (repository-specific) prepare-commit-msg githook which invokes the global one.
If you prefer to set this up manually or encounter any issues with the automated setup process, you can follow steps outlined here.
Store your team members' details with keys
$ git mob team-member --add lm "Leo Messi" leo.messi@example.com
$ git mob team-member --add em "Emi Martinez" emi.martinez@example.com
$ git mob team-member --add sa "Sergio Aguero" sergio.aguero@example.com
To mob with some team member(s):
$ git mob --with
? Select active co-author(s):
> [ ] Leo Messi <leo.messi@example.com>
[ ] Emi Martinez <emi.martinez@example.com>
[ ] Sergio Aguero <sergio.aguero@example.com>
[↑↓ to move, space to select one, → to all, ← to none, type to filter ]
Alternatively, if you remember the team member keys, you may bypass the multi-select menu by running:
$ git mob --with lm em
This will start a global mob session. Any git commit made afterwards will have Co-authored-by trailers added to the commit message as shown below:
This is an example commit message
Co-authored-by: Leo Messi <leo.messi@example.com>
Co-authored-by: Emi Martinez <emi.martinez@example.com>
To add a non-team member to the mob session:
$ git mob --add "Diego Maradona" diego.maradona@example.com
To clear the mob session:
$ git mob --clear
To view the co-authors in the mob session:
$ git mob --list
To print help information:
$ git mob help
$ git mob help team-member
$ git clone https://github.com/Mubashwer/git-mob.git
$ cd git-mob
$ cargo build --release
$ cargo test
Format code:
$ cargo fmt --all
Run linting:
$ cargo clippy --all-targets -- -D warnings
We welcome contributions! Please see our Contributing Guide for details on:
git mob --help, an error may occur because Git looks for man pages for subcommands. To avoid this error, use one of the following alternatives:
git mob helpgit-mob --help