openrune 0.2.0 → 0.2.1
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 +80 -40
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -19,13 +19,14 @@
|
|
|
19
19
|
|
|
20
20
|
## What is Rune?
|
|
21
21
|
|
|
22
|
-
Rune
|
|
22
|
+
Rune is a file-based agent harness for [Claude Code](https://docs.anthropic.com/en/docs/claude-code). Each `.rune` file is an independent AI agent with its own role, memory, and context. Run it from the CLI, chain agents together, automate with triggers, or open the desktop UI.
|
|
23
23
|
|
|
24
24
|
- **File-based** — One `.rune` file = one agent. Move it, share it, version it with git.
|
|
25
|
-
- **
|
|
26
|
-
- **
|
|
27
|
-
- **
|
|
28
|
-
- **
|
|
25
|
+
- **Headless execution** — Run agents from the CLI or scripts. No GUI needed.
|
|
26
|
+
- **Agent chaining** — Pipe agents together in a pipeline. Output → input, automatically.
|
|
27
|
+
- **Automated triggers** — Run agents on file changes, git commits, or a cron schedule.
|
|
28
|
+
- **Node.js API** — Use agents programmatically with `require('openrune')`.
|
|
29
|
+
- **Desktop UI** — Chat interface with real-time activity monitoring and built-in terminal.
|
|
29
30
|
|
|
30
31
|
---
|
|
31
32
|
|
|
@@ -33,15 +34,15 @@ Rune turns any folder into an AI workspace. Each `.rune` file is an independent
|
|
|
33
34
|
|
|
34
35
|
Building a Claude Code harness usually means wiring up process management, I/O parsing, state handling, and a UI from scratch. Rune lets you skip all of that — just drop a file and go.
|
|
35
36
|
|
|
36
|
-
**No harness boilerplate** — No SDK wiring, no process management, no custom I/O parsing. One `.rune` file gives you a fully working
|
|
37
|
+
**No harness boilerplate** — No SDK wiring, no process management, no custom I/O parsing. One `.rune` file gives you a fully working agent you can run from CLI, scripts, or the desktop UI.
|
|
37
38
|
|
|
38
|
-
**Persistent context** —
|
|
39
|
+
**Persistent context** — Role, memory, and chat history live in the `.rune` file. Close the app, reopen it next week — the agent picks up right where you left off.
|
|
39
40
|
|
|
40
|
-
**Portable** — The `.rune` file is just
|
|
41
|
+
**Portable & shareable** — The `.rune` file is just JSON. Commit it to git, share it with teammates, or move it to another machine. The agent goes wherever the file goes.
|
|
41
42
|
|
|
42
|
-
**Multiple agents per
|
|
43
|
+
**Multiple agents per project** — A reviewer, a backend dev, a designer — each with its own role and history, working side by side in the same folder.
|
|
43
44
|
|
|
44
|
-
**
|
|
45
|
+
**Scriptable** — Chain agents, set up triggers, or call agents from your own code via the Node.js API. One file format, multiple ways to use it.
|
|
45
46
|
|
|
46
47
|
<p align="center">
|
|
47
48
|
<img src="demo.gif" width="100%" alt="Rune demo" />
|
|
@@ -75,39 +76,65 @@ Or right-click any folder in Finder → Quick Actions → **New Rune**
|
|
|
75
76
|
<img src="Screenshot.png" width="500" alt="Right-click to create a Rune agent" />
|
|
76
77
|
</p>
|
|
77
78
|
|
|
78
|
-
### 3.
|
|
79
|
+
### 3. Use it
|
|
79
80
|
|
|
80
|
-
**Double-click
|
|
81
|
+
**Desktop UI** — Double-click the `.rune` file, or:
|
|
81
82
|
|
|
82
83
|
```bash
|
|
83
84
|
rune open myagent.rune
|
|
84
85
|
```
|
|
85
86
|
|
|
87
|
+
**Headless** — Run from the CLI without a GUI:
|
|
88
|
+
|
|
89
|
+
```bash
|
|
90
|
+
rune run myagent.rune "Explain this project's architecture"
|
|
91
|
+
```
|
|
92
|
+
|
|
86
93
|
---
|
|
87
94
|
|
|
88
|
-
##
|
|
95
|
+
## Use Cases
|
|
96
|
+
|
|
97
|
+
**Solo dev workflow** — Create `reviewer.rune` and `coder.rune` in your project. Use one to write code, the other to review it. Each agent keeps its own context and history.
|
|
98
|
+
|
|
99
|
+
**Automated code review** — Set up a trigger to review every commit automatically:
|
|
100
|
+
```bash
|
|
101
|
+
rune watch reviewer.rune --on git-commit --prompt "Review this commit for bugs and security issues"
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
**CI/CD integration** — Run agents headlessly in your pipeline:
|
|
105
|
+
```bash
|
|
106
|
+
rune run qa.rune "Run tests and report any failures" --output json
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
**Agent pipeline** — Chain specialized agents for complex tasks:
|
|
110
|
+
```bash
|
|
111
|
+
rune pipe architect.rune coder.rune reviewer.rune "Add OAuth2 login flow"
|
|
112
|
+
```
|
|
89
113
|
|
|
90
|
-
|
|
114
|
+
**Team collaboration** — Commit `.rune` files to git. Your teammates get the same agent with the same role and memory — no setup needed.
|
|
91
115
|
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
116
|
+
**Monitoring** — Schedule an agent to check things periodically:
|
|
117
|
+
```bash
|
|
118
|
+
rune watch ops.rune --on cron --interval 10m --prompt "Check if the API is healthy"
|
|
119
|
+
```
|
|
96
120
|
|
|
97
|
-
|
|
121
|
+
---
|
|
98
122
|
|
|
99
|
-
|
|
123
|
+
## Features
|
|
100
124
|
|
|
101
|
-
|
|
102
|
-
- **Tool results** — See the output of each action.
|
|
103
|
-
- **Permission requests** — Get notified when the agent needs approval.
|
|
104
|
-
- **Session events** — Track when sessions start, stop, or encounter errors.
|
|
125
|
+
### Harness
|
|
105
126
|
|
|
106
|
-
|
|
127
|
+
- **Headless execution** — `rune run` lets you run agents from the CLI, scripts, or CI/CD. No GUI needed.
|
|
128
|
+
- **Agent chaining** — `rune pipe` connects agents in sequence. Each agent's output feeds into the next.
|
|
129
|
+
- **Automated triggers** — `rune watch` runs agents on file changes, git commits, or a cron schedule.
|
|
130
|
+
- **Node.js API** — `require('openrune')` to use agents programmatically in your own code.
|
|
131
|
+
- **Persistent context** — Role, memory, and chat history are saved in the `.rune` file across sessions.
|
|
107
132
|
|
|
108
|
-
###
|
|
133
|
+
### Desktop UI
|
|
109
134
|
|
|
110
|
-
|
|
135
|
+
- **Chat interface** — Markdown rendering, file attachment, stream cancellation.
|
|
136
|
+
- **Real-time activity** — See every tool call, result, and permission request as it happens via [Claude Code hooks](https://docs.anthropic.com/en/docs/claude-code/hooks).
|
|
137
|
+
- **Built-in terminal** — Raw Claude Code output and your own commands, side by side.
|
|
111
138
|
|
|
112
139
|
### Agent Roles
|
|
113
140
|
|
|
@@ -221,21 +248,33 @@ const { finalOutput } = await rune.pipe(
|
|
|
221
248
|
## Architecture
|
|
222
249
|
|
|
223
250
|
```
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
↕
|
|
228
|
-
|
|
229
|
-
↕
|
|
230
|
-
|
|
251
|
+
┌─────────────────────────┐
|
|
252
|
+
│ Desktop UI Mode │
|
|
253
|
+
│ User ↔ Chat UI (React) │
|
|
254
|
+
│ ↕ IPC │
|
|
255
|
+
│ Electron Main Process │
|
|
256
|
+
│ ↕ HTTP + SSE │
|
|
257
|
+
└────────────┬────────────┘
|
|
258
|
+
│
|
|
259
|
+
┌────────────┴────────────┐
|
|
260
|
+
│ MCP Channel │ Claude Code Hooks
|
|
261
|
+
│ (rune-channel) │ ↕ HTTP POST
|
|
262
|
+
│ ↕ MCP │←──── rune-channel /hook
|
|
263
|
+
└────────────┬────────────┘
|
|
264
|
+
│
|
|
265
|
+
┌────────────┴────────────┐
|
|
266
|
+
│ Claude Code CLI │
|
|
267
|
+
└─────────────────────────┘
|
|
268
|
+
|
|
269
|
+
Harness Mode (rune run / pipe / watch):
|
|
270
|
+
CLI → Claude Code CLI (-p) → stdout
|
|
271
|
+
No MCP channel, no Electron — direct execution
|
|
231
272
|
```
|
|
232
273
|
|
|
233
|
-
**Two
|
|
234
|
-
|
|
235
|
-
1. **Chat input** → MCP channel → Claude Code (user messages)
|
|
236
|
-
2. **Claude Code hooks** → rune-channel → SSE → Chat UI (activity monitoring)
|
|
274
|
+
**Two modes of operation:**
|
|
237
275
|
|
|
238
|
-
|
|
276
|
+
1. **Desktop UI** — Chat input → MCP channel → Claude Code, with hooks for real-time activity monitoring.
|
|
277
|
+
2. **Harness** — Direct CLI execution via `claude -p`. Agents run headlessly with context from the `.rune` file.
|
|
239
278
|
|
|
240
279
|
---
|
|
241
280
|
|
|
@@ -263,7 +302,8 @@ npm run build
|
|
|
263
302
|
|
|
264
303
|
```
|
|
265
304
|
Rune/
|
|
266
|
-
bin/rune.js # CLI
|
|
305
|
+
bin/rune.js # CLI (install, new, open, run, pipe, watch, list)
|
|
306
|
+
lib/index.js # Node.js API (require('openrune'))
|
|
267
307
|
src/
|
|
268
308
|
main.ts # Electron main process
|
|
269
309
|
preload.ts # Preload bridge (IPC security)
|
package/package.json
CHANGED