Skip to content

CLI Reference

ProGit provides a comprehensive CLI for scripting, automation, and terminal users who prefer commands over the TUI.

These work with any command:

Terminal window
progit --version # Show version
progit --help # Show help
progit --config path/to/config.toml # Use custom config
progit --verbose # Verbose output
progit --quiet # Suppress output

Initialize a new ProGit project.

Terminal window
progit init # Initialize in current directory
progit init /path/to/project # Initialize in specific directory
progit init --template=rust # Use a project template

Launch the terminal UI (GroGit).

Terminal window
progit tui # Start TUI
progit tui --panel=issues # Start in issues panel
progit tui --issue=42 # Open specific issue

Aliases: pgit, progit ui

Issue tracking commands.

Terminal window
# List issues
progit issue list
progit issue list --status=open
progit issue list --label=bug --priority=high
progit issue list --sprint=current
# Create issue
progit issue create "Fix memory leak"
progit issue create "Add feature" --label=enhancement --priority=medium
progit issue create --file=issue-template.md
# View issue
progit issue show 42
progit issue show 42 --format=json
# Edit issue
progit issue edit 42
progit issue edit 42 --title="New title"
progit issue edit 42 --status=closed
# Delete issue
progit issue delete 42
progit issue delete 42 --force
# Link to git
progit issue link 42 --branch=feature-42
progit issue link 42 --commit=a1b2c3d
# Move to sprint
progit issue sprint 42 --sprint=sprint-12
progit issue sprint 42 --remove
# Search
progit issue search "memory leak"
progit issue search --assignee=@me --status=open

Kanban board management.

Terminal window
# View board
progit kanban
progit kanban --format=json
# Move cards
progit kanban move 42 "In Progress"
progit kanban move 42 --to-column=done
# Add card
progit kanban add "New task"
progit kanban add "New task" --column="Todo" --priority=high
# Remove card
progit kanban remove 42
# Column management
progit kanban column add "Review"
progit kanban column remove "Review"
progit kanban column rename "Todo" "Backlog"

Sprint planning and tracking.

Terminal window
# List sprints
progit sprint list
progit sprint list --status=active
# Create sprint
progit sprint create "Sprint 12"
progit sprint create "Sprint 12" --weeks=2 --goal="Complete API"
# Show sprint
progit sprint show current
progit sprint show sprint-12
# Start/complete
progit sprint start sprint-12
progit sprint complete sprint-12
# Add/remove issues
progit sprint add sprint-12 42 43 44
progit sprint remove sprint-12 42
# Reports
progit sprint velocity
progit sprint burndown
progit sprint report --format=html

Git branch and virtual branch management.

Terminal window
# List branches
progit branch list
progit branch list --remote
progit branch list --virtual
# Create branch
progit branch create feature-x
progit branch create feature-x --from=main
# Virtual branches
progit branch virtual feature-x
progit branch virtual feature-x --from-issue=42
progit branch switch feature-x
progit branch commit feature-x --to-branch=main
progit branch delete feature-x
# Git operations
progit branch merge feature-x
progit branch rebase feature-x --onto=main

Pass-through to git with ProGit enhancements.

Terminal window
# Enhanced commit (links to issues)
progit git commit -m "Fix parser"
progit git commit -m "Fix parser" --issue=42
# Status with ProGit context
progit git status
progit git status --show-virtual-branches
# All other git commands pass through
progit git push
progit git pull
progit git log --oneline

Plugin management.

Terminal window
# List plugins
progit plugin list
progit plugin list --installed
progit plugin list --available
# Install plugin
progit plugin install my-plugin
progit plugin install /path/to/plugin.lua
progit plugin install https://shop.progit.dev/plugins/my-plugin
# Enable/disable
progit plugin enable my-plugin
progit plugin disable my-plugin
# Remove
progit plugin remove my-plugin
# Create new plugin
progit plugin create my-plugin --template=hello-world

AI agent integration.

Terminal window
# Ask AI
progit ai "suggest commit message for these changes"
progit ai "explain this error: segmentation fault"
progit ai "refactor this function to use async"
# With context
progit ai "review this code" --file=src/main.rs
progit ai "summarize issue" --issue=42
# Pre-defined actions
progit ai commit-message # Suggest commit message
progit ai code-review # Review staged changes
progit ai fix-errors # Fix compilation errors
progit ai generate-tests # Generate test cases

Synchronize with remote forges.

Terminal window
# Sync everything
progit sync
# Sync specific items
progit sync --issues
progit sync --sprints
progit sync --mrs
# Dry run
progit sync --dry-run
# Force sync (overwrite remote)
progit sync --force
# Configure sync
progit sync config --remote=gitlab
progit sync config --auto=true

Configuration management.

Terminal window
# Get/set values
progit config get ui.theme
progit config set ui.theme light
# Edit config
progit config edit
# Validate
progit config check
# Show defaults
progit config defaults
# Global config
progit config --global set user.name "Jane Doe"
progit config --global set user.email "jane@example.com"

Export project data.

Terminal window
progit export --format=json
progit export --format=json --output=backup.json
progit export --issues --format=csv
progit export --sprints --format=html

Import project data.

Terminal window
progit import backup.json
progit import --from=jira jira-export.xml
progit import --from=github github-issues.json

Manage git hooks.

Terminal window
# List hooks
progit hook list
# Add hook
progit hook add pre-commit "cargo test"
progit hook add post-commit "progit sync"
# Remove hook
progit hook remove pre-commit 2
# Run hook manually
progit hook run pre-commit

Diagnose project health.

Terminal window
progit doctor # Full health check
progit doctor --fix # Auto-fix issues
progit doctor --issues # Check issues only

Project statistics.

Terminal window
progit stats # General stats
progit stats --velocity # Velocity metrics
progit stats --git # Git statistics
progit stats --contributors

ProGit respects these environment variables:

Terminal window
PROGIT_CONFIG # Path to config file
PROGIT_DATA_DIR # Data directory override
PROGIT_EDITOR # Editor for interactive commands
PROGIT_PAGER # Pager for output
PROGIT_NO_COLOR # Disable colors
PROGIT_DEBUG # Enable debug logging
OLLAMA_HOST # Ollama server URL

Generate shell completion scripts:

Terminal window
progit completion bash > ~/.bash_completion.d/progit
progit completion zsh > ~/.zsh/completions/_progit
progit completion fish > ~/.config/fish/completions/progit.fish

Most commands support JSON output for scripting:

Terminal window
progit issue list --format=json | jq '.[] | select(.priority == "high")'
progit sprint show current --format=json | jq '.velocity'