@barnaby.build/barnaby 0.0.171 → 0.0.233

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,200 +1,162 @@
1
- # Barnaby
2
-
3
- Barnaby is a desktop AI agent orchestrator for **agentic coordination** connecting Codex, Claude, Gemini CLIs and OpenRouter APIs to deliver windowed agents, workspace-aware context, and a polished UI experience.
4
-
5
- - **Agentic coordination**: Run multiple agents in parallel, compare models side-by-side, keep separate conversations per panel
6
- - **CLI providers**: Codex, Claude, Gemini — use your existing CLI logins, no API keys in Barnaby
7
- - **API provider**: OpenRouter free-tier and paid models via API key (ideal when CLI quotas are exhausted)
8
- - **UI experience**: Split layouts (horizontal, vertical, grid), workspace window, dark/light themes, zoom, activity timeline
9
-
10
- ## Installation
11
-
12
- You can run Barnaby without cloning the repository. Choose one of the options below.
13
-
14
- ### Option 1: Download (recommended for Windows)
15
-
16
- [Download Barnaby](https://github.com/incendiosoftware/Barnaby/releases) — portable `.exe` for Windows. No install required. Best for correct Start menu and taskbar integration.
17
-
18
- 1. Go to [Releases](https://github.com/incendiosoftware/Barnaby/releases)
19
- 2. Download the latest `Barnaby_*_portable.exe`
20
- 3. Run it — no installer, no Node.js needed
21
-
22
- ### Option 2: npm (requires Node.js 20+)
23
-
24
- If you have Node.js installed, you can run Barnaby via npm without cloning:
25
-
26
- **Quick run (no install):**
27
- ```bash
28
- npx '@barnaby.build/barnaby'
29
- ```
30
-
31
- **Global install:**
32
- ```bash
33
- npm install -g '@barnaby.build/barnaby'
34
- barnaby
35
- ```
36
-
37
- *PowerShell: use single quotes around the package name (e.g. `'@barnaby.build/barnaby'`). Without quotes, `@` is interpreted as a variable.*
38
-
39
- **Windows (npm install):**
40
- - A Start menu shortcut is created automatically. Search "Barnaby" in Start.
41
- - For correct taskbar icon: **pin the shortcut** (right‑click → Pin to taskbar), not the running window. Pinning the window shows "Electron" because npm runs the electron binary directly.
42
- - If the shortcut has no icon: **Edit → Application Settings → Preferences** → **Repair Start menu shortcut**.
43
- - For the full experience (correct icon everywhere), use the [portable exe](https://github.com/incendiosoftware/Barnaby/releases).
44
-
45
- ### Orchestrator plugin (optional)
46
-
47
- The Orchestrator is an optional add-on for autonomous agent loops. It is **not** bundled with Barnaby.
48
-
49
- - **Install:** Edit Application Settings Orchestrator **Install from npm**
50
- - **Uninstall:** Edit → Application Settings → Orchestrator → **Uninstall**
51
- - **Manual:** `cd ~/.barnaby/plugins` (or `%USERPROFILE%\.barnaby\plugins` on Windows), then `npm install '@barnaby.build/orchestrator'` or `npm uninstall '@barnaby.build/orchestrator'`
52
-
53
- ---
54
-
55
- Stuart Mackereth
56
- https://barnaby.build
57
- incendiosoftware@gmail.com
58
- Incendio Trading Limited
59
-
60
- ## Screenshots
61
-
62
- <p align="center">
63
- <img src="docs/screenshots/barnaby-dark.png" width="45%" alt="Barnaby dark" />
64
- <img src="docs/screenshots/barnaby-light.png" width="45%" alt="Barnaby light" />
65
- </p>
66
-
67
- ## Overview
68
-
69
- Barnaby provides:
70
-
71
- - **Multiple agent panels** with split layouts (horizontal, vertical, grid)
72
- - **Workspace window** with agent orchestrator, file explorer, Git status, and workspace settings
73
- - **Workspace selection** and per-workspace model defaults
74
- - **Provider routing** for Codex, Claude, Gemini (CLI) and OpenRouter (API)
75
- - **Connectivity checks** for each provider
76
- - **Streaming chat** with markdown, code blocks, and collapsible activity timeline
77
- - **Queue-aware sending** and auto-scroll
78
- - **View menu**: layout, workspace window toggle, zoom, fullscreen
79
-
80
- ## Why Barnaby
81
-
82
- Barnaby unifies **CLI-based** providers (Codex, Claude, Gemini) and **API-based** OpenRouter so you can orchestrate agents without vendor lock-in.
83
-
84
- - **Agentic coordination**: Multiple agents side-by-side, workspace-aware context, parallel conversations
85
- - **Windowed agents**: Split layouts so you can compare models or keep contexts separate
86
- - **CLI providers**: Use your provider subscriptions via their CLI; Barnaby does not handle keys or billing
87
- - **OpenRouter**: API key in Barnaby settings; access free-tier and paid models when CLI quotas are exhausted
88
-
89
- Compared to single-chat tools: Barnaby gives you parallel windowed agents and workspace-aware orchestration.
90
-
91
- ## Orchestrator (optional add-on)
92
-
93
- The **Orchestrator** is an optional plugin that extends Barnaby beyond single-turn chat. It is a persistent management engine for **autonomous agent loops** — set a goal, define guardrails, and let agents work until the task is complete.
94
-
95
- **What it does:**
96
- - **Cross-agent state sync** — Agents share context across panels (e.g. backend signals schema changes to frontend)
97
- - **Goal persistence** — Stores a hierarchy of goals; pauses and resumes on failure or rate limits
98
- - **Deterministic guardrails** — Intercepts output to verify linting and security rules before committing to the workspace
99
-
100
- The Orchestrator is **not** bundled with Barnaby. Install it from Settings (Edit Application Settings Orchestrator Install from npm) if you want autonomous, multi-stage development. See [barnaby.build](https://barnaby.build) for more details.
101
-
102
- ## Prerequisites
103
-
104
- - **Node.js 20+** (recommended: Node 22 LTS)
105
- - **npm**
106
- - **CLI providers** (optional): Codex, Claude, and/or Gemini CLI installed and authenticated
107
- - **API provider** (optional): OpenRouter API key from https://openrouter.ai/keys
108
-
109
- ### Built-in terminal note
110
-
111
- The embedded terminal uses `node-pty`, which ships with prebuilt binaries for Windows, macOS, and Linux. No extra tools are needed. If the prebuilds don't load on your platform, `npm install` will attempt a source rebuild (requires Python 3 and C++ build tools). This is rare — the prebuilds work on most systems.
112
-
113
- ## Provider Coverage
114
-
115
- | Provider | Type | Setup |
116
- |------------|------|--------------------------------------------|
117
- | Codex | CLI | Install CLI, sign in via terminal |
118
- | Claude | CLI | Install CLI, sign in via terminal |
119
- | Gemini | CLI | Install CLI, sign in with Google |
120
- | OpenRouter | API | API key in Barnaby connectivity settings |
121
-
122
- OpenRouter offers free-tier models (e.g. Llama, Mistral) and paid models; useful when CLI quotas are exhausted.
123
-
124
- ## CLI Setup (Codex, Claude, Gemini)
125
-
126
- For CLI providers, required CLIs must be installed, signed in, and resolvable from your terminal.
127
-
128
- 1. Install each CLI from its official docs.
129
- 2. Open a new terminal after install.
130
- 3. Verify CLIs are available on `PATH`:
131
-
132
- ```sh
133
- codex --version
134
- claude --version
135
- gemini --version
136
- ```
137
-
138
- 4. Authenticate each CLI (follow the provider's login flow).
139
- 5. Sanity-check outside Barnaby by running one simple prompt in each CLI you plan to use.
140
-
141
- ## OpenRouter Setup
142
-
143
- 1. Get an API key from https://openrouter.ai/keys
144
- 2. In Barnaby: open connectivity settings, select OpenRouter, enter your API key
145
- 3. Choose a model (e.g. free-tier Llama 3.3 70B) and connect
146
-
147
- ## Development (from source)
148
-
149
- To build and run from the cloned repository:
150
-
151
- ```sh
152
- git clone https://github.com/incendiosoftware/Barnaby.git
153
- cd Barnaby
154
- npm install
155
- npm run dev
156
- ```
157
-
158
- If the postinstall step reports "Native module rebuild skipped", the terminal may still work via prebuilt binaries. If not, see [Prerequisites](#built-in-terminal-note).
159
-
160
- ## Build Commands (Standard Nomenclature)
161
-
162
- | Command | Meaning | Script |
163
- |---------|---------|--------|
164
- | **run dev** | Run in dev mode | `npm run dev` |
165
- | **build** | Build without version bump | `npm run build` |
166
- | **package** | Build + bump version + create distributable | `npm run package` |
167
- | **publish** | Release to GitHub with release notes | `npm run publish` |
168
-
169
- Flow: dev → build → package → publish
170
-
171
- - **build** = portable `.exe` in `release/<version>/` (uses current version)
172
- - **package** = bump patch version, build, artifact in `release/<new-version>/`
173
- - **publish** = trigger GitHub Actions to publish the current version (commit & push first)
174
-
175
- Other scripts: `build:dist`, `build:portable:raw`, `build:release`, `release:notes`, `release:prepare`
176
-
177
- Release notes: `RELEASE_NOTES_<version>.md` (generate with `npm run release:notes`). The release workflow updates the latest release link in this README automatically.
178
-
179
- ## Project Structure
180
-
181
- ```text
182
- docs/ Documentation (AGENTS.md, BACKLOG.md, STATUS_LOG.md)
183
- electron/ Electron main and preload
184
- src/ React renderer UI
185
- public/ Static assets
186
- release/ Packaged outputs
187
- ```
188
-
189
- ## Notes
190
-
191
- - Workspace root should be the repository root unless you want broader file scope.
192
- - If Codex fails with `codex app-server closed`, run `codex app-server` manually in terminal to inspect.
193
-
194
- ## Manual Test Checklist
195
-
196
- - Multi-instance: open two Barnaby executables and confirm both launch
197
- - Workspace lock: instance A opens workspace X; instance B tries X → blocked with in-use message
198
- - Different workspaces: instance A on X, instance B on Y → allowed
199
- - Lock release: close A, confirm B can open X
200
- - Crash-stale-lock: force-close A, wait for stale timeout, confirm another instance can claim X
1
+ # Barnaby
2
+
3
+ **Barnaby is a desktop IDE for orchestrating multiple AI coding agents locally.**
4
+
5
+ Run Codex, Claude, Gemini, and OpenRouter-backed models side-by-side from a single workspace, with separate panels, shared project context, and an optional orchestrator for longer-running agent workflows.
6
+
7
+ Barnaby lets developers treat AI agents like a team: design with one, code with another, review with a third.
8
+
9
+ ---
10
+
11
+ ## Screenshot
12
+
13
+ ![Barnaby UI](docs/screenshots/barnaby-main.png)
14
+
15
+ Additional screenshots:
16
+
17
+ - [Dark theme](docs/screenshots/barnaby-dark.png)
18
+ - [Light theme](docs/screenshots/barnaby-light.png)
19
+
20
+ ---
21
+
22
+ ## Features
23
+
24
+ - Run multiple AI agent sessions simultaneously
25
+ - Compare models side-by-side in split or grid layouts
26
+ - Orchestrate workflows between agents from a shared workspace
27
+ - Works with existing CLI tools such as Codex, Claude Code, and Gemini CLI
28
+ - Supports OpenRouter for API-based model access when CLI quotas are exhausted
29
+ - Local-first architecture: your code stays on your machine
30
+ - Multi-window agent and workspace management
31
+ - Built for developers, with explorer, Git, settings, and streaming chat timelines
32
+
33
+ ---
34
+
35
+ ## Why Barnaby?
36
+
37
+ Most AI coding tools operate one agent at a time.
38
+
39
+ Barnaby is designed for parallel, role-based workflows where different agents handle different parts of the job while staying anchored to the same codebase.
40
+
41
+ Example workflow:
42
+
43
+ - Architecture agent: designs the solution
44
+ - Coding agent: implements the change
45
+ - Review agent: validates behavior and catches regressions
46
+
47
+ All running in parallel from one desktop workspace.
48
+
49
+ Barnaby is also pragmatic about provider choice. You can use the CLI tools you already pay for and sign into, or route requests through OpenRouter when you need broader model coverage.
50
+
51
+ ---
52
+
53
+ ## Installation
54
+
55
+ Barnaby currently runs by cloning the repository locally.
56
+
57
+ Requirements:
58
+
59
+ - Node.js `>=20 <27` (Node 22 LTS recommended)
60
+ - `npm`
61
+ - Optional provider setup:
62
+ - Codex CLI
63
+ - Claude CLI / Claude Code
64
+ - Gemini CLI
65
+ - OpenRouter API key
66
+
67
+ Clone and run in development:
68
+
69
+ ```sh
70
+ git clone https://github.com/incendiosoftware/Barnaby.git
71
+ cd Barnaby
72
+ npm install
73
+ npm run dev
74
+ ```
75
+
76
+ Build a desktop package:
77
+
78
+ ```sh
79
+ npm run build
80
+ ```
81
+
82
+ Releases:
83
+
84
+ - https://github.com/incendiosoftware/Barnaby/releases
85
+
86
+ CLI sanity check after installing providers:
87
+
88
+ ```sh
89
+ codex --version
90
+ claude --version
91
+ gemini --version
92
+ ```
93
+
94
+ If the postinstall step reports that a native rebuild was skipped, the embedded terminal will usually still work via prebuilt binaries. Source rebuilds are only needed on platforms where prebuilds are unavailable.
95
+
96
+ ---
97
+
98
+ ## Architecture
99
+
100
+ Barnaby acts as a local orchestration layer for AI agent processes and provider integrations.
101
+
102
+ ```text
103
+ Barnaby Desktop UI
104
+ |
105
+ v
106
+ Workspace + Panel Manager
107
+ |
108
+ v
109
+ Provider / Agent Runtime Layer
110
+ | | | |
111
+ v v v v
112
+ Codex Claude Gemini OpenRouter
113
+ CLI CLI CLI API
114
+ ```
115
+
116
+ At a high level:
117
+
118
+ - `src/` contains the React renderer UI for panels, workspace tools, chat, and layout management
119
+ - `electron/main/` manages desktop runtime concerns, provider clients, permissions, updates, and local orchestration
120
+ - `electron/preload/` exposes the desktop bridge between the Electron main process and the renderer
121
+ - The optional orchestrator plugin extends Barnaby with autonomous agent loops, shared state, and goal persistence
122
+
123
+ Barnaby is local-first by design. Agent processes run on your machine, workspace context stays in your environment, and provider authentication remains with the CLI tools or API keys you configure.
124
+
125
+ ---
126
+
127
+ ## Roadmap
128
+
129
+ Current capabilities:
130
+
131
+ - Multi-agent workspace
132
+ - CLI integration for Codex, Claude, and Gemini
133
+ - OpenRouter model access
134
+ - Local orchestration and workspace-aware context
135
+ - Windowed desktop UI with split layouts and workspace tooling
136
+
137
+ Planned improvements:
138
+
139
+ - Richer agent collaboration workflows
140
+ - Better remote and background agent control
141
+ - Plugin ecosystem expansion
142
+ - Stronger automation and orchestration primitives
143
+ - More onboarding polish and demos for new users
144
+
145
+ ---
146
+
147
+ ## Contributing
148
+
149
+ Contributions and feedback are welcome.
150
+
151
+ Open an issue or submit a pull request if you want to help improve Barnaby.
152
+
153
+ Additional docs:
154
+
155
+ - [Contributing guide](CONTRIBUTING.md)
156
+ - [Security policy](SECURITY.md)
157
+
158
+ ---
159
+
160
+ ## License
161
+
162
+ MIT