Skip to content

CLI Reference

The ProGit binary is called prog. Run it with no arguments to launch the TUI. All utility operations are subcommands.

Terminal window
prog # launch TUI (default — this is where you spend 95% of time)
prog --help # show help
prog --version # show version

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.

Terminal window
prog sync # auto-detect: push new, pull updated
prog sync push # push local issues to forge
prog sync pull # pull issues from forge to local

Token precedence: PROGIT_TOKENGITLAB_TOKENFORGEJO_TOKEN → OS keyring (if built with --features keyring-secrets)

Terminal window
prog branch # show branch panel in TUI
prog branch list # list all local git branches
prog branch switch <name> # switch to a git branch
prog branch create <name> # create and switch to new branch

List and inspect merge requests from your configured forge.

Terminal window
prog mr list # list open MRs
Terminal window
prog plugin list # list installed plugins
prog plugin install <name> # install from registry
prog plugin install <url> --git # install from git URL
prog plugin remove <name> # uninstall a plugin
prog plugin update # update all plugins
prog plugin update <name> # update one plugin
prog plugin search <query> # search plugin registry
prog plugin info <name> # show plugin details
prog plugin index update # refresh local registry index

ProGit can install git hooks that automatically link commits to issues and run checks.

Terminal window
prog hooks install # install ProGit hooks into .git/hooks/
prog hooks uninstall # remove ProGit hooks
prog hooks status # show which hooks are installed

Toggle the blocked status of an issue. Accepts a short ID prefix or full UUID.

Terminal window
prog block abc123 # toggle blocked on issue abc123
Terminal window
prog due abc123 2026-06-01 # set due date (YYYY-MM-DD)
prog due abc123 clear # remove due date

Emergency cleanup if duplicate issues appear (e.g. after a botched sync):

Terminal window
prog clean
VariablePurpose
PROGIT_TOKENAuth token (any provider, checked first)
GITLAB_TOKENGitLab / self-hosted GitLab token
FORGEJO_TOKENForgejo / Gitea token
RUST_LOGLog level (debug, info, warn, error)
CodeMeaning
0Success
1General error
2Configuration error (missing or invalid config.kdl)
Terminal window
prog --help # completion scripts are planned for v1.0
  • The TUI (prog with 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.kdl in the nearest ancestor directory.