Repository navigation
Home
github-actions[bot] edited this page Oct 18, 2026
·
3 revisions
Nibtree is a native Git client for macOS with a friendly three pane merge tool, workspaces, tabs, blame and history.
- Getting Started: Install Nibtree, open your first folder and find your way around the window.
- Welcome Screen: Find a recent project, open or clone one, and set up the look before your first folder.
- Workspaces: Open folders with many repositories, add more folders, and save a workspace to a file.
- Files Panel: Browse your files and see at a glance what git thinks of each one.
- File Operations: Create, rename, copy, move and trash files and folders right in the Files panel.
- File Icons: Show an icon for each file type: no icons, simple Minimal shapes, or full Material Icons.
- Rounded Panels: Turn the sidebars, editors and terminal into rounded panels with space between them, in any color theme.
- Editor and Tabs: Edit files in tabs, jump between changes and keep an eye on what you changed.
- Pin Reorder and Wrap Tabs: Drag tabs into the order you like, pin the ones you always need, and wrap a long row of tabs.
- Single Tab Title: With one file open, see its name centered above the code instead of a lone tab.
- Split Editor: Show several files at once: split the editor right or down, again and again.
- New File and Unsaved Changes: Open a new tab with Cmd+N, save it later, and get your unsaved work back after a restart.
- Unload Hidden Tabs: Free the memory of tabs you have not looked at for a while; they open again where you left them.
- Editing Code: Multiple cursors, the Code menu, Go to Line and the IDE features of the editor.
- Code Appearance: Font weight, line spacing, syntax highlighting, visible whitespace, the cursor, word wrap, indentation detected from each file, and zoom.
- Markdown Editor: Edit Markdown with a toolbar, a live preview, diagrams, and a rich editor for the finished page.
- Image and PDF Preview: Open images and PDFs in a preview tab that frees its memory when closed, and compare two versions in a diff.
- Search Everywhere: Find files, classes, symbols and text in the whole workspace with double Shift.
- Recent Files: Jump back to the files you worked on last with Cmd+E.
- Navigation Bar: Move through your project's folders from the keyboard with Cmd+Up and search each folder.
- Find and Replace: The editor's find and replace bar, and Replace in Files across the workspace.
- Changes and Commits: Stage what you want, write a message and commit, per repository.
- Sign In Prompts: Answer a remote's username, password or SSH passphrase question in a dialog instead of a failed push.
- Commit Box Layout: One commit box at the bottom, or one per repository.
- Repository Actions: The buttons and the ... menu of each repository in Changes: branch, Sync, Commit and more.
- Commit Options: Commit and push in one go, and sign-off, author, GPG signing and skipping hooks.
- Ignoring Files: Add files, folders or extensions to .gitignore from a right-click.
- Diffs: Compare a file with its last commit side by side and stage single hunks.
- Inline Diffs: Show a diff in one column, with removed lines above the new ones.
- Staging View: HEAD, the index and the work tree in three panes; stage single changes.
- Revert a Change: Throw away one change, or apply one from a commit, from any diff or the editor.
- Resolving Conflicts: What to do when a merge, rebase or cherry-pick stops on conflicts.
- Merge Tool: The three pane merge tool: take changes from either side and check the result.
- Blame: See who changed a line, when and why, and jump to that commit.
- History and Log: Browse the commit graph, read commits and undo or copy them.
- Merge Commits: See which files a merge combined, or its changes to each parent.
- Branches and Tags: Create, switch, merge, rebase, rename and delete branches, and browse tags.
- Branches Popup: The branch list: checkout, compare, update, push and merge any branch.
- Remotes: Fetch, pull and push, and what the ahead and behind numbers mean.
- Stashes: Put work aside and bring it back later.
- Shelf: Put chosen changes aside as a named patch and bring them back, in full or file by file.
- Git Menu: Every git command in one menu, including the current file's history.
- Git Dialogs: Push, Pull, Update Project, Merge, Rebase, Reset, Rollback, Remotes and Clone, with their options.
- Interactive Rebase: Reorder, reword, squash, edit and drop commits before you share them.
- Worktrees: Check out several branches of one repository in separate folders.
- AI Agents: Run AI coding agents in your worktrees from the AI panel and see what each one is doing.
- AI Tasks: Work on several branches of one project at once: a task per worktree, agents racing, ready to run.
- AI Usage: See how much of Claude Code's and Codex's 5-hour and weekly limits you used, in the status bar.
- Keep Computer Awake: Keep the screen on and the computer from sleeping while AI agents work: On, Agent or Off.
- Submodules: Repositories inside a repository: see their changes and init, update, add or remove them.
- Git LFS: Large files stored with Git LFS: badges, sizes in diffs, track patterns, pull and prune.
- GitHub: Sign in to GitHub to share a project, sync a fork and create gists.
- Git Console: Every git command the app ran, with its output (off by default).
- Terminal: Run shells below the editor or in a tab, with several terminals and your own shell and font.
- Terminal Features: Split terminals, find in the output, Cmd+click file paths, drop files, rename, and the optional parts.
- Scripts: Run npm, Composer, Make, Deno and just scripts with one click, with the right Node version.
- Navigation: Back and Forward across files, diffs and commits.
- Menus: The menu bar: what is in each menu, and how its keys work.
- Settings: Every setting, where it is saved, and the light and dark themes.
- Settings Search: Type in the Settings search field to find a setting and see its matches highlighted.
- Color Themes: Pick a light and a dark color theme from 37, including high contrast ones.
- Settings Terminal and Automation: Every option of the Terminal, GitHub and Automation sections of Settings.
- Settings Files: What is in ~/.nibtree, editing settings.json by hand, and fixing a broken file.
- Updates: How Nibtree tells you about new versions, and the beta channel.
- Status Bar and Help: The status bar, picking the active repository, and how to report a bug or ask for a feature.
- Notifications: Messages about pushes, pulls and other events: pop-up balloons and the Notifications panel that keeps them.
- Memory Use: The memory readout, its breakdown and GPU rows, and the debug memory log.
- Clear Cache: Give back all the memory the window holds with one click; the folder and tabs come back.
- MCP and CLI: Let AI tools such as Claude Code, and scripts in a terminal, use Nibtree safely.
- Git Mergetool: Use Nibtree as the merge tool for git on the command line.
- Keyboard Shortcuts: Every keyboard shortcut on one page.
- Keyboard Shortcuts Editor: The keys of the editor, the find bar, Markdown, the merge tool, lists and dialogs.
- Troubleshooting: Common problems and how to fix them.
- Troubleshooting Git: Git not found, failing hooks, signing in and common git errors.
- Developer Guide: Start here: set up the project, run it, and find your way around these pages.
- Architecture: How the Rust backend, the Svelte frontend and git fit together.
- Project Layout: What lives in which folder and file.
- Backend: Tauri commands, the git read and write split, errors, the CLI runner and the file watcher.
- How Folder Watching Works: The file watcher: how each file event becomes a repository or folder refresh.
- Folder Watching Bugs We Fixed: The watcher bugs we found, why they happened and how we fixed them.
- How Workspace Files Work: Workspace files, VS Code compatibility and which folders reopen at start.
- How the Preview Scheme Works: The gmpreview URL scheme: how previews stream images and PDFs to the web view, safely and in pieces.
- Backend Services: The terminal, search, scripts, Git Console, GitHub, MCP and other Rust services, and how they stay idle until used.
- How Terminal Features Work: Split groups, find, file links, drops and the terminal addons, each lazy and switchable.
- Terminal Bugs We Fixed: The terminal bugs we found, why they happened and how we fixed them.
- Frontend: The shell, stores, Svelte 5 runes, the API bridge, keys, menus and colors.
- How the Rich Markdown Editor Works: How the Rich Editor edits the page and patches each edit onto the file's own text, refusing files it cannot keep exactly.
- Rich Markdown Bugs We Fixed: The Rich Editor bugs we found, why they happened and how we fixed them.
- Git Menu Links: How Open Repository in Browser and the GitHub link items turn remote URLs into web pages.
- Menu Keys and Routing: How one key press runs either a page handler or a menu item, never both.
- Frontend Modules: The feature folders in src/lib, their stores, and what loads only on first use.
- Blame Bugs We Fixed: The blame bugs we found, why they happened and how we fixed them.
- Project Color And Title Bar: The project's color glow and the macOS window buttons in the top bar.
- One Diff View: How every place that shows a diff shares one view, its panes and its buttons.
- Diff Bugs We Fixed: The diff view bugs we found, why they happened and how we fixed them.
- Merge Tool Layouts: The merge tool's Columns and Stacked layouts: one set of editors moved between two frames.
- Merge Tool Bugs We Fixed: The merge tool bugs we found, why they happened and how we fixed them.
- Color Theme Bugs We Fixed: The color theme bugs we found, why they happened and how we fixed them.
- How the Connected Diff Works: Side by side without padding: each side scrolls itself, bands join the changes.
- Rounded Panels Bugs We Fixed: The rounded panels bugs we found, why they happened and how we fixed them.
- Update Bugs We Fixed: The update check and link bugs we found, why they happened and how we fixed them.
- Status Bar Bugs We Fixed: The status bar and Help link bugs we found, why they happened and how we fixed them.
- MCP and CLI Bugs We Fixed: The MCP server and command line tool bugs we found, why they happened and how we fixed them.
- Repository Actions Bugs We Fixed: The repository row and Changes title bar bugs we found, why they happened and how we fixed them.
- How the Changes Tab Works: The Changes tab opened from the status bar: every uncommitted file compared with the last commit.
- CodeMirror Patterns: State fields, compartments, widgets, keymaps and update rules for every text pane.
- How the Cursor Works: The editor cursor settings and the rounded selection: shapes, blinking, smooth movement and extra caret height.
- How Editor Features Work: Auto-close, completion, folding, indent guides, the margin line and the languages, each switchable and lazy.
- How the Path Bar Works: The slim bar above the code: breadcrumbs, badges and icon actions, and how it collapses when narrow.
- Commands and Events: Index of the backend commands, plus every event and channel.
- Settings Reference: Every settings.json and state.json key with its default, range and where it is used.
- Commands Workspace and Changes: Commands for folders, status, staging, commits, diffs, conflicts, stashes, the shelf and ignore files.
- Commands Branches and Remotes: Commands for branches, merge and rebase dialogs, interactive rebase, fetch, pull, push, remotes, clone, patches and tags.
- Commands History and Extras: Commands for the log, blame, file history, reset, worktrees, submodules, Git LFS and GitHub.
- Commands App and Tools: Commands for files, config, the memory log, search, scripts, the terminal, the Git Console and the MCP server.
- Testing: How the Rust and Vitest suites work, test repositories and what to test.
- Test Suites: Every Vitest and Rust test file, folder by folder, and what it covers.
- Debugging: Web view devtools, Rust logs, reading IPC errors and common dead ends.
- Debugging with MCP: Inspect, measure and drive the running app with the MCP tools and nibtree cli.
- Measuring Setting Memory: How the memory cost of each setting was measured, the results, and the marks in Settings.
- How Terminal Memory Is Measured: The Terminals rows in the memory details: each shell's process tree, summed per terminal.
- How Markdown Diagrams Work: Mermaid diagrams in a hidden frame that leaves memory with the last document.
- Releases and CI: CI and the beta and stable release workflows.
- Publishing the Wiki: How wiki.yml turns docs/wiki into the GitHub wiki.
- Versioning and Changelog: Where the version lives, the changelog rules and scripts/version.ts.
- Browser Version Packages: The browser version's npm packages, their CI on six platforms and publishing them with each release.
- Browser Release Checks: How a browser version release is rehearsed, checked after publishing, and finished when it breaks halfway.
- Docker Image: The browser version's Docker image: what is inside, its CI on amd64 and arm64, and publishing it.
- Platforms and Signing: Code signing and notarization, and the plan for Windows and Linux.
- Windows Support: What the code does differently on Windows: console windows, the home folder, PATH and paths.
- Windows Bugs We Fixed: Bugs the Windows CI job found, why they happened and the fixes.
- Windows MCP and CLI: The command line tool as a console program, the screenshot and quoting on Windows.
- Docs and Screenshots: How this wiki is built, how screenshots are taken, and keeping docs in sync.
- UI Library: The Svelte component library, its showcase and the design tokens shared by every platform.
- UI Library MCP: The MCP server that answers AI agents' questions about components, tokens, icons and rules.
- UI Library Bugs: Bugs fixed in the UI library: what you saw, why, and the fix.
- UI Library Migration: How the app uses the library as a local package and moves onto it, screen by screen.
- Contributing: Code style, commits, pull requests and the docs checklist.
One chapter per feature: why it exists, how it works, the decisions behind it and the bugs we fixed.
- Welcome screen
- Workspaces and folders
- Files panel
- File operations
- File icons
- Editor and tabs
- Pin, reorder and wrap tabs
- Single tab title
- Split editor
- New File and unsaved changes
- Unload hidden tabs
- Editing code
- Code appearance
- Markdown editor
- Image and PDF preview
- Search Everywhere
- Recent Files
- Navigation Bar
- Find and replace
- Changes and commits
- Sign-in prompts
- Commit box layout
- Repository actions
- Commit options
- Ignoring files
- Diffs
- Inline diffs
- Staging view
- Revert a change
- Resolving conflicts
- Merge tool
- Blame
- History and log
- Merge commits
- Commit tabs
- Branches and tags
- Branches popup
- Remotes
- Stashes
- Shelf
- Git menu
- Git dialogs
- Interactive rebase
- Worktrees
- AI agents
- AI usage
- Keep computer awake
- AI tasks
- Submodules
- Git LFS
- GitHub account
- Git Console
- Back and Forward
- Integrated terminal
- Scripts tool window
- Menu bar
- Settings
- Search in Settings
- Color themes
- Rounded panels
- Updates and release channels
- Status bar and help links
- Notifications
- Memory readout and memory log
- Clear Cache
- MCP server and command line tool
- git mergetool mode
These pages are generated from docs/wiki. To correct something, open a pull request against the source file; edits made here are overwritten.
Using Nibtree
- Getting Started
- Welcome Screen
- Workspaces
- Files Panel
- File Operations
- File Icons
- Rounded Panels
- Editor and Tabs
- Pin Reorder and Wrap Tabs
- Single Tab Title
- Split Editor
- New File and Unsaved Changes
- Unload Hidden Tabs
- Editing Code
- Code Appearance
- Markdown Editor
- Image and PDF Preview
- Search Everywhere
- Recent Files
- Navigation Bar
- Find and Replace
- Changes and Commits
- Sign In Prompts
- Commit Box Layout
- Repository Actions
- Commit Options
- Ignoring Files
- Diffs
- Inline Diffs
- Staging View
- Revert a Change
- Resolving Conflicts
- Merge Tool
- Blame
- History and Log
- Merge Commits
- Branches and Tags
- Branches Popup
- Remotes
- Stashes
- Shelf
- Git Menu
- Git Dialogs
- Interactive Rebase
- Worktrees
- AI Agents
- AI Tasks
- AI Usage
- Keep Computer Awake
- Submodules
- Git LFS
- GitHub
- Git Console
- Terminal
- Terminal Features
- Scripts
- Navigation
- Menus
- Settings
- Settings Search
- Color Themes
- Settings Terminal and Automation
- Settings Files
- Updates
- Status Bar and Help
- Notifications
- Memory Use
- Clear Cache
- MCP and CLI
- Git Mergetool
- Keyboard Shortcuts
- Keyboard Shortcuts Editor
- Troubleshooting
- Troubleshooting Git
Developers
- Developer Guide
- Architecture
- Project Layout
- Backend
- How Folder Watching Works
- Folder Watching Bugs We Fixed
- How Workspace Files Work
- How the Preview Scheme Works
- Backend Services
- How Terminal Features Work
- Terminal Bugs We Fixed
- Frontend
- How the Rich Markdown Editor Works
- Rich Markdown Bugs We Fixed
- Git Menu Links
- Menu Keys and Routing
- Frontend Modules
- Blame Bugs We Fixed
- Project Color And Title Bar
- One Diff View
- Diff Bugs We Fixed
- Merge Tool Layouts
- Merge Tool Bugs We Fixed
- Color Theme Bugs We Fixed
- How the Connected Diff Works
- Rounded Panels Bugs We Fixed
- Update Bugs We Fixed
- Status Bar Bugs We Fixed
- MCP and CLI Bugs We Fixed
- Repository Actions Bugs We Fixed
- How the Changes Tab Works
- CodeMirror Patterns
- How the Cursor Works
- How Editor Features Work
- How the Path Bar Works
- Commands and Events
- Settings Reference
- Commands Workspace and Changes
- Commands Branches and Remotes
- Commands History and Extras
- Commands App and Tools
- Testing
- Test Suites
- Debugging
- Debugging with MCP
- Measuring Setting Memory
- How Terminal Memory Is Measured
- How Markdown Diagrams Work
- Releases and CI
- Publishing the Wiki
- Versioning and Changelog
- Browser Version Packages
- Browser Release Checks
- Docker Image
- Platforms and Signing
- Windows Support
- Windows Bugs We Fixed
- Windows MCP and CLI
- Docs and Screenshots
- UI Library
- UI Library MCP
- UI Library Bugs
- UI Library Migration
- Contributing
How features work
- Welcome screen
- Workspaces and folders
- Files panel
- File operations
- File icons
- Editor and tabs
- Pin, reorder and wrap tabs
- Single tab title
- Split editor
- New File and unsaved changes
- Unload hidden tabs
- Editing code
- Code appearance
- Markdown editor
- Image and PDF preview
- Search Everywhere
- Recent Files
- Navigation Bar
- Find and replace
- Changes and commits
- Sign-in prompts
- Commit box layout
- Repository actions
- Commit options
- Ignoring files
- Diffs
- Inline diffs
- Staging view
- Revert a change
- Resolving conflicts
- Merge tool
- Blame
- History and log
- Merge commits
- Commit tabs
- Branches and tags
- Branches popup
- Remotes
- Stashes
- Shelf
- Git menu
- Git dialogs
- Interactive rebase
- Worktrees
- AI agents
- AI usage
- Keep computer awake
- AI tasks
- Submodules
- Git LFS
- GitHub account
- Git Console
- Back and Forward
- Integrated terminal
- Scripts tool window
- Menu bar
- Settings
- Search in Settings
- Color themes
- Rounded panels
- Updates and release channels
- Status bar and help links
- Notifications
- Memory readout and memory log
- Clear Cache
- MCP server and command line tool
- git mergetool mode