@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 +162 -200
- package/dist/assets/index-B2QCc9UL.js +225 -0
- package/dist/assets/index-DY-L_K7b.css +32 -0
- package/dist/index.html +2 -2
- package/dist-electron/main/index.js +8041 -6745
- package/dist-electron/preload/index.mjs +2 -2
- package/docs/screenshots/barnaby-dark.png +0 -0
- package/docs/screenshots/barnaby-light.png +0 -0
- package/docs/screenshots/barnaby-main.png +0 -0
- package/package.json +27 -11
- package/scripts/apply-exe-icon.mjs +51 -0
- package/scripts/build-dispatch.mjs +40 -0
- package/scripts/electron-builder-after-pack.cjs +27 -0
- package/scripts/generate-license-key.mjs +99 -0
- package/scripts/license-keypair-init.mjs +56 -0
- package/scripts/run-with-version-bump.mjs +80 -0
- package/scripts/sync-icon.mjs +20 -0
- package/dist/assets/index-BGgZBU-P.js +0 -280
- package/dist/assets/index-Cmxmzasv.css +0 -32
package/README.md
CHANGED
|
@@ -1,200 +1,162 @@
|
|
|
1
|
-
# Barnaby
|
|
2
|
-
|
|
3
|
-
Barnaby is a desktop
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
##
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
##
|
|
161
|
-
|
|
162
|
-
|
|
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
|
+

|
|
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
|