π§π· VersΓ£o em PortuguΓͺs Β· π Detailed About
Open-source spatial desktop environment for autonomous multi-agent AI coding orchestration (Claude Code, Codex, OpenCode, Antigravity, and Pi/omp) on an infinite canvas.
Built with Tauri 2, Rust, and React 19.
Running multiple CLI coding agents concurrently in modern software projects creates severe bottlenecks:
- Workspace collisions: Multiple agents modifying the same directory overwrite each other's changes, hold file locks, and produce messy git conflicts.
- Loss of spatial context: Switching across 10+ terminal tabs obscures task dependencies, who is waiting for whom, and what is currently executing.
- Synthetic / Mocked agent UIs: Many visual tools emulate terminal output in Web UI components, breaking real CLI flags, interactive prompts, and ANSI TUI behaviors.
- SaaS paywalls & platform lock-in: Existing workspace tools lock features behind monthly cloud subscriptions or restrict usage to single platforms.
Arbor solves this by running real, hardened PTY instances inside draggable 2D canvas nodes, driving visual connection cables directly from database dispatch states, isolating every agent inside dedicated Git Worktrees, and enabling direct agent-to-agent coordination over local Named Pipes via the arbor CLI.
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Frontend (React 19 + TypeScript) β
β 2D Infinite Canvas β Home Launcher & Composer β WebGL xterm.js β
β Zustand Stores β i18n (EN / PT-BR) β Local Artifacts β
βββββββββββββββββββββββββββββββββββββ¬βββββββββββββββββββββββββββββββββββββ
β Tauri 2 IPC (Type-Safe DTOs)
βββββββββββββββββββββββββββββββββββββΌβββββββββββββββββββββββββββββββββββββ
β Core Engine (Rust Backend) β
β βββββββββββββββββββββ βββββββββββββββββββββ ββββββββββββββββββββββ β
β β Hardened PTY Engineβ β Worktree Manager β β Roles & Lifecycle β β
β β (Memory Gate, β β (Safe Locks, β β (Atomic Persistenceβ β
β β Output Throttle) β β Sparse Checkout) β β Mutation Ledger) β β
β βββββββββββββββββββββ βββββββββββββββββββββ ββββββββββββββββββββββ β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β Embedded SQLite (WAL Mode, Foreign Keys, Busy Timeout) β β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
βββββββββββββββββββββββββββββββββββββ¬βββββββββββββββββββββββββββββββββββββ
β Named Pipes (`\\.\pipe\arbor-*`) / UDS
βββββββββββββββββββββββββββββββββββββΌβββββββββββββββββββββββββββββββββββββ
β Local CLI (`arbor` tool) β
β `arbor recruit` β `arbor ask` β `arbor connect` β `arbor list` β
β `arbor check` β `arbor role` β `arbor doctor` β `arbor ping` β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
- Every canvas node embeds a genuine
@xterm/xtermterminal accelerated with WebGL. - Backed by a real native OS PTY (
portable-pty) spawning a persistent interactive root shell (pwsh.exe/powershell.exe -NoExiton Windows;sh/bash/zsh -ion POSIX). - The agent CLI is launched as a startup command inside the shell; when the CLI exits, the shell remains open and responsive to keyboard input.
- Hardened Resource Gates: 400MB free RAM gate before process spawning, 250ms throttled output streaming with UTF-8 byte split boundary preservation, and lock-free process tree termination.
- Every teammate recruited by a Maestro receives a dedicated, isolated Git worktree branch (
.arbor/worktrees/<id>). - Prevents agents from colliding or locking working files.
- Includes sparse-checkout support and automated lock retry mechanisms.
- Any terminal node can be promoted to Team Maestro (
kind: 'coordinator'). - Roles are stored on disk in
.arbor/roles/<role-id>/(workspace) and~/.arbor/roles/(global), containingrole.jsonand dynamicAGENTS.mdinjected with<your_assigned_role>and<working_directory>. - Atomic writes with mutation ledgers ensure no configuration corruption.
- Models and permissions are translated into native CLI flags at agent startup.
- Agents discover and communicate with each other over local Named Pipes (
\\.\pipe\arbor-<token>on Windows or Unix Domain Sockets on Linux/macOS). arbor recruit --name "Tester" --role "tester" --agent "claude": Creates worktree, sets up role, spawns PTY, and tracks dispatch.arbor ask <name> "<prompt>": Blocks synchronously until the target agent responds or times out.arbor connect <nodeA> <nodeB>: Links two agents in the SQLite dispatch context table.arbor check <name>: Non-blocking inspection of agent status and latest unread messages.arbor list&arbor doctor: Discovers running teammates and verifies local system readiness.
- Interactive quickstart launcher with Composer, recent workspaces list, detected agent CLIs, YOLO mode toggle, and animated ASCII canvas background.
- Native internationalization support for English (
en) and Brazilian Portuguese (pt-BR).
- Node.js: v18+ (v20+ recommended)
- Rust: Stable toolchain (
rustup default stable) - OS Dependencies:
- Windows: Visual Studio C++ Build Tools
- Linux:
sudo apt install libwebkit2gtk-4.1-dev libappindicator3-dev librsvg2-dev patchelf - macOS: Xcode Command Line Tools
# 1. Clone the repository
git clone https://github.com/bps2414/arbor.git
cd arbor
# 2. Install frontend dependencies
npm install
# 3. Typecheck TypeScript
npm run typecheck
# 4. Run Rust unit & integration tests
cargo test --all-targets --manifest-path src-tauri/Cargo.toml
# 5. Launch Arbor desktop in development mode
npm run tauri dev.
βββ .arbor-planning/ # Specifications, wave contracts, and realness reports
β βββ WAVE1_CONTRACT.md # Wave 1 foundation deliverables
β βββ WAVE2_CONTRACT.md # Wave 2 roles & Maestro mode specifications
β βββ WAVE2_REALNESS_REPORT.md # Terminal realness verification & test suite audit
βββ ABOUT.md # Detailed technical overview & architectural blueprint
βββ ARBOR_PLANO_CONSOLIDADO.md # Master architectural blueprint and design tokens
βββ docs/ # UI specifications (Alethe & Maestri specs) and screenshots
βββ src/ # React 19 Frontend
β βββ components/
β β βββ canvas/ # 2D Canvas surface, nodes, cables, and tools
β β βββ home/ # Home launcher, composer, recent workspaces
β β βββ shell/ # App shell, toolbar, sidebar, zoom controls
β β βββ terminal/ # WebGL xterm.js node & overlays
β βββ lib/ # IPC adapters, i18n dictionaries, and skins
β βββ stores/ # Zustand stores (canvasStore, appStore)
βββ src-tauri/ # Rust Desktop Backend (Tauri 2)
βββ src/
β βββ bin/arbor.rs # Local `arbor` CLI binary
β βββ cli/ # Named Pipe / UDS server and command dispatchers
β βββ db/ # Embedded SQLite, schema migrations, and atomic ledger
β βββ ipc/ # Tauri IPC command handlers and DTOs
β βββ lifecycle/ # Agent lifecycle hook HTTP server
β βββ pty/ # Hardened PTY engine (portable-pty, throttle, tree kill)
β βββ roles/ # Role storage, resolution, and CLI flag drivers
β βββ worktree/ # Git worktree isolation engine
βββ Cargo.toml # Rust dependencies and configuration
[x] Wave 1: PTY Engine + SQLite + Worktrees (Desktop Foundation) β DONE
βββ SQLite orchestration schema with WAL, FKs, and busy timeout
βββ PTY hardening (Memory gate >400MB, 250ms batching, lock-free process tree kill)
βββ Worktree engine with sparse-checkout and index lock retry
βββ Atomic file persistence with tempfile + OS rename and mutation ledger
βββ Base `arbor` CLI dispatcher and specs
βββ Bilingual i18n support (PT-BR and EN)
[x] Wave 2: Roles + Maestro Mode + Terminal Realness β DONE
βββ Role system (.arbor/roles/ with role.json and AGENTS.md per worktree)
βββ Maestro Mode node promotion (`kind: 'coordinator'`)
βββ Local Named Pipes server (`arbor recruit`, `arbor connect`, `arbor ask`, `arbor check`)
βββ HTTP agent lifecycle hook server for event and heartbeat correlation
βββ HomeView launcher with Composer, recent projects, and ASCII backdrop
βββ Terminal Realness Gate: 93 automated tests passing, 0 synthetic UI mocks
[ ] Wave 3: Dynamic Canvas + Cables + Telemetry (Next)
βββ Live spring and catenary rope physics for cables driven by `dispatch_contexts`
βββ Historical memory and token cost telemetry overlays per node
βββ Interactive Markdown sticky notes and task DAG overlay layer
[ ] Wave 4: IDE Mode + Diff Viewer + MCP Hub
βββ Split-pane tabbed IDE layout (Horizontal/Vertical panes)
βββ 2MB safety-gated CSS diff viewer
βββ Centralized MCP configuration manager with safe atomic backups
βββ Multi-forge git integration (GitHub, GitLab)
[ ] Wave 5: Expansions & Distribution
βββ Embedded CDP browser view & Computer Use automation
βββ Recurring task scheduler
βββ Production installers (Windows NSIS `.exe`, macOS `.dmg`, Linux `.AppImage`)
This project is licensed under the MIT License.