Skip to content

Installation

ProGit is in public beta (v0.8.0). Pre-built binaries are available for Linux x86_64 via three install rails. Other platforms can build from source.

Terminal window
curl -fsSL https://progit.dev/install.sh | sh

Installs to ~/.local/bin (or /usr/local/bin if writable). Downloads the signed binary from the sovereign Forgejo, verifies the minisign signature when minisign is available.

Options:

Terminal window
# Specific version
curl -fsSL .../install.sh | sh -s -- --version v0.8.0-beta
# Custom install directory
curl -fsSL .../install.sh | sh -s -- --dir ~/.cargo/bin
# Force overwrite existing install
curl -fsSL .../install.sh | sh -s -- --force
Terminal window
brew install sovereign-society/tap/progit
Terminal window
paru -S progit-bin
# or
yay -S progit-bin

For platforms without pre-built binaries (aarch64, macOS, Windows — coming soon), or if you prefer to compile yourself:

ToolMinimumNotes
Rust1.85+Install via rustup.rs
GitAnyTo clone the repo

Optional for AI features: Ollama running locally.

Terminal window
# 1. Clone
git clone https://git.sovereign-society.org/ProGit/progit.git
cd progit
# 2. Build (release, optimised for size)
cargo build --release
# 3. Install to PATH
sudo cp target/release/prog /usr/local/bin/prog

The binary is called prog. Default build is under 7 MB.

To store forge tokens in your system keyring (GNOME Keyring / KWallet) instead of environment variables:

Terminal window
cargo build --release --features keyring-secrets
sudo cp target/release/prog /usr/local/bin/prog

The sovereign git data plane adds ~3 MB and enables local git hosting via gix. Most users don’t need this — the default binary syncs to GitHub/GitLab/Forgejo over HTTP.

Terminal window
cargo build --release --features forge-backend
Terminal window
prog --version

Expected output:

prog 0.8.0-beta

ProGit reads tokens from environment variables — no credentials stored in config files:

Terminal window
export PROGIT_TOKEN="your-token" # generic (tried first)
export GITLAB_TOKEN="your-token" # GitLab / self-hosted
export FORGEJO_TOKEN="your-token" # Forgejo / Gitea

Add to ~/.bashrc or ~/.zshrc to persist across sessions.

Pre-built binary:

Terminal window
curl -fsSL https://progit.dev/install.sh | sh -s -- --force
# or: brew upgrade progit
# or: paru -S progit-bin

From source:

Terminal window
cd progit
git pull
cargo build --release
sudo cp target/release/prog /usr/local/bin/prog

/usr/local/bin or ~/.local/bin isn’t in your PATH:

Terminal window
echo 'export PATH="$PATH:$HOME/.local/bin"' >> ~/.zshrc
source ~/.zshrc

Install build essentials:

Terminal window
# Debian / Ubuntu
sudo apt install build-essential pkg-config libssl-dev
# Arch
sudo pacman -S base-devel openssl
# Fedora
sudo dnf install gcc openssl-devel
Terminal window
rustup update stable

The binary signature didn’t match. This could indicate a tampered download. Report to [email protected].