@openboard/start 1.0.20 → 1.0.23
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 +2 -4
- package/bin/openboard.js +23 -0
- package/package.json +1 -1
- package/packages/client/dist/assets/{index-B5qL8ybM.js → index-D6WEx7Lr.js} +17 -17
- package/packages/client/dist/index.html +1 -1
- package/packages/server/dist/agents/codereview.agent.js +8 -22
- package/packages/server/dist/agents/opencode.agent.js +31 -66
- package/packages/server/dist/agents/opencode.events.js +12 -54
- package/packages/server/dist/db/database.js +6 -0
- package/packages/server/dist/repositories/board.repository.js +20 -4
- package/packages/server/dist/routes/boards.router.js +4 -4
- package/packages/server/dist/utils/opencode.js +11 -0
- package/packages/server/dist/utils/os.js +73 -0
package/README.md
CHANGED
|
@@ -1,11 +1,9 @@
|
|
|
1
1
|
# Openboard: The AI Agent Orchestration Board
|
|
2
|
-
|
|
2
|
+
A unified board to orchestrate AI agents that plan, code, review, and test.
|
|
3
3
|
|
|
4
4
|

|
|
5
5
|
|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
|
|
9
7
|
Openboard is not just another Kanban board—it is an orchestration platform specifically designed to **manage, monitor, and collaborate with autonomous AI coding agents**. While it features a real-time Kanban interface built with React and Node.js, our primary focus is on providing a seamless environment for agents to pick up tasks, execute them in isolation, and submit their work.
|
|
10
8
|
|
|
11
9
|
## Why Openboard? Managing Coding Agents
|
|
@@ -32,7 +30,7 @@ Your folder should already have `git init` and a GitHub repo configured.
|
|
|
32
30
|
|
|
33
31
|
```
|
|
34
32
|
cd /path/to/project
|
|
35
|
-
npx @
|
|
33
|
+
npx @openboard/start
|
|
36
34
|
```
|
|
37
35
|
|
|
38
36
|
## Tech Stack
|
package/bin/openboard.js
CHANGED
|
@@ -75,6 +75,29 @@ async function main() {
|
|
|
75
75
|
// Import the compiled server index file
|
|
76
76
|
try {
|
|
77
77
|
await import(path.join(__dirname, '../packages/server/dist/index.js'));
|
|
78
|
+
|
|
79
|
+
// Give the server a moment to start
|
|
80
|
+
setTimeout(async () => {
|
|
81
|
+
const currentPath = process.cwd();
|
|
82
|
+
// We use fetch since the server is running in this process or another
|
|
83
|
+
try {
|
|
84
|
+
const res = await fetch(`http://localhost:${process.env.PORT}/api/boards`);
|
|
85
|
+
if (res.ok) {
|
|
86
|
+
const boards = await res.json();
|
|
87
|
+
// Find board with this path. Normalize windows paths for comparison.
|
|
88
|
+
const normalize = (p) => p.replace(/\\/g, '/').toLowerCase();
|
|
89
|
+
const board = boards.find(b => b.path && normalize(b.path) === normalize(currentPath));
|
|
90
|
+
|
|
91
|
+
const open = (await import('open')).default;
|
|
92
|
+
const url = board ? `http://localhost:${process.env.PORT}/boards/${board.id}` : `http://localhost:${process.env.PORT}/`;
|
|
93
|
+
console.log(`[openboard] Opening browser to ${url}`);
|
|
94
|
+
await open(url);
|
|
95
|
+
}
|
|
96
|
+
} catch (e) {
|
|
97
|
+
console.error('[openboard] Could not detect board or open browser:', e);
|
|
98
|
+
}
|
|
99
|
+
}, 1000);
|
|
100
|
+
|
|
78
101
|
} catch (e) {
|
|
79
102
|
console.error('[openboard] Error starting server. Did you run `npm run build`? Full Error:', e);
|
|
80
103
|
if (opencodeProcess) opencodeProcess.kill();
|