@yunhozz/arc 0.1.0 โ†’ 0.1.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/MANIFEST.sha256 CHANGED
@@ -1,4 +1,4 @@
1
- 6ed88ea4d7d6aada81573fff39a3f4c47aea19c8625e5c65550e1c1f9e3a1583 README.md
1
+ cbd254348f60c8610d0e5c4b8216c9772c0bd5dbfef324796da516b87054b06e README.md
2
2
  484d9b2002ce542c87589bb719d644d3762706aad28a6ee010024875f8cc00e2 bin/arc.mjs
3
3
  a1afdc6e5f37cc7cd6597e0406635c577175fb525d812ce7eac248efa7758ccd claude/agents/arc-coder.md
4
4
  ce1936983accc15ee529416dd67bd48abdad678bfebc16d240869e8b96644379 claude/agents/arc-planner.md
package/README.md CHANGED
@@ -1,266 +1,62 @@
1
- # ๐Ÿค– ARC (Agent Role Coordination)
1
+ # ๐Ÿค– ARC โ€” Agent Role Coordination
2
2
 
3
- ARC coordinates research, design, implementation, and verification in Codex and Claude Code.
4
- The Orchestrator assigns work and accepts results.
3
+ ARC brings clear roles, scoped handoffs, and verification to work in Codex and Claude Code.
5
4
 
6
- ![Task flow diagram](docs/images/role-flow.svg)
5
+ ![ARC workflow](docs/images/role-flow.svg)
7
6
 
8
- ## ๐Ÿš€ Install and manage ARC
7
+ ## ๐Ÿ‘ฅ Roles
9
8
 
10
- Start interactive installation without a global CLI:
11
-
12
- ```sh
13
- npx --yes @yunhozz/arc
14
- ```
15
-
16
- Choose target โ†’ preset โ†’ total limit โ†’ concurrent limit โ†’ output language with Up/Down and Enter.
17
- For non-interactive installation, supply target, preset, and language:
18
-
19
- ```sh
20
- npx --yes @yunhozz/arc --target codex --preset balanced --language ko
21
- ```
22
-
23
- The same package can manage an existing installation:
24
-
25
- ```sh
26
- npx --yes @yunhozz/arc preset smart --target codex
27
- npx --yes @yunhozz/arc uninstall --target codex
28
- ```
29
-
30
- These npx commands do not install a global `arc` executable. To install the CLI globally:
31
-
32
- ```sh
33
- npm i -g @yunhozz/arc
34
- arc
35
- arc preset smart --target codex
36
- arc uninstall --target codex
37
- ```
38
-
39
- The npm command installs the CLI only. Run bare `arc` to install the harness and register zsh
40
- completion. For the current shell, run `eval "$(arc completion zsh)"`; for bash, use
41
- `eval "$(arc completion bash)"`.
42
-
43
- Bare `arc` starts installation; the `install` subcommand has been removed. A repository checkout
44
- also supports `./install.command` with the same installation options.
45
-
46
- ### ๐Ÿงฐ Requirements and options
47
-
48
- | Requirement | Supported |
49
- |---|---|
50
- | Runtime | Node.js 22+ with npm (`npx`), Git, network access |
51
- | macOS | 13+, arm64/x64 |
52
- | Linux | glibc 2.28+, arm64/x64 |
53
- | Unsupported | Windows, musl Linux |
54
-
55
- Bundled native files handle installation; Python, a compiler, and `node-gyp` are unnecessary.
56
-
57
- | Installation option | Purpose |
58
- |---|---|
59
- | `--target <claude\|codex\|all>` | Installation target; interactive default: Claude |
60
- | `--preset <economy\|balanced\|smart>` | Role model preset; interactive default: Balanced |
61
- | `--language <en\|ko>` | English or ํ•œ๊ตญ์–ด; the final question |
62
- | `--max-total-subagents <count>` | Created subagents per session/tree; initial default: 100 |
63
- | `--max-concurrent-subagents <count>` | Simultaneous subagents; initial default: 5 |
64
- | `--check` | Validate payload and paths without writing |
65
- | `--dry-run` | Preview writes without applying them |
66
- | `--skip-global` | Skip global instructions, native configuration, and `.zshrc` access |
67
- | `--help`, `--version` | Show usage or version without loading native files |
68
-
69
- Check and dry-run validate included references locally, without network access or upstream freshness checks.
70
- For example:
71
-
72
- ```sh
73
- npx --yes @yunhozz/arc --target all --preset smart --language en --check
74
- ./install.command --target claude --preset economy --language ko --dry-run
75
- ```
76
-
77
- ### ๐ŸŒ Output language
78
-
79
- Each target stores `en` or `ko` in `skills/arc/settings.toml`. The language applies to the Orchestrator
80
- and all five roles, including progress, reports, and planning documents. An explicit user language request
81
- overrides this default; the input language alone does not change it. Code, commands, paths, identifiers,
82
- literals, quotations, and actual tool output retain their original form. Open a new session to load changed policies.
83
-
84
- For `all`, one selection applies to both targets. A common existing language is preselected; otherwise English
85
- is selected. `--skip-global` omits the global instruction block while retaining skill and role language policies.
86
-
87
- ### ๐Ÿ“ Installed files and refreshes
88
-
89
- | Target | Location and managed files |
9
+ | Role | Responsibility |
90
10
  |---|---|
91
- | Codex | `~/.codex` (or `CODEX_HOME`): `skills/`, `agents/`, `AGENTS.md`, `config.toml` |
92
- | Claude Code | `~/.claude`: `skills/`, `agents/`, `CLAUDE.md`, `settings.json` |
93
-
94
- The installer preserves content outside the managed `arc:begin`/`arc:end` instruction block.
95
- For Codex, it sets `min_wait_timeout_ms = 120000` and `default_wait_timeout_ms = 300000` when
96
- `[features.multi_agent_v2]` is a standalone table; otherwise it prints manual guidance.
97
- Claude requires the default `~/.claude` configuration directory.
98
-
99
- Every harness installation fetches fresh references per target from the
100
- [obra/superpowers](https://github.com/obra/superpowers) default branch and publishes full
101
- `brainstorming`, `writing-plans`, and `test-driven-development` trees under
102
- `skills/arc/references/superpowers/`. Roles read this local Markdown and its companion files.
103
- Existing global/shared copies and links remain untouched.
104
-
105
- Git and network access are required for harness installation; collection never executes upstream
106
- scripts or hooks. npm installation has no lifecycle hooks and does not fetch references or edit shell
107
- configuration. Harness installation stages references without rewriting package files, so read-only
108
- packages work. Collection or publication failure fails the target installation.
109
-
110
- Bundled references retain their
111
- [MIT license](https://github.com/obra/superpowers/blob/main/LICENSE), including Jesse Vincent's notice.
112
- `provenance.json` records revision, timestamp, hashes, and relative links for local consistency checks;
113
- it does not authenticate upstream or a malicious local rewrite.
114
-
115
- Reinstallation replaces managed ARC files and local model edits, preserves ARC limits, and creates no
116
- persistent backup. All selected target paths are checked before writing. Harness targets then install
117
- independently in Codex โ†’ Claude order: a later failure retains earlier success. Inspect per-target status
118
- and any `Residual path:` before recovery or retrying only the failed target. Concurrent installation,
119
- preset changes, or removal against the same target are unsupported.
11
+ | Orchestrator | Routes work and accepts results |
12
+ | Scouter | Researches and explores sources |
13
+ | Planner | Drafts designs, specs, and plans |
14
+ | Coder | Implements assigned changes |
15
+ | QA | Runs assigned verification |
16
+ | Reviewer | Independently reviews changes |
120
17
 
121
- ## โš™๏ธ Models and presets
18
+ ## ๐Ÿš€ Quick start
122
19
 
123
- The Orchestrator uses the current conversation's model. Other roles use `models.toml`:
124
- [Codex](codex/skill/models.toml) ยท [Claude Code](claude/skill/models.toml).
20
+ **Requirements:** Node.js 22+, npm, Git, and network access. Supported platforms are macOS 13+ and Linux with glibc 2.28+ (arm64 or x64). Windows and musl Linux are not supported. Python, a compiler, and `node-gyp` are not required.
125
21
 
126
- Both schemas use `version = 1`, a root `preset`, and `roles.<role>.economy`, `.balanced`, and `.smart` variants.
127
- Codex entries use `model` and `model_reasoning_effort`; Claude entries use `model` and `effort`.
128
- Installation keeps all three variants and validates inactive ones too. Legacy schemas require migration
129
- to the linked schema or reinstallation.
130
-
131
- Switch presets without reinstalling or downloading references:
22
+ Run the interactive installer:
132
23
 
133
24
  ```sh
134
- arc preset smart --target codex
135
- arc preset balanced --target all --check
136
- arc preset economy --target claude --dry-run
25
+ npx --yes @yunhozz/arc
137
26
  ```
138
27
 
139
- Use the npx form above if the CLI is not globally installed. In a terminal, omitted preset and target
140
- are selected with arrow keys; non-interactive runs require both. Switching preserves custom model variants,
141
- profile instructions, language, limits, and global settings. It also reapplies model fields that have drifted.
142
- All targets are checked first, then each updates atomically in Codex โ†’ Claude order. A later failure keeps
143
- earlier success; failed target writes are rolled back and any remaining recovery paths are reported.
144
- Open a new session to load changed profiles.
145
-
146
- After editing an installed model file, apply its active preset with `arc preset`, or use the optional
147
- Python 3.11+ tool:
28
+ Choose a target, model preset, agent limits, and output language. For a non-interactive install, provide the target, preset, and language:
148
29
 
149
30
  ```sh
150
- python3 ~/.claude/skills/arc/scripts/apply-models.py
151
- python3 ~/.codex/skills/arc/scripts/apply-models.py
31
+ npx --yes @yunhozz/arc --target codex --preset balanced --language en
152
32
  ```
153
33
 
154
- ## ๐Ÿ‘ฅ Subagent limits
155
-
156
- TTY installation prompts for omitted limits. Enter keeps each target's current value (or the initial defaults:
157
- 100 total and 5 concurrent); a typed value applies to all selected targets. Non-interactive installation
158
- preserves omitted values.
159
-
160
- The ARC policy counts every created agent in one session/tree, including completed agents. Reuse does not count;
161
- fresh replacements do. This is prompt-level policy, not a hard runtime limit, and actual platform capacity may be
162
- lower. New settings apply to new sessions. See the operating guides for platform-specific configuration details.
163
-
164
- ## ๐Ÿ‘ฅ Roles and workflow
165
-
166
- Read [How the ARC harness operates](docs/harness-operation.md) for responsibilities, approval and preparation,
167
- dependency scheduling, verification, commits, refresh boundaries, and recovery.
168
-
169
- ARC scales the workflow to each task's depth and risk:
34
+ ## โš™๏ธ Common options
170
35
 
171
- | Task depth and difficulty | Workflow |
36
+ | Option | Purpose |
172
37
  |---|---|
173
- | Simple, low risk: narrow scope and clear checks | When eligible, the Orchestrator handles the change directly and runs focused checks; otherwise, a Coder makes the change and the Orchestrator verifies it. |
174
- | Ordinary implementation or behavior change | Approve any required design or plan documents, then assign a fresh Coder followed by fresh QA. The Orchestrator reviews the evidence and accepts the result. |
175
- | Complex or significant risk: shared contracts, state or lifecycle; security; data loss; public interfaces; costly installation or deployment | Approve required documents and preparation. For planned work, each task follows Coder โ†’ fresh QA โ†’ acceptance and commit, followed by an independent Reviewer on the full change. For unplanned work, use Coder โ†’ fresh QA โ†’ Reviewer โ†’ acceptance. |
38
+ | `--target <claude\|codex\|all>` | Choose where to install |
39
+ | `--preset <economy\|balanced\|smart>` | Choose specialist model settings |
40
+ | `--language <en\|ko>` | Set the default output language |
41
+ | `--max-total-subagents <count>` | Set the session-wide agent limit (default: 100) |
42
+ | `--max-concurrent-subagents <count>` | Set the simultaneous agent limit (default: 5) |
43
+ | `--check` | Validate without writing changes |
44
+ | `--dry-run` | Preview changes without applying them |
45
+ | `--skip-global` | Skip global instructions, native settings, and shell configuration |
176
46
 
177
- Design depth (Spike, Bounded, Architectural) determines which design documents are needed; task risk determines
178
- verification strength. Ready independent tasks may run in parallel within policy and runtime capacity. Coder
179
- completion alone does not release dependents. Codex supports managed worktrees; Claude v1 uses the current checkout.
47
+ ## ๐Ÿ” Manage ARC
180
48
 
181
- ์Šน์ธ๋œ ๋ฒ”์œ„์˜ ์‹คํ–‰ ์š”์ฒญ์€ ๊ฐ™์€ ๋ฒ”์œ„์˜ ์ธ๊ณ„ยท์žฌ์‹œ์ž‘์—๋„ ์œ ํšจํ•ฉ๋‹ˆ๋‹ค. Spike๊ฐ€ ์กฐ์‚ฌ๋งŒ ์š”์ฒญ๋œ ๊ฒฝ์šฐ์—๋Š”
182
- ์งˆ๋ฌธ์— ๋Œ€ํ•œ ์ฆ๊ฑฐยทํ•œ๊ณ„ยท๋ถˆํ™•์‹ค์„ฑ์„ ๋ณด๊ณ ํ•˜๋ฉด ์™„๋ฃŒ๋ฉ๋‹ˆ๋‹ค. ์กฐ์‚ฌ์™€ ๊ตฌํ˜„์„ ํ•จ๊ป˜ ์š”์ฒญํ–ˆ๊ณ  ์ „์ฒด ๋ฒ”์œ„๊ฐ€ ์ถฉ๋ถ„ํžˆ
183
- ๊ตฌ์ฒด์ ์ธ ๊ฒฝ์šฐ์—๋Š” ์กฐ์‚ฌ ๊ฒฐ๊ณผ ์ดํ›„์—๋„ ์Šน์ธ๋œ ๊ตฌํ˜„, ํ•„์š”ํ•œ ๊ฒ€์ฆ, ์ˆ˜๋ฝ, ๊ฒฐ๊ณผ ๋ณด๊ณ ๊นŒ์ง€ ์ง„ํ–‰ํ•ฉ๋‹ˆ๋‹ค.
184
- ์ค‘๋Œ€ํ•œ ๋ฒ”์œ„ยท๋ฐฉ๋ฒ•ยท์œ„ํ—˜ ๋ณ€๊ฒฝ์ด๋‚˜ ์ƒˆ๋กœ์šด ๊ฒฐ์ •์ด ์ƒ๊ธฐ๋ฉด ์˜ํ–ฅ์„ ๋ฐ›๋Š” ์ž‘์—…์„ ๋ณด๋ฅ˜ํ•ฉ๋‹ˆ๋‹ค.
185
-
186
- Bounded์˜ spec/plan ์ƒ๋žต์€ ๊ฒ€์ฆ ์œ„ํ—˜์ด๋‚˜ ์™„๋ฃŒ ์ฑ…์ž„์„ ์ค„์ด์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋‹จ์ผ ๋กœ์ปฌ ๋ณ€๊ฒฝ, ์˜์กด ๋‹จ๊ณ„์™€
187
- ๊ณต์œ  ์ƒํƒœยท์ˆ˜๋ช…์ฃผ๊ธฐยทํ†ตํ•ฉ ์ˆœ์„œ ๋ฌธ์ œ๊ฐ€ ์—†์Œ, ํ•˜๋‚˜์˜ ์ง‘์ค‘ ๊ฒ€์ฆ ๊ฒฝ๋กœ๋ผ๋Š” plan ์ƒ๋žต ์กฐ๊ฑด์„ ๊ธฐ๋กํ•ฉ๋‹ˆ๋‹ค.
188
- ํ•„์š”ํ•œ ๋ฌธ์„œยท๋Œ€์ƒ ์ค€๋น„ยท์ธ๊ณ„ ์กฐ๊ฑด์„ ์ถฉ์กฑํ•œ ๋’ค์—๋Š” ์Šน์ธ๋œ ๋‚จ์€ ์ž‘์—…์„ ์‚ฌ์šฉ์ž์—๊ฒŒ ๋‹ค์‹œ ์ œ์•ˆ๋งŒ ํ•˜๊ณ  ๋ฉˆ์ถ”์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
189
- ์ž์„ธํ•œ ์Šน์ธยท์™„๋ฃŒ ๊ณ„์•ฝ๊ณผ ํ”Œ๋žซํผ๋ณ„ ์ฑ…์ž„ ์œ„์น˜๋Š” ์šด์˜ ๋ฌธ์„œ์—์„œ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
190
-
191
- ## ๐Ÿ“š Operating guides
192
-
193
- | Environment | Guide | References |
194
- |---|---|---|
195
- | Codex | [Operating guide](codex/skill/SKILL.md) | [Planning](codex/skill/references/planning.md) ยท [Handoff](codex/skill/references/handoff.md) ยท [Verification](codex/skill/references/verification.md) |
196
- | Claude Code | [Operating guide](claude/skill/SKILL.md) | [Planning](claude/skill/references/planning.md) ยท [Handoff](claude/skill/references/handoff.md) ยท [Verification](claude/skill/references/verification.md) |
197
-
198
- ## ๐Ÿ—‘๏ธ Remove ARC
199
-
200
- ```sh
201
- arc uninstall --target codex
202
- arc uninstall --target all --dry-run
203
- arc uninstall --target claude --skip-global
204
- ```
205
-
206
- Use the npx form above without a global CLI. A terminal prompts for an omitted target;
207
- non-interactive removal requires `--target`. Removal deletes the selected ARC skill (including language
208
- and limit settings), five role profiles, and managed instruction block, including edited ARC files.
209
- It preserves external skills, other profiles, Codex wait settings, native concurrency keys, and shared
210
- shell completion registration. No persistent backup is created.
211
-
212
- Remove the global CLI separately:
49
+ Change the preset or remove an installation without a global CLI:
213
50
 
214
51
  ```sh
215
- npm uninstall -g @yunhozz/arc
52
+ npx --yes @yunhozz/arc preset smart --target codex
53
+ npx --yes @yunhozz/arc uninstall --target codex
216
54
  ```
217
55
 
218
- npm package removal leaves the installed harness configuration and shared completion block in place.
219
- `uninstall` remains available to remove that deployed configuration.
220
-
221
-
222
- ## ์—ญํ•  ์ •์ฑ…๊ณผ ๊ถŒํ•œ ๊ฒฝ๊ณ„
223
-
224
- ARC๋Š” Orchestrator, Scouter, Planner, Coder, QA, Reviewer์˜ ์—ฌ์„ฏ ์—ญํ• ๊ตฐ์„ ์ •์˜ํ•ฉ๋‹ˆ๋‹ค.
225
- ๋ฐฐํฌ๋˜๋Š” ์ „๋ฌธ ์—์ด์ „ํŠธ ํ”„๋กœํ•„์€ ๊ธฐ์กด ๋‹ค์„ฏ ๊ฐœ์ด๋ฉฐ, Orchestrator๋Š” ์ตœ์ƒ์œ„ ์„ธ์…˜ ์—ญํ• ์ž…๋‹ˆ๋‹ค.
226
- `lib/policy/role-policy.json`์ด ๊ณตํ†ต ์ •์ฑ… ์›์ฒœ์ž…๋‹ˆ๋‹ค. `npm run update:role-policy`๋กœ ์–‘ ํ”Œ๋žซํผ์˜
227
- ๊ด€๋ฆฌ ์˜์—ญ์„ ์ƒ์„ฑํ•˜๊ณ  `npm run check:role-policy`๋กœ ์˜ค๋ž˜๋œ ์‚ฐ์ถœ๋ฌผ์„ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค. ๊ด€๋ฆฌ ์˜์—ญ ๋ฐ–์˜
228
- ์ ˆ์ฐจ์™€ ๋ชจ๋ธ ์„ค์ •์€ ๋ณด์กดํ•˜๋ฉฐ, ๋ชจ๋ธ ๋ Œ๋”๋Ÿฌ๋Š” ๋ชจ๋ธ ๊ด€๋ จ ํ•„๋“œ๋งŒ ๋ณ€๊ฒฝํ•ฉ๋‹ˆ๋‹ค.
229
-
230
- ์ „๋ฌธ ์—ญํ• ์€ ์ •์ƒ ์ž‘์—…๊ณผ ๋ณต๊ตฌ ์ค‘์—๋„ stage, commit, push, merge, rebase, reset, branch ์ƒ์„ฑยท์ „ํ™˜,
231
- worktree ์ƒ์„ฑยท์ œ๊ฑฐ๋ฅผ ์‹คํ–‰ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. Orchestrator์˜ ์œ„์ž„๋„ ์ด ๊ถŒํ•œ์„ ํ™•๋Œ€ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
232
- Scouter๋Š” ์ •์  ์กฐ์‚ฌ, Planner๋Š” ์‘๋‹ต์œผ๋กœ ์ดˆ์•ˆ ๋ฐ˜ํ™˜, Coder๋Š” ๋ฐฐ์ • ํŒŒ์ผ ๊ตฌํ˜„๊ณผ ์ง‘์ค‘ ๊ฒ€์‚ฌ,
233
- QA๋Š” ์Šน์ธ๋œ ๊ฒ€์‚ฌ์™€ ์ œํ•œ๋œ ์ž„์‹œ ์‚ฐ์ถœ๋ฌผ, Reviewer๋Š” ๋…๋ฆฝ์ ์ธ ์ •์  ๊ฒ€ํ† ๋ฅผ ๋‹ด๋‹นํ•ฉ๋‹ˆ๋‹ค.
234
- Orchestrator๊ฐ€ ๊ฒ€์‚ฌ ์ฆ๊ฑฐ์™€ ๊ธฐ์ค€์„ ํ™•์ธํ•ด ์ˆ˜๋ฝํ•˜๊ณ  ์ž‘์—…๋ณ„ ์ง‘์ค‘ ์ปค๋ฐ‹์„ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.
235
- pushยทmergeยทdeployยทpublishยท์™ธ๋ถ€ ๋ฉ”์‹œ์ง€๋Š” ํ•ด๋‹น ํ–‰์œ„ยท๋ฒ”์œ„ยท๋Œ€์ƒ์— ๋Œ€ํ•œ ๋ช…์‹œ์ ์ธ ์‚ฌ์šฉ์ž ๊ถŒํ•œ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.
236
-
237
- ์œ ์˜๋ฏธํ•˜๊ฑฐ๋‚˜ ์œ„ํ—˜๋„๊ฐ€ ๋†’์€ ์ž‘์—…์— ๊ณ„ํš์ด ์—†์œผ๋ฉด Coder โ†’ QA โ†’ ์ตœ์ข… ์ „์ฒด Reviewer โ†’ Orchestrator ์ˆ˜๋ฝ์„
238
- ๋”ฐ๋ฆ…๋‹ˆ๋‹ค. ๊ณ„ํš์ด ์žˆ์œผ๋ฉด ๊ฐ ์ž‘์—…์„ Coder โ†’ ํ•„์š”ํ•œ fresh QA โ†’ Orchestrator ์ˆ˜๋ฝยท์ปค๋ฐ‹์œผ๋กœ ์ง„ํ–‰ํ•˜๊ณ ,
239
- ๋ชจ๋“  ์ž‘์—…๊ณผ ํ•„์š”ํ•œ QA๊ฐ€ ๋๋‚œ ๋’ค Reviewer๊ฐ€ ์ตœ์ข… ์ „์ฒด ๋ณ€๊ฒฝ์„ ํ•œ ๋ฒˆ ๊ฒ€ํ† ํ•ฉ๋‹ˆ๋‹ค. Reviewer๋Š” ๋งค ์ปค๋ฐ‹์˜
240
- ํ•„์ˆ˜ ๊ฒŒ์ดํŠธ๊ฐ€ ์•„๋‹™๋‹ˆ๋‹ค. ์ตœ์ข… ๊ณ„ํš Reviewer ๋ฐœ๊ฒฌ ์‚ฌํ•ญ์€ Coder โ†’ Reviewer๋กœ ์žฌ๊ฒ€ํ† ํ•ฉ๋‹ˆ๋‹ค.
56
+ ## ๐ŸŽ›๏ธ Models and language
241
57
 
242
- Codex์˜ ์—ญํ•  ์ œํ•œ์€ prompt ์ˆ˜์ค€ ๊ณ„์•ฝ์ด๋ฉฐ ์™„์ „ํ•œ sandbox๊ฐ€ ์•„๋‹™๋‹ˆ๋‹ค. ์—ญํ• ๋ณ„ Git hook์ด๋‚˜ ์ผ๋ฐ˜์ ์ธ
243
- custom-agent ๋„๊ตฌ allowlist๋ฅผ ์ œ๊ณตํ•œ๋‹ค๊ณ  ๊ฐ€์ •ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. shell ์ถ•์†Œ ํ›„ ์ •์  ์ฝ๊ธฐ ์œ ์ง€๊ฐ€ ๊ฒ€์ฆ๋˜์ง€
244
- ์•Š์•˜์œผ๋ฏ€๋กœ ๊ธฐ์กด shell ๊ธฐ๋Šฅ์„ ๋ณด์กดํ•ฉ๋‹ˆ๋‹ค. Claude๋Š” ๊ธฐ์กด ์—ญํ• ๋ณ„ tools allowlist์™€ ๋‹ค์„ฏ ์ „๋ฌธ ํ”„๋กœํ•„์˜
245
- `PreToolUse` hook์„ ํ•จ๊ป˜ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. hook์€ Orchestrator ์ „์—ญ ์„ค์ •์— ์ถ”๊ฐ€ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
246
- ์„ค์น˜๋œ `skills/arc/hooks/git-policy.json`์€ ๊ณตํ†ต ์ •์ฑ…์—์„œ ์ƒ์„ฑ๋˜๋ฉฐ ํŒจํ‚ค์ง€ manifest์™€ ํ•„์ˆ˜ ์ž์‚ฐ ๊ฒ€์‚ฌ์—
247
- ํฌํ•จ๋ฉ๋‹ˆ๋‹ค. installer๊ฐ€ hook์„ ์ตœ์ข… ์„ค์น˜ ์ ˆ๋Œ€๊ฒฝ๋กœ๋กœ ์—ฐ๊ฒฐํ•˜๋ฏ€๋กœ ํ˜„์žฌ ์ž‘์—… ๋””๋ ‰ํ„ฐ๋ฆฌ์— ์˜์กดํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
248
- ๋ชจ๋ธยทeffort๋ฅผ ๋‹ค์‹œ ์ ์šฉํ•ด๋„ hook๊ณผ ๋„๊ตฌ ๋ชฉ๋ก์€ ๋ณด์กด๋ฉ๋‹ˆ๋‹ค.
58
+ The Orchestrator uses the current conversation's model. The five specialist roles use the selected preset from their platform model file: [Codex](codex/skill/models.toml) ยท [Claude Code](claude/skill/models.toml). The configured language applies across ARC; an explicit user language request takes precedence.
249
59
 
250
- Claude hook ์‹คํ–‰ ํ™˜๊ฒฝ์˜ `PATH`์— Node.js 22+๊ฐ€ ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ง์ ‘ Git ํ˜ธ์ถœ, `git -C`, `--git-dir`,
251
- ๊ฒฝ๋กœ๋กœ ์ง€์ •ํ•œ Git ์‹คํ–‰ ํŒŒ์ผ, `sh -c`ยท`bash -c`, `&&`ยท`||`ยท`;`ยทpipeline ์กฐํ•ฉ์„ ๋ฌธ์ž์—ด๋กœ ๋ถ„๋ฅ˜ํ•ฉ๋‹ˆ๋‹ค.
252
- ํ—ˆ์šฉ๋œ ์กฐํšŒ ์˜ต์…˜๋งŒ ํ†ต๊ณผํ•˜๋ฉฐ ์•Œ ์ˆ˜ ์—†๋Š” Git subcommandยท์˜ต์…˜, ์ง€์›ํ•˜์ง€ ์•Š๋Š” shell ๊ตฌ๋ฌธ์€ ๊ฑฐ๋ถ€ํ•ฉ๋‹ˆ๋‹ค.
253
- ์กฐํšŒ ๋ชฉ๋ก์€ status, diff, log, show, rev-parse, ls-files, ls-tree, branch ์กฐํšŒ, config ์กฐํšŒ,
254
- worktree list, remote ์กฐํšŒ์ž…๋‹ˆ๋‹ค. Git ๋ณ€๊ฒฝ์ด๋‚˜ ์—ฐ๊ฒฐ ๋ช…๋ น์˜ ์ผ๋ถ€๊ฐ€ ๊ธˆ์ง€๋˜๋ฉด ์ „์ฒด shell ์š”์ฒญ์„ ๊ฑฐ๋ถ€ํ•ฉ๋‹ˆ๋‹ค.
255
- ๊ฒ€์‚ฌ ์‹คํ–‰(`npm test` ๋“ฑ)์€ ๊ทธ๋Œ€๋กœ ํ—ˆ์šฉ๋ฉ๋‹ˆ๋‹ค.
60
+ ## ๐Ÿ“š Guides
256
61
 
257
- ์ด guard๋Š” ์ž„์˜ ํ”„๋กœ๊ทธ๋žจ์˜ ํšจ๊ณผ๋ฅผ ํŒ์ •ํ•˜๋Š” sandbox๊ฐ€ ์•„๋‹™๋‹ˆ๋‹ค. alias, ํ•จ์ˆ˜, ๋ณ€์ˆ˜ ํ™•์žฅ, ๋™์  ์ฝ”๋“œ,
258
- ๋‹ค๋ฅธ ํ”„๋กœ๊ทธ๋žจ์ด๋‚˜ ์Šคํฌ๋ฆฝํŠธ ๋‚ด๋ถ€์—์„œ ์‹คํ–‰ํ•˜๋Š” Git์„ ์™„์ „ํžˆ ๋ถ„์„ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๊ธฐ์กด Git ์„ค์ •์˜ ์™ธ๋ถ€
259
- ํ”„๋กœ๊ทธ๋žจ ์‹คํ–‰ ํšจ๊ณผ๋„ ํŒ์ •ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๊ฐ„์ ‘ ์‹คํ–‰์œผ๋กœ ์—ญํ•  ๊ธˆ์ง€๋ฅผ ์šฐํšŒํ•ด์„œ๋Š” ์•ˆ ๋ฉ๋‹ˆ๋‹ค.
260
- ์ž˜๋ชป๋œ stdinยท๋ˆ„๋ฝ commandยท์ •์ฑ… ์ฝ๊ธฐ ์˜ค๋ฅ˜๋Š” `PreToolUse` deny ์‘๋‹ต์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค. bootstrap ๋กœ๋“œ ์‹คํŒจ๋Š”
261
- ์ข…๋ฃŒ ์ฝ”๋“œ 2๋กœ ์ฐจ๋‹จ์„ ์š”์ฒญํ•ฉ๋‹ˆ๋‹ค. Node ์ž์ฒด ์‹คํ–‰ ์‹คํŒจ๋‚˜ Claude์˜ hook ์‹คํ–‰ ์˜ค๋ฅ˜ ์ฒ˜๋ฆฌ๋Š” ํ”Œ๋žซํผ ๋™์ž‘์—
262
- ์˜์กดํ•˜๋ฏ€๋กœ ๋ชจ๋“  ์˜ค๋ฅ˜์—์„œ fail-closed๋ผ๊ณ  ๋ณด์žฅํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. hook ์˜ค๋ฅ˜๋‚˜ ์ •์ƒ ๊ฒ€์‚ฌ ์ฐจ๋‹จ์€ ์šฐํšŒํ•˜์ง€ ๋ง๊ณ 
263
- Orchestrator์—๊ฒŒ ๋ณด๊ณ ํ•˜์„ธ์š”. [Claude hook ๋ฌธ์„œ](https://code.claude.com/docs/en/hooks)๋ฅผ ์ฐธ๊ณ ํ•˜์„ธ์š”.
264
- ์„ค์น˜ยท์—…๋ฐ์ดํŠธ๋œ ํ”„๋กœํ•„์€ ์ƒˆ ์—์ด์ „ํŠธ๋ฅผ ์‹œ์ž‘ํ•  ๋•Œ ์ ์šฉ๋ฉ๋‹ˆ๋‹ค. ์ด๋ฏธ ์‹คํ–‰ ์ค‘์ธ ์—์ด์ „ํŠธ๊ฐ€ ์ •์ฑ…์„
265
- ์ž๋™์œผ๋กœ ๋‹ค์‹œ ์ฝ๊ฑฐ๋‚˜ ๊ฐ•์ œ ์ ์šฉ๋ฐ›๋Š”๋‹ค๊ณ  ๋ณด์žฅํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. native ํ”Œ๋žซํผ์—์„œ์˜ ์‹ค์ œ ์ค€์ˆ˜ ์—ฌ๋ถ€๋Š”
266
- ์ƒ์„ฑ ์ผ๊ด€์„ฑยทํ”„๋กœํ•„ ํŒŒ์‹ฑ ๊ฐ™์€ ๊ตฌ์กฐ ๊ฒ€์‚ฌ์™€ ๊ตฌ๋ถ„ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
62
+ [How the ARC harness operates](docs/harness-operation.md) ยท [Codex guide](codex/skill/SKILL.md) ยท [Claude Code guide](claude/skill/SKILL.md)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@yunhozz/arc",
3
- "version": "0.1.0",
3
+ "version": "0.1.1",
4
4
  "publishConfig": {
5
5
  "access": "public",
6
6
  "registry": "https://registry.npmjs.org/"