Skip to content

drzioner/gitwise

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

193 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

gitwise

English | Español

Python CLI for optimized Git workflows and coding agents integration.

CI Coverage Version License: MIT Python 3.10+ Docs: EN/ES

gitwise addresses three daily pain points:

  1. AI context bloat from raw git diff
  2. Slow repositories without modern Git maintenance settings
  3. Unsafe commit flows that bypass GPG signing rules

Requirements

  • Python >= 3.10
  • git >= 2.29
  • macOS or Linux

Install

Pick one:

Homebrew (macOS/Linux, recommended if you already use Homebrew):

brew install drzioner/tap/gitwise

Update later with brew upgrade gitwise. Uninstall with brew uninstall gitwise.

curl | bash (auto-installs uv if missing, no package manager required):

curl -fsSL https://raw.githubusercontent.com/drzioner/gitwise/main/install.sh | bash

uv (if you already use uv):

uv tool install gitwise-cli

From source (development only):

git clone https://github.com/drzioner/gitwise.git
cd gitwise
uv sync
uv run python -m gitwise doctor

Windows (PowerShell 5.1+, auto-installs uv if missing):

irm https://raw.githubusercontent.com/drzioner/gitwise/main/install.ps1 | iex

For a version-pinned install (e.g. for reproducible setups), see Get-Help .\install.ps1 -Detailed after download.

Update an existing installation:

brew upgrade gitwise                   # if installed via Homebrew (macOS/Linux)
uv tool upgrade gitwise-cli            # if installed via uv (any OS)
# or re-run the curl | bash installer, which always pulls latest

Uninstall:

brew uninstall gitwise                 # if installed via Homebrew
uv tool uninstall gitwise-cli          # if installed via uv (any OS)

Quick Start

gitwise doctor
gitwise setup --dry-run
gitwise setup-agents --local --dry-run
gitwise summarize

Most Used Commands

Command Purpose
gitwise doctor Check Python, git, platform, optional tools
gitwise setup Apply modern Git defaults safely
gitwise setup-agents Install canonical agents layout + optional provider config
gitwise audit Detect stale branches, graph/cache gaps, large blobs
gitwise summarize Compact context for humans and AI
gitwise diff Focused changed-file view (--stat, --staged, --patch)
gitwise worktree Create and clean worktree-based branch setups
gitwise status Enhanced status with staged/unstaged and ahead/behind
gitwise commands --json List subcommands with aliases and metadata
gitwise schema <command> --json Return versioned JSON Schema for command inputs
gitwise completions <shell> Generate shell completion scripts (bash/zsh/fish/powershell)
gitwise pr List/check/view PRs via GitHub CLI

For all commands, examples, aliases, and JSON usage, see:

Documentation

GPG and Safety Model

setup and setup-agents never modify commit.gpgsign or user.signingkey.

  • Git layer: setup manages hooks safely (--hooks-mode preserve|native|legacy|skip) to validate signing key availability and conventional commits.
  • Agent layer: deny-rules block --no-gpg-sign, --no-verify, and -c commit.gpgsign=false.

Environment Variables

Variable Description
GITWISE_DEBUG=1 Print each git subprocess command to stderr
GITWISE_LOG_JSON=1 Emit structured stderr logs as JSON lines
GITWISE_JSON_PRETTY=1 Pretty-print JSON output by default
GITWISE_LANG=es / GITWISE_LANG=en Force output locale
GITWISE_THEME=dark / GITWISE_THEME=light / GITWISE_THEME=auto Override color theme selection
GITWISE_NO_COLOR=1 Disable ANSI color output
GITWISE_OUTPUT=agent Force machine-oriented output mode
GITWISE_AGENT=1 Alias to enable agent output mode
GITWISE_GIT_TIMEOUT=<seconds> Override git subprocess timeout
GITWISE_WIDTH=<columns> Override output width

Shell Completions

Generate completions script per shell:

gitwise completions bash > ~/.local/share/bash-completion/completions/gitwise
gitwise completions zsh > ~/.zsh/completions/_gitwise
gitwise completions fish > ~/.config/fish/completions/gitwise.fish

PowerShell (Windows / PowerShell Core): generate and dot-source the Register-ArgumentCompleter script. Add it to your $PROFILE for persistence:

gitwise completions powershell > gitwise.ps1
. .\gitwise.ps1
# or, to load on every session:
Add-Content $PROFILE ('. ' + ((Resolve-Path 'gitwise.ps1').Path))

Completion covers subcommands as the first token and per-command flags (--json, --dry-run, --max-count, etc.) thereafter.

Demo

asciicast

License

MIT - Deiner

About

Python CLI for optimized Git workflows and coding agents integration.

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Sponsor this project

 

Contributors