✨ Features
- Fullscreen Terminal UI: Designed using
ratatui and crossterm with modern visual styling.
- Config-Driven Layout: Driven by
config.toml for persistence and custom configurations.
- In-App Card Management: Add, edit, delete, and label items directly from the UI with automatic disk persistence.
- Global Summary Header Bar: High-level dashboard stats showing aggregate counts of repos, dirty repos, ahead counts, and stale repos as a row of tabs. Click a tab or press
Tab/Shift+Tab to cycle the list filter through them.
- Background Auto-Refresh: Non-blocking background status checking every 10 seconds to keep your repo cards live and up-to-date.
- Scheduled Auto-Fetch: Automatically runs
git fetch for every repository on a configurable cadence (auto_fetch_interval_mins, default 10 minutes, 0 disables), with per-repository and per-label interval overrides (in Repository Settings and Label Settings) so each repo — or a whole label group — can fetch on its own schedule or opt out.
- Uncommitted Work Warning Badge: Highlights repositories with a
⚠ PARTIAL badge when staged and unstaged changes coexist simultaneously.
- Fuzzy Jump Picker: Instantly jump to any repository by name using the
/ overlay.
- Favorite / Star Repositories: Bookmark important repositories with
* separate from pinned items.
- Home View Modes: Press
v to cycle between standard 4-row cards, a dense 1-row view (Compact), and a grid-based Tile view.
- Label / Group Collapsing: Organize repositories on the home page with collapsible label headers.
- Label Filter / Project View: Press
L to pick a label from a fuzzy picker and stick the home list to that project until you deselect it — the filter survives Esc and app restarts, the applied label is pinned as a chip next to the summary tabs (click to change), and the tab counts scope to it. If the label has a theme set in its Label Settings, the home list is tinted with it while the filter is active.
- Per-Label Settings: Press
→ on a label in the picker to open Label Settings — theme, page size, max commits, resync-on-tab, auto-fetch interval, and editor shared by every repository carrying that label. Settings resolve most-specific-first: per-repository override, then label, then the global default.
- Full-Screen Detail View: Press
Enter to open a multi-tab inspection interface (Workspace, Files tree with preview, Graph log, Branches, Tags, Remotes, Stashes, Worktrees, Submodules, Reflog, Forge Issues, Forge PRs). Tab headers dynamically fallback to their first character under restricted widths to prevent overflow.
- Resizable Panels: Drag the splitter lines between Detail panels with the mouse, or press
+ / - to grow / shrink the focused panel from the keyboard.
- Embedded Terminal Panel: Press
t (or Ctrl-T from anywhere) to open an IDE-style integrated terminal docked above the status bar, running your $SHELL in a PTY starting in the selected repository’s directory. The single session survives hiding the panel — long-running commands keep going — and supports scrollback (Shift+PgUp/Shift+PgDn), click-to-focus, and full key forwarding. T still opens the classic full-screen external shell (with multi-select batch support).
- Mode-Aware Status Bar: Shows contextual shortcuts dynamically with support for collapsed/expanded view (
.). When expanded, it dynamically wraps the shortcut items and calculates the exact number of rows needed based on terminal width.
- Global Code Search: Press
Ctrl-F to search for string patterns across all tracked repositories using a fast, multithreaded offline file scanner. Hitting Enter on a result automatically jumps to and opens that repository.
- Automatic Workspace Sync: Monitor directories (e.g.
watch_dirs = ["~/development"]) to automatically sync newly created or cloned repositories to your workspace in real-time. This feature can be toggled on or off via the enable_watch_dirs configuration.
- Git LFS Integration: Automatic visual indicators (
[LFS]) for tracked files, with LFS workflows (git lfs pull files, git lfs track <pattern>, and checking local LFS storage usage) accessible inside Repository Settings.
- Forge / GitHub Integration: Dedicated PR/MR Viewer tab (fetching PRs, status checks, reviews, checking out branches, opening in browser), Issue Tracker tab (filtering by assignee/all open), and Code Review Mode (wizard input popups to asynchronously post line comments to PRs).
- App Usage Dashboard: Press
Shift+U to open the usage statistics dashboard tracking session duration, commit counts, Git operations (merges, rebases, fetches, pushes, pulls), branches managed, stashes, Forge PR reviews and comments, and a visual 52-week Activity Heatmap.
- External Mergetool Integration: Easily resolve complex conflicts by pressing
M to instantly launch your configured external git mergetool (e.g. VSCode, KDiff3, Meld) directly from the TUI.