openrune 1.0.0 → 1.0.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.
Files changed (3) hide show
  1. package/README.ko.md +340 -0
  2. package/README.md +4 -0
  3. package/package.json +2 -2
package/README.ko.md ADDED
@@ -0,0 +1,340 @@
1
+ <p align="center">
2
+ <img src="rune-logo.png" width="180" />
3
+ </p>
4
+
5
+ <h1 align="center">Rune</h1>
6
+
7
+ <p align="center">
8
+ <a href="README.md">English</a> | <a href="README.ko.md">한국어</a>
9
+ </p>
10
+
11
+ <p align="center">
12
+ <strong>Claude Code를 위한 가장 간단한 에이전트 툴킷</strong><br/>
13
+ SDK 없이. 보일러플레이트 없이. 파일 하나가 에이전트 하나.
14
+ </p>
15
+
16
+ <p align="center">
17
+ <img src="https://img.shields.io/badge/powered_by-Claude_Code-blueviolet" alt="Claude Code" />
18
+ <img src="https://img.shields.io/badge/platform-macOS%20%7C%20Windows%20%7C%20Linux-blue" alt="platform" />
19
+ <img src="https://img.shields.io/badge/license-MIT-green" alt="license" />
20
+ </p>
21
+
22
+ ---
23
+
24
+ ## 사전 준비
25
+
26
+ - **Node.js** 18+
27
+ - **Claude Code CLI** 설치 및 로그인 — Rune은 모든 에이전트 실행에 Claude Code를 사용합니다
28
+
29
+ ```bash
30
+ npm install -g @anthropic-ai/claude-code
31
+ claude # 로그인이 안 되어 있다면 실행
32
+ ```
33
+
34
+ > **Rune의 작동 방식:** Rune은 Claude Code의 커스텀 채널(현재 베타)을 사용하여 에이전트 기능을 확장합니다. Claude API에 직접 접근하거나 인증을 처리하지 않으며, 모든 실행은 공식 Claude Code CLI를 통해 이루어집니다.
35
+
36
+ > **사용량:** Rune은 사용자의 Claude Code CLI 세션을 통해 실행됩니다. 사용량이 구독 또는 추가 사용량에서 차감되는지 현재 확인 중이며, 확인되는 대로 업데이트하겠습니다.
37
+
38
+ ## 설치
39
+
40
+ ```bash
41
+ npm install -g openrune
42
+ ```
43
+
44
+ ---
45
+
46
+ ## 30초 빠른 시작
47
+
48
+ ```bash
49
+ rune new reviewer --role "Code reviewer, security focused"
50
+ rune run reviewer.rune "Review the latest commit"
51
+ ```
52
+
53
+ 이게 끝입니다. 에이전트를 만들었습니다.
54
+
55
+ ---
56
+
57
+ ## Agent Teams와 뭐가 다른가요?
58
+
59
+ Claude Code의 Agent Teams는 런타임에 팀원을 생성합니다 — 강력하지만, 세션이 끝나면 사라집니다.
60
+
61
+ Rune은 다른 접근을 합니다: **에이전트가 파일입니다.**
62
+
63
+ | | Agent Teams | Rune |
64
+ |---|---|---|
65
+ | **영구 저장** | 세션 한정 — 완료되면 에이전트 소멸 | `.rune` 파일로 히스토리와 메모리가 영구 보존 |
66
+ | **이동성** | 하나의 Claude Code 세션에 종속 | `.rune` 파일을 어디서든 공유, 버전 관리, 재사용 |
67
+ | **스케줄링** | 수동 실행만 가능 | Cron, 파일 변경, git-commit 트리거 |
68
+ | **권한** | 세션에서 상속 | 에이전트별 제어 (`fileWrite`, `bash`, `allowPaths`) |
69
+ | **실행** | 대화형 | 헤드리스, 파이프라인, CI/CD 지원 |
70
+
71
+ Rune 에이전트는 세션, 머신, 팀을 넘어 살아남습니다. 한 번 만들면 영원히 실행.
72
+
73
+ ---
74
+
75
+ ## 핵심 개념
76
+
77
+ ### 파일 하나 = 에이전트 하나
78
+
79
+ ```bash
80
+ rune new architect --role "Software architect"
81
+ rune new coder --role "Backend developer"
82
+ rune new reviewer --role "Code reviewer"
83
+ ```
84
+
85
+ 각 `.rune` 파일은 JSON입니다 — 이동 가능하고, 공유 가능하고, 버전 관리 가능:
86
+
87
+ ```json
88
+ {
89
+ "name": "reviewer",
90
+ "role": "Code reviewer, security focused",
91
+ "permissions": {
92
+ "fileWrite": false,
93
+ "bash": false,
94
+ "allowPaths": ["src/**"],
95
+ "denyPaths": [".env", "secrets/**"]
96
+ },
97
+ "history": [],
98
+ "memory": []
99
+ }
100
+ ```
101
+
102
+ ### 권한
103
+
104
+ 각 에이전트가 할 수 있는 것을 제어합니다. 권한 미설정 = 전체 접근 (하위 호환):
105
+
106
+ ```json
107
+ {
108
+ "permissions": {
109
+ "fileWrite": false,
110
+ "bash": false,
111
+ "network": false,
112
+ "allowPaths": ["src/**", "tests/**"],
113
+ "denyPaths": [".env", "secrets/**", "node_modules/**"]
114
+ }
115
+ }
116
+ ```
117
+
118
+ - `fileWrite: false` — 에이전트가 파일을 읽을 수만 있고 쓰기/편집 불가
119
+ - `bash: false` — 에이전트가 셸 명령어 실행 불가
120
+ - `network: false` — 에이전트가 웹 요청 불가
121
+ - `allowPaths` / `denyPaths` — 특정 패턴으로 파일 접근 제한
122
+
123
+ `src/`만 읽을 수 있는 리뷰어: 안전. 어디든 쓸 수 있는 코더: 강력. 에이전트별로 결정하세요.
124
+
125
+ ### 구조화된 로깅
126
+
127
+ 에이전트가 무엇을 했는지, 얼마나 걸렸는지, 비용은 얼마인지 추적:
128
+
129
+ ```bash
130
+ rune run reviewer.rune "Review this project" --auto --log review.json
131
+ ```
132
+
133
+ ```json
134
+ {
135
+ "agent": "reviewer",
136
+ "prompt": "Review this project",
137
+ "duration_ms": 12340,
138
+ "cost_usd": 0.045,
139
+ "tool_calls": [
140
+ { "tool": "Read", "input": { "file_path": "src/index.ts" } },
141
+ { "tool": "Grep", "input": { "pattern": "TODO" } }
142
+ ],
143
+ "result": "Found 3 issues..."
144
+ }
145
+ ```
146
+
147
+ ### 자기 복제 에이전트
148
+
149
+ 에이전트가 스스로 다른 에이전트를 만들고 조율할 수 있습니다:
150
+
151
+ ```bash
152
+ rune new manager --role "Project manager. Create agents with rune new and coordinate them with rune pipe."
153
+ rune run manager.rune "Create a summarizer and a translator agent, then pipe them to summarize and translate this news article into Korean." --auto
154
+ ```
155
+
156
+ 매니저가 하는 일:
157
+ 1. `rune new summarizer --role "..."` 실행
158
+ 2. `rune new translator --role "..."` 실행
159
+ 3. `rune pipe summarizer.rune translator.rune "..."` 실행
160
+ 4. 실패하면 스스로 디버깅하고 수정
161
+
162
+ 에이전트가 에이전트를 만듭니다. 사람 개입 없이.
163
+
164
+ ### 헤드리스 실행
165
+
166
+ 터미널에서 에이전트를 실행합니다. GUI 필요 없음:
167
+
168
+ ```bash
169
+ rune run reviewer.rune "Review the latest commit"
170
+
171
+ # 다른 명령어에서 입력을 파이프
172
+ git diff | rune run reviewer.rune "Review this diff"
173
+
174
+ # 스크립팅을 위한 JSON 출력
175
+ rune run reviewer.rune "Check for security issues" --output json
176
+ ```
177
+
178
+ ### 자율 모드
179
+
180
+ `--auto`를 사용하면 에이전트가 파일을 쓰고, 명령어를 실행하고, 오류를 스스로 수정합니다:
181
+
182
+ ```bash
183
+ rune run coder.rune "Create an Express server with a /health endpoint. Run npm init and npm install." --auto
184
+ ```
185
+
186
+ ```
187
+ 🔮 [auto] coder is working on: Create an Express server...
188
+
189
+ ▶ Write: /path/to/server.js
190
+ ▶ Bash: npm init -y
191
+ ▶ Bash: npm install express
192
+ 💬 Server created and dependencies installed.
193
+
194
+ ✓ coder finished
195
+ ```
196
+
197
+ ### 에이전트 파이프라인
198
+
199
+ 에이전트를 체이닝합니다. 각 에이전트의 출력이 다음 에이전트의 입력이 됩니다:
200
+
201
+ ```bash
202
+ rune pipe architect.rune coder.rune "Build a REST API with Express"
203
+ ```
204
+
205
+ `--auto`를 사용하면 마지막 에이전트가 계획을 실행합니다:
206
+
207
+ ```bash
208
+ rune pipe architect.rune coder.rune "Build a REST API with Express" --auto
209
+ ```
210
+
211
+ architect가 설계 → coder가 구현 (파일 작성, 의존성 설치).
212
+
213
+ ### 자동화 트리거
214
+
215
+ ```bash
216
+ # 매 git commit마다
217
+ rune watch reviewer.rune --on git-commit --prompt "Review this commit"
218
+
219
+ # 파일 변경 시
220
+ rune watch linter.rune --on file-change --glob "src/**/*.ts" --prompt "Check for issues"
221
+
222
+ # 스케줄에 따라
223
+ rune watch monitor.rune --on cron --interval 5m --prompt "Check server health"
224
+ ```
225
+
226
+ ### Node.js API
227
+
228
+ 자신의 코드에서 에이전트를 사용하세요. 각 `.send()` 호출은 Claude Code 프로세스를 생성하므로, 머신에 Claude Code CLI가 설치되고 로그인되어 있어야 합니다.
229
+
230
+ ```js
231
+ const rune = require('openrune')
232
+
233
+ const reviewer = rune.load('reviewer.rune')
234
+ const result = await reviewer.send('Review the latest commit')
235
+
236
+ // 파이프라인
237
+ const { finalOutput } = await rune.pipe(
238
+ ['architect.rune', 'coder.rune'],
239
+ 'Build a REST API'
240
+ )
241
+ ```
242
+
243
+ ---
244
+
245
+ ## 예제: 에이전트 기반 API 서버
246
+
247
+ 처음부터 에이전트가 구축한 서버까지의 전체 과정.
248
+
249
+ ### 1. 설치 및 에이전트 생성
250
+
251
+ ```bash
252
+ npm install -g openrune
253
+ mkdir my-project && cd my-project
254
+
255
+ rune new architect --role "Software architect. Design system architecture concisely."
256
+ rune new coder --role "Backend developer. Implement code based on the given plan."
257
+ rune new reviewer --role "Code reviewer. Review for bugs and security issues."
258
+ ```
259
+
260
+ ### 2. 에이전트가 협업하여 서버 구축
261
+
262
+ ```bash
263
+ rune pipe architect.rune coder.rune "Design and build an Express server with POST /review endpoint that uses require('openrune') to load reviewer.rune and send the prompt. Run npm init -y and npm install express openrune." --auto
264
+ ```
265
+
266
+ architect가 아키텍처 설계 → coder가 `server.js` 작성, `npm init` 실행, 의존성 설치.
267
+
268
+ ### 3. 서버 시작
269
+
270
+ ```bash
271
+ node server.js
272
+ ```
273
+
274
+ ### 4. API로 에이전트 호출
275
+
276
+ ```bash
277
+ curl -X POST http://localhost:3000/review \
278
+ -H "Content-Type: application/json" \
279
+ -d '{"prompt": "Review this project"}'
280
+ ```
281
+
282
+ reviewer 에이전트가 프로젝트를 분석하고 전체 코드 리뷰를 반환합니다.
283
+
284
+ ### 5. 데스크톱 UI 열기
285
+
286
+ ```bash
287
+ rune open reviewer.rune
288
+ ```
289
+
290
+ API 호출의 대화 히스토리가 이미 있습니다 — CLI, API, GUI 간에 컨텍스트가 유지됩니다.
291
+
292
+ ---
293
+
294
+ ## 데스크톱 UI
295
+
296
+ Rune은 대화형 채팅을 위한 선택적 데스크톱 앱을 포함합니다.
297
+
298
+ ```bash
299
+ rune open reviewer.rune
300
+ ```
301
+
302
+ 또는 Finder에서 `.rune` 파일을 더블 클릭하세요.
303
+
304
+ - **실시간 활동** — 도구 호출, 결과, 권한 요청을 실시간으로 확인.
305
+ - **내장 터미널** — Claude Code 출력과 사용자 명령어를 나란히.
306
+ - **우클릭으로 생성** — macOS Quick Action으로 Finder에서 에이전트 생성.
307
+
308
+ > 더블 클릭이 작동하지 않으면 `rune install`을 한 번 실행하여 파일 연결을 등록하세요.
309
+
310
+ ---
311
+
312
+ ## CLI 레퍼런스
313
+
314
+ | 명령어 | 설명 |
315
+ |---------|------|
316
+ | `rune new <name> [--role "..."]` | 에이전트 생성 |
317
+ | `rune run <file> "prompt" [--auto] [--output json]` | 헤드리스 실행 |
318
+ | `rune pipe <a> <b> [...] "prompt" [--auto]` | 에이전트 체이닝 |
319
+ | `rune watch <file> --on <event> --prompt "..."` | 자동화 트리거 |
320
+ | `rune open <file>` | 데스크톱 UI |
321
+ | `rune list` | 현재 디렉토리의 에이전트 목록 |
322
+ | `rune install` | 파일 연결 및 Quick Action 설정 |
323
+
324
+ **Watch 이벤트:** `git-commit`, `git-push`, `file-change` (`--glob` 사용), `cron` (`--interval` 사용)
325
+
326
+ ---
327
+
328
+ ## 플랫폼 지원
329
+
330
+ | 플랫폼 | 상태 |
331
+ |--------|------|
332
+ | macOS | 지원 |
333
+ | Windows | 지원 |
334
+ | Linux | 지원 |
335
+
336
+ ---
337
+
338
+ ## 라이선스
339
+
340
+ MIT
package/README.md CHANGED
@@ -4,6 +4,10 @@
4
4
 
5
5
  <h1 align="center">Rune</h1>
6
6
 
7
+ <p align="center">
8
+ <a href="README.md">English</a> | <a href="README.ko.md">한국어</a>
9
+ </p>
10
+
7
11
  <p align="center">
8
12
  <strong>The simplest agent toolkit for Claude Code</strong><br/>
9
13
  No SDK. No boilerplate. Just one file per agent.
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "openrune",
3
- "version": "1.0.0",
4
- "description": "Rune — File-based AI Agent Toolkit for Claude Code",
3
+ "version": "1.0.1",
4
+ "description": "Persistent AI agents for Claude Code — build once, run forever.",
5
5
  "keywords": ["ai", "agent", "claude", "desktop", "electron", "mcp", "claude-code", "toolkit", "automation"],
6
6
  "repository": {
7
7
  "type": "git",