Python CLI for optimized Git workflows and coding agents integration.
gitwise addresses three daily pain points:
- AI context bloat from raw
git diff - Slow repositories without modern Git maintenance settings
- Unsafe commit flows that bypass GPG signing rules
- Python >= 3.10
- git >= 2.29
- macOS or Linux
Pick one:
Homebrew (macOS/Linux, recommended if you already use Homebrew):
brew install drzioner/tap/gitwiseUpdate 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 | bashuv (if you already use uv):
uv tool install gitwise-cliFrom source (development only):
git clone https://github.com/drzioner/gitwise.git
cd gitwise
uv sync
uv run python -m gitwise doctorWindows (PowerShell 5.1+, auto-installs uv if missing):
irm https://raw.githubusercontent.com/drzioner/gitwise/main/install.ps1 | iexFor 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 latestUninstall:
brew uninstall gitwise # if installed via Homebrew
uv tool uninstall gitwise-cli # if installed via uv (any OS)gitwise doctor
gitwise setup --dry-run
gitwise setup-agents --local --dry-run
gitwise summarize| 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 index (English)
- Indice de documentacion (Español)
- Contributing guide
- Guia de contribucion
- Security policy
- Politica de seguridad
- Code of Conduct
- Código de conducta
- Git conventions
- Convenciones Git
setup and setup-agents never modify commit.gpgsign or user.signingkey.
- Git layer:
setupmanages 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.
| 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 |
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.fishPowerShell (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.
MIT - Deiner