Install

Install gitflect from GitHub releases.

gitflect is installed as a single native binary. The default installer downloads the matching archive from GitHub Releases, places the binary in a user-writable bin directory, and can add the shell initialization block for Bash or Zsh.

Install script

curl -fsSL https://raw.githubusercontent.com/shravanngoswamii/gitflect/main/install.sh | sh

The installer chooses a target archive based on your operating system and CPU:

PlatformRelease target
Linux x86_64x86_64-unknown-linux-gnu
Linux ARM64aarch64-unknown-linux-gnu
macOS Intelx86_64-apple-darwin
macOS Apple siliconaarch64-apple-darwin

Install location

By default, the binary is installed to a user-local bin directory. You can choose a different directory with BIN_DIR.

BIN_DIR="$HOME/.local/bin" sh -c "$(curl -fsSL https://raw.githubusercontent.com/shravanngoswamii/gitflect/main/install.sh)"

Make sure the selected directory is on PATH.

echo "$PATH" | tr ':' '\n'

Version pinning

To install a specific release, pass GITFLECT_VERSION.

GITFLECT_VERSION=v0.1.0 curl -fsSL https://raw.githubusercontent.com/shravanngoswamii/gitflect/main/install.sh | sh

Use latest to follow the newest GitHub release.

GITFLECT_VERSION=latest curl -fsSL https://raw.githubusercontent.com/shravanngoswamii/gitflect/main/install.sh | sh

Via Cargo

If you have Rust installed, you can install directly from crates.io:

cargo install gitflect

The binary lands in ~/.cargo/bin. Add the init line to your shell profile, then reload:

# Bash
echo 'eval "$(gitflect init bash)"' >> ~/.bashrc && exec $SHELL

# Zsh
echo 'eval "$(gitflect init zsh)"' >> ~/.zshrc && exec $SHELL

To update:

cargo install gitflect

To remove:

cargo uninstall gitflect
# then remove the eval line from ~/.bashrc or ~/.zshrc

Update

Install script

Rerun the install script — it overwrites the existing binary with the latest release:

curl -fsSL https://raw.githubusercontent.com/shravanngoswamii/gitflect/main/install.sh | sh

Via Cargo

cargo install gitflect

cargo install replaces the existing binary in ~/.cargo/bin with the latest version from crates.io. No shell profile changes are needed.

Verify

gitflect --version
gitflect status --no-color

Outside a Git repository, gitflect status prints nothing. Inside a repository, it prints a compact segment such as:

(main ≡ +1 ~2 -0 !)

After installation, reload your shell to activate it:

source ~/.bashrc   # or ~/.zshrc for Zsh

Or start a fresh session:

exec $SHELL
Shell integration is added to your profile automatically by the install script. Manual setup is only needed if you placed the binary on PATH yourself — see Shell setup.