Skip to content

Repository files navigation

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.

Tool Time to first UI Memory (RSS) Binary Stability
gitside 0.1.2 0.75 s 10 MiB 5.2 MB 5/5 clean exits
gitui 0.28.1-nightly 0.16 s 15 MiB 10.0 MB 5/5 clean exits
lazygit 0.63.1 0.27 s 30 MiB 18.6 MB 5/5 clean exits
tig 2.6.1 0.15 s 3.5 MiB 0.7 MB 5/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

Key Action Key Action
j / k Move Tab Next panel
Space Stage / unstage Enter Open / activate
c Commit message Ctrl+S / Ctrl+Enter Commit
Ctrl+U / Ctrl+Backspace Clear commit draft Ctrl+G Generate message draft
Y Open AI panel f / l / p Fetch / pull / push
r Refresh g / b / h Graph / branches / GitHub
/ Search panel ? / F1 Contextual help
q / Ctrl+C Quit

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

About

Source control that fits your terminal — a responsive, mouse-friendly Git TUI for full screens and tmux side panes.

Topics

Resources

Contributing

Security policy

Stars

19 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages