@barnaby.build/barnaby 0.0.132 → 0.0.171
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 +57 -20
- package/bin/barnaby.cjs +4 -2
- package/build/icon.icns +0 -0
- package/build/icon.ico +0 -0
- package/build/icon.png +0 -0
- package/dist/assets/index-BGgZBU-P.js +280 -0
- package/dist/assets/index-Cmxmzasv.css +32 -0
- package/dist/debug-window.html +65 -0
- package/dist/index.html +6 -3
- package/dist-electron/main/index.js +18407 -2143
- package/dist-electron/preload/index.mjs +2 -2
- package/package.json +10 -7
- package/public/debug-window.html +65 -0
- package/scripts/patch-nord-theme.mjs +14 -0
- package/scripts/rebuild-native.mjs +47 -0
- package/scripts/shortcut-win.mjs +8 -6
- package/dist/assets/index-C-eNCQNa.css +0 -32
- package/dist/assets/index-CfQfYAHa.js +0 -269
package/README.md
CHANGED
|
@@ -9,42 +9,60 @@ Barnaby is a desktop AI agent orchestrator for **agentic coordination** — conn
|
|
|
9
9
|
|
|
10
10
|
## Installation
|
|
11
11
|
|
|
12
|
-
|
|
12
|
+
You can run Barnaby without cloning the repository. Choose one of the options below.
|
|
13
13
|
|
|
14
|
-
|
|
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
|
|
15
21
|
|
|
16
22
|
### Option 2: npm (requires Node.js 20+)
|
|
17
23
|
|
|
18
|
-
|
|
24
|
+
If you have Node.js installed, you can run Barnaby via npm without cloning:
|
|
25
|
+
|
|
26
|
+
**Quick run (no install):**
|
|
19
27
|
```bash
|
|
20
28
|
npx '@barnaby.build/barnaby'
|
|
21
29
|
```
|
|
22
|
-
*PowerShell: use single quotes as shown. Bash/zsh: quotes optional.*
|
|
23
30
|
|
|
24
31
|
**Global install:**
|
|
25
32
|
```bash
|
|
26
33
|
npm install -g '@barnaby.build/barnaby'
|
|
27
34
|
barnaby
|
|
28
35
|
```
|
|
29
|
-
*PowerShell: use single quotes around the package name.*
|
|
30
36
|
|
|
31
|
-
|
|
37
|
+
*PowerShell: use single quotes around the package name (e.g. `'@barnaby.build/barnaby'`). Without quotes, `@` is interpreted as a variable.*
|
|
32
38
|
|
|
33
|
-
|
|
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).
|
|
34
44
|
|
|
35
|
-
|
|
36
|
-
[Download Barnaby v0.0.125](https://github.com/incendiosoftware/Barnaby/releases/tag/v0.0.125)
|
|
45
|
+
### Orchestrator plugin (optional)
|
|
37
46
|
|
|
38
|
-
|
|
39
|
-
Written By: Stuart Mackereth
|
|
40
|
-
Company: Incendio Trading Limited
|
|
41
|
-
Email: incendiosoftware@gmail.com
|
|
47
|
+
The Orchestrator is an optional add-on for autonomous agent loops. It is **not** bundled with Barnaby.
|
|
42
48
|
|
|
43
|
-
|
|
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
|
|
44
59
|
|
|
45
|
-
|
|
60
|
+
## Screenshots
|
|
46
61
|
|
|
47
|
-
|
|
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>
|
|
48
66
|
|
|
49
67
|
## Overview
|
|
50
68
|
|
|
@@ -70,13 +88,28 @@ Barnaby unifies **CLI-based** providers (Codex, Claude, Gemini) and **API-based*
|
|
|
70
88
|
|
|
71
89
|
Compared to single-chat tools: Barnaby gives you parallel windowed agents and workspace-aware orchestration.
|
|
72
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
|
+
|
|
73
102
|
## Prerequisites
|
|
74
103
|
|
|
75
|
-
- Node.js
|
|
76
|
-
- npm
|
|
104
|
+
- **Node.js 20+** (recommended: Node 22 LTS)
|
|
105
|
+
- **npm**
|
|
77
106
|
- **CLI providers** (optional): Codex, Claude, and/or Gemini CLI installed and authenticated
|
|
78
107
|
- **API provider** (optional): OpenRouter API key from https://openrouter.ai/keys
|
|
79
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
|
+
|
|
80
113
|
## Provider Coverage
|
|
81
114
|
|
|
82
115
|
| Provider | Type | Setup |
|
|
@@ -111,15 +144,19 @@ gemini --version
|
|
|
111
144
|
2. In Barnaby: open connectivity settings, select OpenRouter, enter your API key
|
|
112
145
|
3. Choose a model (e.g. free-tier Llama 3.3 70B) and connect
|
|
113
146
|
|
|
114
|
-
## Development
|
|
147
|
+
## Development (from source)
|
|
115
148
|
|
|
116
|
-
|
|
149
|
+
To build and run from the cloned repository:
|
|
117
150
|
|
|
118
151
|
```sh
|
|
152
|
+
git clone https://github.com/incendiosoftware/Barnaby.git
|
|
153
|
+
cd Barnaby
|
|
119
154
|
npm install
|
|
120
155
|
npm run dev
|
|
121
156
|
```
|
|
122
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
|
+
|
|
123
160
|
## Build Commands (Standard Nomenclature)
|
|
124
161
|
|
|
125
162
|
| Command | Meaning | Script |
|
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
|
})
|
package/build/icon.icns
ADDED
|
Binary file
|
package/build/icon.ico
ADDED
|
Binary file
|
package/build/icon.png
ADDED
|
Binary file
|