@barnaby.build/barnaby 0.0.132 → 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,163 +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
- ### Option 1: Download (recommended)
13
-
14
- [Download Barnaby](https://github.com/incendiosoftware/Barnaby/releases) — portable `.exe` for Windows. No install required.
15
-
16
- ### Option 2: npm (requires Node.js 20+)
17
-
18
- **Quick run:**
19
- ```bash
20
- npx '@barnaby.build/barnaby'
21
- ```
22
- *PowerShell: use single quotes as shown. Bash/zsh: quotes optional.*
23
-
24
- **Global install:**
25
- ```bash
26
- npm install -g '@barnaby.build/barnaby'
27
- barnaby
28
- ```
29
- *PowerShell: use single quotes around the package name.*
30
-
31
- **Windows (npm install):** A Start menu shortcut is created automatically. Search "Barnaby" in Start. For correct taskbar icon, **pin the shortcut** (right‑click → Pin to taskbar), not the running window.
32
-
33
- ---
34
-
35
- Latest Binary Release
36
- [Download Barnaby v0.0.125](https://github.com/incendiosoftware/Barnaby/releases/tag/v0.0.125)
37
-
38
- Website: https://barnaby.build
39
- Written By: Stuart Mackereth
40
- Company: Incendio Trading Limited
41
- Email: incendiosoftware@gmail.com
42
-
43
- ## Screenshots
44
-
45
- ![Barnaby dark screenshot](docs/screenshots/barnaby-dark.png)
46
-
47
- ![Barnaby light screenshot](docs/screenshots/barnaby-light.png)
48
-
49
- ## Overview
50
-
51
- Barnaby provides:
52
-
53
- - **Multiple agent panels** with split layouts (horizontal, vertical, grid)
54
- - **Workspace window** with agent orchestrator, file explorer, Git status, and workspace settings
55
- - **Workspace selection** and per-workspace model defaults
56
- - **Provider routing** for Codex, Claude, Gemini (CLI) and OpenRouter (API)
57
- - **Connectivity checks** for each provider
58
- - **Streaming chat** with markdown, code blocks, and collapsible activity timeline
59
- - **Queue-aware sending** and auto-scroll
60
- - **View menu**: layout, workspace window toggle, zoom, fullscreen
61
-
62
- ## Why Barnaby
63
-
64
- Barnaby unifies **CLI-based** providers (Codex, Claude, Gemini) and **API-based** OpenRouter so you can orchestrate agents without vendor lock-in.
65
-
66
- - **Agentic coordination**: Multiple agents side-by-side, workspace-aware context, parallel conversations
67
- - **Windowed agents**: Split layouts so you can compare models or keep contexts separate
68
- - **CLI providers**: Use your provider subscriptions via their CLI; Barnaby does not handle keys or billing
69
- - **OpenRouter**: API key in Barnaby settings; access free-tier and paid models when CLI quotas are exhausted
70
-
71
- Compared to single-chat tools: Barnaby gives you parallel windowed agents and workspace-aware orchestration.
72
-
73
- ## Prerequisites
74
-
75
- - Node.js 18+ recommended
76
- - npm
77
- - **CLI providers** (optional): Codex, Claude, and/or Gemini CLI installed and authenticated
78
- - **API provider** (optional): OpenRouter API key from https://openrouter.ai/keys
79
-
80
- ## Provider Coverage
81
-
82
- | Provider | Type | Setup |
83
- |------------|------|--------------------------------------------|
84
- | Codex | CLI | Install CLI, sign in via terminal |
85
- | Claude | CLI | Install CLI, sign in via terminal |
86
- | Gemini | CLI | Install CLI, sign in with Google |
87
- | OpenRouter | API | API key in Barnaby connectivity settings |
88
-
89
- OpenRouter offers free-tier models (e.g. Llama, Mistral) and paid models; useful when CLI quotas are exhausted.
90
-
91
- ## CLI Setup (Codex, Claude, Gemini)
92
-
93
- For CLI providers, required CLIs must be installed, signed in, and resolvable from your terminal.
94
-
95
- 1. Install each CLI from its official docs.
96
- 2. Open a new terminal after install.
97
- 3. Verify CLIs are available on `PATH`:
98
-
99
- ```sh
100
- codex --version
101
- claude --version
102
- gemini --version
103
- ```
104
-
105
- 4. Authenticate each CLI (follow the provider's login flow).
106
- 5. Sanity-check outside Barnaby by running one simple prompt in each CLI you plan to use.
107
-
108
- ## OpenRouter Setup
109
-
110
- 1. Get an API key from https://openrouter.ai/keys
111
- 2. In Barnaby: open connectivity settings, select OpenRouter, enter your API key
112
- 3. Choose a model (e.g. free-tier Llama 3.3 70B) and connect
113
-
114
- ## Development
115
-
116
- From repo root:
117
-
118
- ```sh
119
- npm install
120
- npm run dev
121
- ```
122
-
123
- ## Build Commands (Standard Nomenclature)
124
-
125
- | Command | Meaning | Script |
126
- |---------|---------|--------|
127
- | **run dev** | Run in dev mode | `npm run dev` |
128
- | **build** | Build without version bump | `npm run build` |
129
- | **package** | Build + bump version + create distributable | `npm run package` |
130
- | **publish** | Release to GitHub with release notes | `npm run publish` |
131
-
132
- Flow: dev build package publish
133
-
134
- - **build** = portable `.exe` in `release/<version>/` (uses current version)
135
- - **package** = bump patch version, build, artifact in `release/<new-version>/`
136
- - **publish** = trigger GitHub Actions to publish the current version (commit & push first)
137
-
138
- Other scripts: `build:dist`, `build:portable:raw`, `build:release`, `release:notes`, `release:prepare`
139
-
140
- Release notes: `RELEASE_NOTES_<version>.md` (generate with `npm run release:notes`). The release workflow updates the latest release link in this README automatically.
141
-
142
- ## Project Structure
143
-
144
- ```text
145
- docs/ Documentation (AGENTS.md, BACKLOG.md, STATUS_LOG.md)
146
- electron/ Electron main and preload
147
- src/ React renderer UI
148
- public/ Static assets
149
- release/ Packaged outputs
150
- ```
151
-
152
- ## Notes
153
-
154
- - Workspace root should be the repository root unless you want broader file scope.
155
- - If Codex fails with `codex app-server closed`, run `codex app-server` manually in terminal to inspect.
156
-
157
- ## Manual Test Checklist
158
-
159
- - Multi-instance: open two Barnaby executables and confirm both launch
160
- - Workspace lock: instance A opens workspace X; instance B tries X → blocked with in-use message
161
- - Different workspaces: instance A on X, instance B on Y → allowed
162
- - Lock release: close A, confirm B can open X
163
- - 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
package/bin/barnaby.cjs CHANGED
@@ -1,4 +1,4 @@
1
- #!/usr/bin/env node
1
+ #!/usr/bin/env node
2
2
  'use strict'
3
3
 
4
4
  const { spawn } = require('child_process')
@@ -8,8 +8,10 @@ const pkgRoot = path.join(__dirname, '..')
8
8
  const mainPath = path.join(pkgRoot, 'dist-electron', 'main', 'index.js')
9
9
 
10
10
  const electron = require('electron')
11
+ // stdio: 'ignore' when no TTY (e.g. Start menu shortcut) prevents a console window.
12
+ // stdio: 'inherit' when run from terminal keeps plugin logs visible for debugging.
11
13
  const child = spawn(electron, [mainPath], {
12
- stdio: 'inherit',
14
+ stdio: process.stdout?.isTTY ? 'inherit' : 'ignore',
13
15
  cwd: pkgRoot,
14
16
  env: { ...process.env }
15
17
  })
Binary file
package/build/icon.ico ADDED
Binary file
package/build/icon.png ADDED
Binary file