git-pm

Crates.iogit-pm
lib.rsgit-pm
version0.1.2
created_at2025-08-29 22:15:47.656122+00
updated_at2025-08-30 00:19:18.389689+00
descriptionA git CLI plugin for project management (git pm ...)
homepagehttps://github.com/thomasmarcel/git-pm
repositoryhttps://github.com/thomasmarcel/git-pm
max_upload_size
id1817000
size23,214
Thomas Alcala Schneider (thomasmarcel)

documentation

https://docs.rs/git-pm

README

git-pm

Crates.io Docs.rs License

A Git CLI plugin for project management.
It lets you create or switch to branches from task strings, enforcing consistent names.

git pm branch "MINOI-31 Zoom d'images dans galerie"

Produces and switches to branch: feature/MINOI-31-zoom-d-images-dans-galerie.

branch

✨ Features

  • Branch sanitization:
  • Keeps task IDs in UPPERCASE
  • Lowercases the rest, replaces spaces/punctuation with -
  • Handles accents and Unicode (e.g. Fixé → fixe, œuf → oeuf)
  • Git-aware:
    • If branch exists → switches to it
    • If not → creates it
  • Prefix support:
    • Defaults to feature/
    • Allowed: feature, bugfix, hotfix, release, wip, chore, epic
    • Overridable via .gitpm.toml
  • Configurable:
    • Project-local config (.gitpm.toml in repo root)
    • Global fallback ($HOME/.gitpm.toml)

🛠 Usage

git pm branch "<TASK-ID> <description>" [--prefix <prefix>]

Examples:

git pm branch "MINOI-31 Zoom d'images dans galerie"
# => feature/MINOI-31-zoom-d-images-dans-galerie

git pm branch "BUG-42 Fix login bug" --prefix bugfix
# => bugfix/BUG-42-fix-login-bug

git pm branch "HOT-77 Production issue" -p hotfix
# => hotfix/HOT-77-production-issue

git pm branch "TMP-99 Experiment" -p wip
# => wip/TMP-99-experiment

🚀 Installation

Make sure you have Rust installed, then


cargo install git-pm

This provides git pm as a Git subcommand.

Commit count: 6

cargo fmt