A minimal git summary for your terminal.
📍 ON: main (origin) ★42 ⑂12
3 files changed, 1 untracked
156 total commits • 5 branches • popular: main (142), dev (89), feature-ui (45)
RECENT
● 2h feat(auth): add jwt validation Alice
● 5h setup auth routes Bob
● 1d init feature Alice
REMOTE
origin/main 1d "fix: resolve merge conflict" Alice
origin/feature-ui 3d "wip" Bob
STASHES (2)
0: WIP login form
1: debug stuff
Recent commits are shown from all local and remote branches, sorted by time.
cargo install --git https://github.com/K-NRS/repo-clirepo # summary
repo -i # interactive TUI
repo --graph # branch tree
repo -n 10 # last 10 commits
repo /path/to/repoGenerate commit messages using AI (claude/codex/gemini).
repo commit # auto-detect AI, interactive
repo commit --ai claude # use specific provider
repo commit --no-interactive # commit directly, skip reviewFlow:
? 32 unstaged file(s). Stage all? [Y/n] l=list d=diff
✓ Staged all changes
● Generating commit message with claude...
──────────────────────────────────────────────────
feat(auth): add JWT validation middleware
──────────────────────────────────────────────────
? Commit? [y/N] e=edit r=regen d=diff
Keys:
y- commitn- cancele- open TUI editorr- regenerate (with style options: concise/longer/shorter/detailed/custom)d- view diff
Check for updates and self-update.
repo update # check and install latest
repo update --check # check only, no installSurgical commit design via full-screen TUI. Reword, split, squash, fixup, reorder, drop, and edit commits interactively.
repo craft # TUI with last 20 commits
repo craft --count 50 # show 50 commits
repo craft --last 5 # pre-select last 5TUI Modes:
- Commit list — browse commits, assign actions
- Reword — inline message editing
- Split — assign hunks to groups, each becomes its own commit
- Squash — pick a target commit to squash into
- Fixup — squash keeping the older commit's message
- Reorder — move commits up/down with J/K
- Drop — mark commits for removal
- Preview — review full rebase plan before executing
Keys (commit list):
j/k— navigateEnter— open action menuD— show diff for current commitp— preview planq/Esc— quit
Keys (action menu):
r— rewords— splitq— squashf— fixupd— dropm— reordere— edit (stop for manual editing)x— reset to pick
Pull and push in one command.
repo sync # pull then push
repo sync --rebase # pull --rebase then push-i, --interactive TUI mode (j/k to navigate, tab to switch panels)
--graph show branch visualization
--no-color plain output
-n, --commits <N> commit count (default: 5)
--fetch fetch remotes before summary
--no-fetch skip fetch (overrides config)
--stashes show stash details (count only by default)
~/.config/repo/config.toml:
default_ai = "claude" # AI provider for commits (claude/codex/gemini)
show_github_stats = true # show stars/forks in header
auto_fetch = false # fetch remotes on every invocation
commit_style = "concise" # default commit message style
message_box_style = "box" # commit message display style (see below)Controls how the commit message is displayed during interactive commit:
| Style | Value | Description |
|---|---|---|
| Rounded box | "box" |
Rounded border card around the message |
| Double line | "double_line" |
Double-line separators above and below |
| Title box | "title_box" |
Titled header with single-line separators |
| Gutter | "gutter" |
Colored left bar (blockquote style) |
MIT