README.md

August 3, 2026 · View on GitHub

Gitside shown full-screen, in a narrow pane, and in a real Ghostty and tmux workflow

Real Gitside sessions: narrow pane, wide terminal, and a live Ghostty/tmux workflow.

Source control that fits your terminal.

A fast, mouse-friendly Git interface inspired by VS Code Source Control,
designed for full screens, narrow tmux panes, and everything between.

CI MIT license Rust 1.85+ GitHub stars

Website · Documentation · Contributing


Install

Prebuilt packages are published for macOS, Linux, and Windows with each stable release. Git 2.30+ is required at runtime.

Cross-platform

npm

npm install --global gitside

The npm package installs the matching native binary.

Cargo

cargo install gitside --locked

Cargo builds Gitside from source and requires Rust 1.85 or newer.

macOS and Linux

# Homebrew
brew install dev-bhaskar8/tap/gitside

Windows

Chocolatey

choco install gitside

The first Chocolatey version is currently in automated moderation review; use the direct Windows installer below until that review completes.

Scoop

scoop bucket add gitside https://github.com/dev-bhaskar8/scoop-bucket
scoop install gitside

Direct downloads

Provenance-attested macOS, Linux, and Windows installers, portable archives, .deb, and .rpm packages are available from GitHub Releases. Chocolatey’s first version is in automated moderation review; use the direct Windows installer until that review completes. See the installation matrix for package and architecture details.

Pass a repository path from anywhere:

gitside /path/to/repository

Why Gitside?

  • Made for side panes. Changes and history remain useful in tall, narrow tmux layouts.
  • Mouse and keyboard. Click controls in Ghostty and other SGR-capable terminals, or operate everything without a mouse.
  • A complete daily Git loop. Stage files or hunks, commit, inspect history, manage branches, stash, sync, resolve conflicts, and work with worktrees.
  • GitHub when you need it. Publish a repository, browse pull requests and issues, check out PRs, and inspect checks through the authenticated gh CLI.
  • Your terminal, your colors. Gitside inherits the terminal background instead of painting an opaque theme over it.
  • Responsive and non-blocking. Network work runs in the background and filesystem notifications keep repository state fresh.
  • Optional commit drafts. Configure offline rules, an existing Codex/Claude Code/OpenCode or other command, or a direct API inside the clickable AI panel. API keys stay in the OS keychain.

AI commit drafts (optional)

Press Y to open the AI panel, choose Local, Agent, or API, then configure it without editing TOML. Ctrl+G or the Generate button creates an editable, Git-focused draft from staged changes (or the current working tree when nothing is staged). Gitside never stages, commits, pushes, or changes branches during generation. See the AI configuration guide.

Same-repository benchmark

To compare the launch experience directly, I ran Gitside, lazygit, gitui, and tig against this checkout (87 commits) in the same 118×42 tmux terminal on macOS arm64. These are the medians of five launches. Time is measured to the first usable screen, memory is process RSS at that point, and every run was quit with q.

ToolTime to first UIMemory (RSS)BinaryStability
gitside 0.1.20.75 s10 MiB5.2 MB5/5 clean exits
gitui 0.28.1-nightly0.16 s15 MiB10.0 MB5/5 clean exits
lazygit 0.63.10.27 s30 MiB18.6 MB5/5 clean exits
tig 2.6.10.15 s3.5 MiB0.7 MB5/5 clean exits

This is an interactive launch comparison, not a full-history stress test. Gitside loads a bounded history page initially and fetches more commits as you scroll, so a 900k-commit repository should be benchmarked separately before drawing conclusions about large-repository performance.

Essential controls

KeyActionKeyAction
j / kMoveTabNext panel
SpaceStage / unstageEnterOpen / activate
cCommit messageCtrl+S / Ctrl+EnterCommit
Ctrl+U / Ctrl+BackspaceClear commit draftCtrl+GGenerate message draft
YOpen AI panelf / l / pFetch / pull / push
rRefreshg / b / hGraph / branches / GitHub
/Search panel? / F1Contextual help
q / Ctrl+CQuit

The interface exposes specialized shortcuts only when they apply. See the complete controls for conflict resolution, line staging, worktrees, stashes, advanced commits, and remote workflows.

GitHub publishing

Install and authenticate GitHub CLI, then press p when the repository has no remote. Gitside asks for the repository name, visibility, and final confirmation before creating anything. It never creates or pushes a remote repository automatically.

Documentation

Support Gitside

If Gitside saves you time, you can support its development using this EVM wallet address:

0xC87efC9c71C422779F7dbeF14B2Fc4eef94b84fF

Verify that your chosen network and asset are compatible before sending. Cryptocurrency transfers cannot be reversed. See support details.

Development

cargo fmt --check
cargo clippy --all-targets -- -D warnings
cargo test

Read CONTRIBUTING.md before opening a pull request. Security issues should follow SECURITY.md.

License

MIT © Gitside contributors