#pair-programming #git #productivity #cli #email

app git-squad

Manage co-authors in git commit messages with ease

5 unstable releases

Uses new Rust 2024

new 0.3.2 Apr 17, 2025
0.3.1 Apr 17, 2025
0.3.0 Apr 15, 2025
0.2.0 Apr 4, 2025
0.1.0 Apr 4, 2025

#75 in Development tools

Download history 155/week @ 2025-03-29 119/week @ 2025-04-05 233/week @ 2025-04-12

507 downloads per month

MIT license

25KB
573 lines

git-squad

Manage co-authors in git commit messages with ease

git-squad is a command-line tool that makes it easy to manage co-authors in your Git commit messages. Perfect for pair programming or collaborative coding sessions, it lets you quickly add or remove co-authors without having to manually edit commit templates.

Features

  • Maintain a list of collaborators (buddies) with their names and emails
  • Add and remove co-authors in the current git session
  • Automatically updates your git commit template
  • Simple command-line interface
  • Shell completions for commands and buddies

Usage

git-squad demo tape

Manage co-authors in git commit messages with ease

Usage: git-squad [OPTIONS] [COMMAND]

Commands:
  with             Add buddies to the current session
  without          Remove buddies from the current session
  alone            Remove all buddies from the current session
  create           Create a new buddy
  forget           Delete a buddy from the list of available buddies
  info             List both active and available buddies
  list             List all available buddies
  active           List active buddies in the current session
  completions      Generate completions for your shell
  migrate-buddies  Migrate buddies from old yaml format to new toml format
  help             Print this message or the help of the given subcommand(s)

Options:
      --buddies-file <BUDDIES_FILE>  Use a custom buddy file instead of ~/.config/git-squad/buddies.toml
  -h, --help                         Print help

Installation

Prerequisites

  • Git must be installed and configured
  • Rust and Cargo must be installed

Install published version from crates.io

cargo install git-squad

Building the latest development version

  1. Clone the repository:
git clone git@github.com:ccntrq/git-squad.git
cd git-squad
  1. Build and install with Cargo:
cargo install --path .

Setup

Before using git-squad, you need to set up a git commit template. You can either setup a global one or do this per repo.

Global

# Create a template file
touch ~/.gitmessage

# Configure git to use it
git config --global commit.template ~/.gitmessage

Per repo

# Inside your repo dir
# Create a template file
touch .git/gitmessage

# Configure git to use it
git config  commit.template .git/gitmessage

Related work

There is a similar tool written in typescript called git-mob which I discovered while name hunting for this tool.

Dependencies

~5–14MB
~169K SLoC