CLI Reference
The ProGit binary is called prog. Run it with no arguments to launch the TUI. All utility operations are subcommands.
Global
Section titled “Global”prog # launch TUI (default — this is where you spend 95% of time)prog --help # show helpprog --version # show versionprog sync — Forge synchronisation
Section titled “prog sync — Forge synchronisation”Bidirectional sync between local issues and a remote forge (GitLab / Forgejo).
Requires a sync { } block in .project/config.kdl and a token in the environment.
prog sync # auto-detect: push new, pull updatedprog sync push # push local issues to forgeprog sync pull # pull issues from forge to localToken precedence: PROGIT_TOKEN → GITLAB_TOKEN → FORGEJO_TOKEN → OS keyring (if built with --features keyring-secrets)
prog branch — Branch management
Section titled “prog branch — Branch management”prog branch # show branch panel in TUIprog branch list # list all local git branchesprog branch switch <name> # switch to a git branchprog branch create <name> # create and switch to new branchprog mr — Merge requests
Section titled “prog mr — Merge requests”List and inspect merge requests from your configured forge.
prog mr list # list open MRsprog plugin — Plugin management
Section titled “prog plugin — Plugin management”prog plugin list # list installed pluginsprog plugin install <name> # install from registryprog plugin install <url> --git # install from git URLprog plugin remove <name> # uninstall a pluginprog plugin update # update all pluginsprog plugin update <name> # update one pluginprog plugin search <query> # search plugin registryprog plugin info <name> # show plugin detailsprog plugin index update # refresh local registry indexprog hooks — Git hook integration
Section titled “prog hooks — Git hook integration”ProGit can install git hooks that automatically link commits to issues and run checks.
prog hooks install # install ProGit hooks into .git/hooks/prog hooks uninstall # remove ProGit hooksprog hooks status # show which hooks are installedprog block — Issue blocking
Section titled “prog block — Issue blocking”Toggle the blocked status of an issue. Accepts a short ID prefix or full UUID.
prog block abc123 # toggle blocked on issue abc123prog due — Due dates
Section titled “prog due — Due dates”prog due abc123 2026-06-01 # set due date (YYYY-MM-DD)prog due abc123 clear # remove due dateprog clean — Deduplication
Section titled “prog clean — Deduplication”Emergency cleanup if duplicate issues appear (e.g. after a botched sync):
prog cleanEnvironment variables
Section titled “Environment variables”| Variable | Purpose |
|---|---|
PROGIT_TOKEN | Auth token (any provider, checked first) |
GITLAB_TOKEN | GitLab / self-hosted GitLab token |
FORGEJO_TOKEN | Forgejo / Gitea token |
RUST_LOG | Log level (debug, info, warn, error) |
Exit codes
Section titled “Exit codes”| Code | Meaning |
|---|---|
0 | Success |
1 | General error |
2 | Configuration error (missing or invalid config.kdl) |
Shell completion
Section titled “Shell completion”prog --help # completion scripts are planned for v1.0- The TUI (
progwith no args) is the primary interface — the CLI handles scripting and automation use cases. - Issue IDs are UUID v4; you only need to type enough characters to be unambiguous (usually 6–8).
- All CLI operations respect
.project/config.kdlin the nearest ancestor directory.