A desktop Git client built on Tauri, Rust, and Svelte. No Electron, no Node.js runtime. The Windows executable is around 40 MB.
https://github.com/user-attachments/assets/1cfdec3d-82ab-4f14-a4e8-fb44a160a3e5
Arbor handles the everyday Git workflow (graph, staging, branches, merge, stash, tags, submodules, reflog, bisect, terminal) and the surrounding work that usually lives in browser tabs: CI/CD pipelines, security scanning, pull/merge requests, issue trackers, GitFlow, multi-repo workspaces.
It's also a plugin platform. The same sandboxed Lua runtime hosts tools that sit outside the strict scope of a Git client: format editors (JSON, TOML, YAML, RON, .properties), a cloud-storage browser, build runners, source-export workflows, and more. None of these ship in the binary — they're installed on demand from the arbor-extensions marketplace, which is also where most of the "surrounding work" features above live.
The full user manual lives in the app. Open the Docs panel from the activity bar; it can be exported to Markdown or HTML on demand. A snapshot is checked in at docs/arbor-docs.md for browsing from GitHub.
themes/: Tokyo Night (Night/Storm/Day), Catppuccin (Mocha/Macchiato/Frappé/Latte), Rosé Pine (Main/Moon/Dawn), GitHub (Dark/Light), Dracula, Nord, Solarized (Dark/Light), Gruvbox (Dark/Light), Monokai, One Dark/Light, Ayu (Dark/Light), Kanagawa, Caffeine.Ctrl+K. Verb-first: pick Checkout, Merge, Delete, Push, then a target (branch, commit, tag, file).Arbor runs plugins in a sandboxed Lua 5.4 environment. Plugins can register sidebar panels, command-palette entries, activity-bar items, settings panels, keybindings, hooks (commit, push, pre-commit, repo-open, pipeline events, security state changes, and more), background schedulers, and custom forms.
Nothing ships bundled. The binary contains only the runtime — every plugin is installed on demand from the arbor-extensions marketplace via the Browse button in the Plugin Manager, or from any custom GitHub source you add. The registry itself is just a small list of pointers — each plugin's metadata, icon, and docs are resolved straight from the source repo, so authors only ever maintain their own plugin.toml. Installs land disabled by default after an explicit permission-review modal, live in ~/.config/arbor/marketplace_plugins/, and are version-tracked with an Update pill when a newer release shows up in the catalog. A background scheduler keeps the catalog fresh; cadence is tunable from Settings → Tools → Marketplace.
The plugin development reference (manifest schema, hooks, full Lua API surface) lives in the in-app Docs panel.
| Security dashboard | CI/CD runs and jobs |
| Plugin manager | In-app Docs panel |
git CLI, where version differences may show up.Arbor is built to run on Windows, macOS, and Linux. Today the only environment actively exercised by the maintainer is Windows. The core has no Windows-only code paths, so macOS and Linux builds should work, but bug reports from those platforms are especially welcome since they're the ones least likely to be caught before a release.
Pre-built binaries for Windows, macOS, and Linux are attached to each release.
Requires Rust, Node.js, and Yarn:
git clone https://github.com/nightprint-studio/arbor.git
cd arbor
yarn install
cargo tauri build
For a hot-reloading development environment:
cargo tauri dev
| What | Location |
|---|---|
| App config | ~/.config/arbor/config.toml (Linux) · ~/Library/Application Support/arbor/config.toml (macOS) · %APPDATA%\arbor\config.toml (Windows) |
| Plugins | …/arbor/plugins/<plugin-name>/ under the same root as the app config |
| Per-repo settings | .arbor/config.toml inside the repository |
| Credentials | OS keyring: Windows Credential Manager, macOS Keychain, libsecret on Linux |
Nothing is written outside these locations. There is no telemetry: the only outbound network calls are the ones you explicitly configure (GitHub, GitLab, Linear, Jira, cloud-storage providers, and the like).
Most of Arbor is stable and used day-to-day. A few areas are still settling. See docs/status.md for the per-feature breakdown and docs/roadmap.md for what's coming next.
Heads up: pull requests aren't being accepted yet. Arbor is still settling into a public shape. For an initial period I'm keeping merges to maintainers only so the architecture, plugin API, and contribution workflow can stabilise without juggling external patches at the same time. This will be revisited once the dust settles; the moment PRs open up, this section and CONTRIBUTING.md will be updated.
What is welcome right now: bug reports, feature ideas, plugin proposals, design feedback, and questions. Open an issue and it'll be read.
Bug reports should mention the platform, the Arbor version, and whether the area involved is listed as stable, functional, or experimental in docs/status.md. See CONTRIBUTING.md for the full policy.
Arbor is released under the GPL-3.0 license. Forks and redistributions, including modified versions, must remain open under the same license.