@compozy/cli 0.1.10 → 0.1.12

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 (2) hide show
  1. package/README.md +261 -89
  2. package/package.json +16 -16
package/README.md CHANGED
@@ -28,14 +28,16 @@ One CLI to replace scattered prompts, manual task tracking, and copy-paste revie
28
28
 
29
29
  ## ✨ Highlights
30
30
 
31
- - **One command, 40+ agents.** Install bundled skills into Claude Code, Codex, Cursor, Droid, OpenCode, Pi, Gemini, and 40+ other agents and editors with `compozy setup`.
31
+ - **One command, 40+ agents.** Install core workflow skills into Claude Code, Codex, Cursor, Droid, OpenCode, Pi, Gemini, and 40+ other agents and editors with `compozy setup`, plus any setup assets shipped by enabled extensions.
32
32
  - **Idea to code in a structured pipeline.** Optional Idea → PRD → TechSpec → Tasks → Execution → Review. Each phase produces plain markdown artifacts that feed into the next. Start from an idea for full research and debate, or jump straight to PRD if you already have a clear scope.
33
33
  - **Codebase-aware enrichment.** Tasks aren't generic prompts. Compozy spawns parallel agents to explore your codebase, discover patterns, and ground every task in real project context.
34
34
  - **Multi-agent execution.** Run tasks through ACP-capable runtimes like Claude Code, Codex, Cursor, Droid, OpenCode, Pi, or Gemini — just change `--ide`. Concurrent batch processing with configurable timeouts, retries, and exponential backoff, all with a live terminal UI.
35
+ - **Reusable agents.** Package a prompt, runtime defaults, and optional agent-local MCP servers under `.compozy/agents/<name>/`, then run it from `compozy exec --agent <name>` or through nested `run_agent` calls.
35
36
  - **Workflow memory between runs.** Agents inherit context from every previous task — decisions, learnings, errors, and handoffs. Two-tier markdown memory with automatic compaction keeps context fresh without manual bookkeeping.
36
37
  - **Provider-agnostic reviews.** Fetch review comments from CodeRabbit, GitHub, or run AI-powered reviews internally. All normalize to the same format. Provider threads resolve automatically after fixes.
37
38
  - **Markdown everywhere.** PRDs, specs, tasks, reviews, and ADRs are human-readable markdown files. Version-controlled, diffable, editable between steps. No vendor lock-in.
38
39
  - **Frontmatter for machine-readable metadata.** Tasks and review issues keep parseable metadata in standard YAML frontmatter instead of custom XML tags.
40
+ - **Executable extensions.** Intercept and modify any pipeline phase with subprocess hooks. Ship custom prompt decorators, lifecycle observers, review providers, and skill packs using the TypeScript or Go SDKs.
39
41
  - **Single binary, local-first.** Compiles to one Go binary with zero runtime dependencies. Your code and data stay on your machine.
40
42
  - **Embeddable.** Use as a standalone CLI or import as a Go package into your own tools.
41
43
 
@@ -67,25 +69,35 @@ git clone git@github.com:compozy/compozy.git
67
69
  cd compozy && make verify && go build ./cmd/compozy
68
70
  ```
69
71
 
70
- Then install bundled skills into your AI agents:
72
+ Then install core skills into your AI agents:
71
73
 
72
74
  ```bash
73
75
  compozy setup # interactive — pick agents and skills
74
76
  compozy setup --all # install everything to every detected agent
75
77
  ```
76
78
 
79
+ `compozy setup` installs Compozy's core workflow skills plus any setup assets shipped by enabled extensions.
80
+
81
+ If you want the optional ideation workflow and council roster, install the first-party `cy-idea-factory` extension first:
82
+
83
+ ```bash
84
+ compozy ext install --yes compozy/compozy --remote github --ref <tag> --subdir extensions/cy-idea-factory
85
+ compozy ext enable cy-idea-factory
86
+ compozy setup
87
+ ```
88
+
77
89
  Execution runtimes are separate from skill installation. To run `compozy exec`, `compozy start`, or `compozy fix-reviews`, install an ACP-capable runtime or adapter on `PATH` for the `--ide` you choose:
78
90
 
79
- | Runtime | `--ide` flag | Expected ACP command |
80
- | ------------ | -------------- | -------------------------------- |
81
- | Claude Agent | `claude` | `claude-agent-acp` |
82
- | Codex CLI | `codex` | `codex-acp` |
83
- | GitHub Copilot CLI | `copilot` | `copilot --acp` |
84
- | Cursor | `cursor-agent` | `cursor-agent acp` |
85
- | Droid | `droid` | `droid exec --output-format acp` |
86
- | OpenCode | `opencode` | `opencode acp` |
87
- | pi ACP | `pi` | `pi-acp` |
88
- | Gemini CLI | `gemini` | `gemini --acp` |
91
+ | Runtime | `--ide` flag | Expected ACP command |
92
+ | ------------------ | -------------- | -------------------------------- |
93
+ | Claude Agent | `claude` | `claude-agent-acp` |
94
+ | Codex CLI | `codex` | `codex-acp` |
95
+ | GitHub Copilot CLI | `copilot` | `copilot --acp` |
96
+ | Cursor | `cursor-agent` | `cursor-agent acp` |
97
+ | Droid | `droid` | `droid exec --output-format acp` |
98
+ | OpenCode | `opencode` | `opencode acp` |
99
+ | pi ACP | `pi` | `pi-acp` |
100
+ | Gemini CLI | `gemini` | `gemini --acp` |
89
101
 
90
102
  When the direct ACP command is not installed, Compozy can also fall back to supported launchers such as `npx @zed-industries/codex-acp` when the launcher is available locally.
91
103
 
@@ -164,6 +176,7 @@ include_resolved = false
164
176
 
165
177
  [fetch_reviews]
166
178
  provider = "coderabbit"
179
+ nitpicks = false
167
180
  ```
168
181
 
169
182
  Supported sections:
@@ -173,7 +186,7 @@ Supported sections:
173
186
  - `[start]` for `include_completed`
174
187
  - `[tasks]` for the allowed task `type` list used by `cy-create-tasks` and `compozy validate-tasks`
175
188
  - `[fix_reviews]` for `concurrent`, `batch_size`, and `include_resolved`
176
- - `[fetch_reviews]` for `provider`
189
+ - `[fetch_reviews]` for `provider` and `nitpicks` (controls CodeRabbit review-body comments; default is enabled when unset)
177
190
 
178
191
  Notes:
179
192
 
@@ -183,6 +196,90 @@ Notes:
183
196
  - `max_retries` applies to execution-stage ACP failures and inactivity timeouts for `compozy exec`, `compozy start`, and `compozy fix-reviews`.
184
197
  - `retry_backoff_multiplier` only increases the next attempt timeout; retries restart immediately and do not add a sleep delay.
185
198
 
199
+ ## Reusable Agents
200
+
201
+ Reusable agents are flat filesystem bundles discovered from two scopes:
202
+
203
+ - workspace: `.compozy/agents/<name>/`
204
+ - global: `~/.compozy/agents/<name>/`
205
+
206
+ When the same agent name exists in both places, the workspace directory wins as a whole. Compozy does not merge `AGENT.md` from one scope with `mcp.json` from the other.
207
+
208
+ Each agent directory contains:
209
+
210
+ - required `AGENT.md` with YAML frontmatter plus a markdown body
211
+ - optional `mcp.json` using the standard top-level `mcpServers` shape
212
+
213
+ Agent directory names are the canonical agent ids. They must match `^[a-z][a-z0-9-]{0,63}$`, and `compozy` is reserved.
214
+
215
+ Quick start:
216
+
217
+ ```bash
218
+ compozy agents list
219
+ compozy agents inspect reviewer
220
+ compozy exec --agent reviewer "Review the staged changes"
221
+ ```
222
+
223
+ Runtime precedence for `compozy exec --agent ...` is:
224
+
225
+ ```text
226
+ explicit CLI flags > AGENT.md runtime defaults > .compozy/config.toml > built-in defaults
227
+ ```
228
+
229
+ `mcp.json` is only for agent-local MCP servers. The reserved Compozy MCP server is also named `compozy`, but it is injected by the host and must not appear in `mcp.json`. That reserved server exists only to expose host-owned tools such as `run_agent`. Child agent runs receive the reserved `compozy` server plus the child agent's own `mcp.json`; they do not inherit the parent agent's local MCP servers.
230
+
231
+ Use these committed example fixtures as starting points:
232
+
233
+ - [`docs/examples/agents/reviewer/AGENT.md`](docs/examples/agents/reviewer/AGENT.md) for a minimal reusable agent
234
+ - [`docs/examples/agents/repo-copilot/AGENT.md`](docs/examples/agents/repo-copilot/AGENT.md) and [`docs/examples/agents/repo-copilot/mcp.json`](docs/examples/agents/repo-copilot/mcp.json) for an agent with external MCP dependencies
235
+
236
+ The detailed guide lives in [`docs/reusable-agents.md`](docs/reusable-agents.md).
237
+
238
+ ## 🔌 Extensions
239
+
240
+ Compozy extensions are executable subprocess plugins that intercept and modify pipeline behavior without rebuilding the binary. Extensions communicate with the host over JSON-RPC 2.0 on stdin/stdout and can observe lifecycle events, mutate prompts, inject plan sources, modify agent sessions, gate retries, ship skill packs, and register review providers.
241
+
242
+ ### SDK support
243
+
244
+ | Language | Package | Install |
245
+ | ---------- | ------------------------------------------------- | ------------------------------------------------- |
246
+ | TypeScript | [`@compozy/extension-sdk`](sdk/extension-sdk-ts/) | `npm install @compozy/extension-sdk` |
247
+ | Go | [`sdk/extension`](sdk/extension/) | `go get github.com/compozy/compozy/sdk/extension` |
248
+
249
+ Scaffold a new extension project with starter templates:
250
+
251
+ ```bash
252
+ npx @compozy/create-extension my-ext
253
+ npx @compozy/create-extension my-ext --template prompt-decorator
254
+ npx @compozy/create-extension my-ext --runtime go
255
+ ```
256
+
257
+ Available templates: `lifecycle-observer`, `prompt-decorator`, `review-provider`, `skill-pack`.
258
+
259
+ ### Extension CLI
260
+
261
+ ```bash
262
+ compozy ext list # discover extensions across all scopes
263
+ compozy ext inspect <name> # show manifest, capabilities, enablement status
264
+ compozy ext install <source> # install from a local path or GitHub repo archive
265
+ compozy ext uninstall <name> # remove a user-scoped extension
266
+ compozy ext enable <name> # enable on this machine
267
+ compozy ext disable <name> # disable on this machine
268
+ compozy ext doctor # validate manifests and report health warnings
269
+ ```
270
+
271
+ Extensions are discovered from three scopes with workspace > user > bundled precedence. User and workspace extensions start disabled and must be explicitly enabled by the local operator.
272
+
273
+ ### Learn more
274
+
275
+ - [Extension author guide](.compozy/docs/extensibility/index.md)
276
+ - [Architecture overview](.compozy/docs/extensibility/architecture.md)
277
+ - [Hook reference](.compozy/docs/extensibility/hook-reference.md) -- 28 hooks across 6 pipeline phases
278
+ - [Host API reference](.compozy/docs/extensibility/host-api-reference.md) -- 11 typed host methods
279
+ - [Capability reference](.compozy/docs/extensibility/capability-reference.md) -- 19 capability grants
280
+ - [Trust and enablement](.compozy/docs/extensibility/trust-and-enablement.md)
281
+ - [Testing guide](.compozy/docs/extensibility/testing.md)
282
+
186
283
  ## ⚡ Ad Hoc Exec
187
284
 
188
285
  Use `compozy exec` when you want one prompt through the same ACP-backed execution stack without creating a full workflow first.
@@ -235,13 +332,21 @@ This walkthrough builds a feature called **user-auth** from idea to shipped code
235
332
  compozy setup
236
333
  ```
237
334
 
238
- Auto-detects installed agents and copies (or symlinks) skills into their configuration directories.
335
+ Auto-detects installed agents, copies (or symlinks) core skills into their configuration directories, and installs setup assets shipped by enabled extensions.
239
336
  `compozy start` and `compozy fix-reviews` now verify that bundled Compozy skills are installed for the selected agent before running. Missing installs block the run, and outdated installs prompt for refresh in interactive terminals.
240
337
 
241
338
  ### 2. (Optional) Create an Issue
242
339
 
243
340
  Inside your AI agent (Claude Code, Codex, Cursor, OpenCode, Pi, etc.):
244
341
 
342
+ ```bash
343
+ compozy ext install --yes compozy/compozy --remote github --ref <tag> --subdir extensions/cy-idea-factory
344
+ compozy ext enable cy-idea-factory
345
+ compozy setup
346
+ ```
347
+
348
+ Then:
349
+
245
350
  ```
246
351
  /cy-idea-factory user-auth
247
352
  ```
@@ -312,11 +417,10 @@ Repeat steps 7–8. Each cycle creates a new review round (`reviews-002/`, `revi
312
417
 
313
418
  ## 🧩 Skills
314
419
 
315
- Compozy bundles 9 skills that its workflows depend on. They run inside your AI agent — no context switching to external tools.
420
+ Compozy bundles 9 core skills that its workflows depend on. They run inside your AI agent — no context switching to external tools.
316
421
 
317
422
  | Skill | Purpose |
318
423
  | -------------------- | -------------------------------------------------------------------------- |
319
- | `cy-idea-factory` | Raw idea → structured idea spec with market research, business analysis, and council debate |
320
424
  | `cy-create-prd` | Idea → Product Requirements Document with ADRs |
321
425
  | `cy-create-techspec` | PRD → Technical Specification with architecture exploration |
322
426
  | `cy-create-tasks` | PRD + TechSpec → Independently implementable task files |
@@ -326,6 +430,20 @@ Compozy bundles 9 skills that its workflows depend on. They run inside your AI a
326
430
  | `cy-fix-reviews` | Triage, fix, verify, and resolve review issues |
327
431
  | `cy-final-verify` | Enforces verification evidence before any completion claim |
328
432
 
433
+ Optional first-party extension skills:
434
+
435
+ | Skill | Purpose |
436
+ | ----------------- | ------------------------------------------------------------------------------------------- |
437
+ | `cy-idea-factory` | Raw idea → structured idea spec with market research, business analysis, and council debate |
438
+
439
+ Install the optional ideation extension with:
440
+
441
+ ```bash
442
+ compozy ext install --yes compozy/compozy --remote github --ref <tag> --subdir extensions/cy-idea-factory
443
+ compozy ext enable cy-idea-factory
444
+ compozy setup
445
+ ```
446
+
329
447
  ### 🧠 Workflow Memory
330
448
 
331
449
  When agents execute tasks, context gets lost between runs — decisions made, errors hit, patterns discovered. Compozy solves this with a two-tier memory system that gives each agent a running history of the workflow.
@@ -355,18 +473,18 @@ The `cy-workflow-memory` skill handles all of this automatically when referenced
355
473
 
356
474
  **Execution** (`compozy exec`, `compozy start`, `compozy fix-reviews`) — ACP-capable runtimes that can run ad hoc prompts and task workflows:
357
475
 
358
- | Agent | `--ide` flag |
359
- | ----------- | -------------- |
360
- | Claude Code | `claude` |
361
- | Codex | `codex` |
362
- | GitHub Copilot | `copilot` |
363
- | Cursor | `cursor-agent` |
364
- | Droid | `droid` |
365
- | OpenCode | `opencode` |
366
- | Pi | `pi` |
367
- | Gemini | `gemini` |
476
+ | Agent | `--ide` flag |
477
+ | -------------- | -------------- |
478
+ | Claude Code | `claude` |
479
+ | Codex | `codex` |
480
+ | GitHub Copilot | `copilot` |
481
+ | Cursor | `cursor-agent` |
482
+ | Droid | `droid` |
483
+ | OpenCode | `opencode` |
484
+ | Pi | `pi` |
485
+ | Gemini | `gemini` |
368
486
 
369
- **Skill installation** (`compozy setup`) — 40+ agents and editors, including Claude Code, Codex, Cursor, Droid, OpenCode, Pi, Gemini CLI, GitHub Copilot, Windsurf, Amp, Continue, Goose, Roo Code, Augment, Kiro CLI, Cline, and many more. Run `compozy setup` to see all detected agents on your system.
487
+ **Skill installation** (`compozy setup`) — 40+ agents and editors, including Claude Code, Codex, Cursor, Droid, OpenCode, Pi, Gemini CLI, GitHub Copilot, Windsurf, Amp, Continue, Goose, Roo Code, Augment, Kiro CLI, Cline, and many more. `compozy setup` installs core workflow skills plus any setup assets shipped by enabled extensions. Run `compozy setup` to see all detected agents on your system.
370
488
 
371
489
  When installing to multiple agents, Compozy offers two modes:
372
490
 
@@ -376,21 +494,21 @@ When installing to multiple agents, Compozy offers two modes:
376
494
  ## 📖 CLI Reference
377
495
 
378
496
  <details>
379
- <summary><code>compozy setup</code> — Install bundled skills for supported agents</summary>
497
+ <summary><code>compozy setup</code> — Install core skills and enabled extension assets</summary>
380
498
 
381
499
  ```bash
382
500
  compozy setup [flags]
383
501
  ```
384
502
 
385
- | Flag | Default | Description |
386
- | ---------------- | ------- | -------------------------------------------- |
387
- | `--agent`, `-a` | | Target agent name (repeatable) |
388
- | `--skill`, `-s` | | Skill name to install (repeatable) |
389
- | `--global`, `-g` | `false` | Install to user directory instead of project |
390
- | `--copy` | `false` | Copy files instead of symlinking |
391
- | `--list`, `-l` | `false` | List bundled skills without installing |
392
- | `--yes`, `-y` | `false` | Skip confirmation prompts |
393
- | `--all` | `false` | Install all skills to all agents |
503
+ | Flag | Default | Description |
504
+ | ---------------- | ------- | ---------------------------------------------------------------- |
505
+ | `--agent`, `-a` | | Target agent name (repeatable) |
506
+ | `--skill`, `-s` | | Skill name to install (repeatable) |
507
+ | `--global`, `-g` | `false` | Install to user directory instead of project |
508
+ | `--copy` | `false` | Copy files instead of symlinking |
509
+ | `--list`, `-l` | `false` | List core skills and enabled extension assets without installing |
510
+ | `--yes`, `-y` | `false` | Skip confirmation prompts |
511
+ | `--all` | `false` | Install all skills to all agents |
394
512
 
395
513
  </details>
396
514
 
@@ -450,23 +568,67 @@ compozy exec [prompt] [flags]
450
568
 
451
569
  Provide exactly one prompt source: a positional prompt, `--prompt-file`, or `stdin`. When present, `.compozy/config.toml` can provide exec defaults through `[exec]` and shared runtime defaults through `[defaults]`.
452
570
 
453
- `compozy exec` is headless and ephemeral by default. Use `--persist` to create `.compozy/runs/<run-id>/` for resumable sessions, `--run-id` to continue a persisted session, `--format json` for JSONL, and `--tui` to opt back into the interactive UI.
571
+ `compozy exec` is headless and ephemeral by default. Use `--agent <name>` to execute a reusable agent from `.compozy/agents/` or `~/.compozy/agents/`, `--persist` to create `.compozy/runs/<run-id>/` for resumable sessions, `--run-id` to continue a persisted session, `--format json` for lean JSONL, `--format raw-json` for the full raw event stream, and `--tui` to opt back into the interactive UI.
454
572
 
455
- | Flag | Default | Description |
456
- | ---------------------------- | ----------- | --------------------------------------------------------------------------- |
573
+ | Flag | Default | Description |
574
+ | ---------------------------- | ----------- | ------------------------------------------------------------------------------------------ |
457
575
  | `--ide` | `codex` | Runtime: `claude`, `codex`, `copilot`, `cursor-agent`, `droid`, `gemini`, `opencode`, `pi` |
458
- | `--model` | _(per IDE)_ | Model override |
459
- | `--prompt-file` | | Read prompt text from a file |
460
- | `--format` | `text` | Output contract: `text` or `json` |
461
- | `--reasoning-effort` | `medium` | `low`, `medium`, `high`, `xhigh` |
462
- | `--access-mode` | `full` | `default` or `full` runtime access policy |
463
- | `--timeout` | `10m` | Activity timeout per job |
464
- | `--max-retries` | `0` | Retry execution-stage ACP failures or timeouts N times |
465
- | `--retry-backoff-multiplier` | `1.5` | Multiplier applied to the next timeout after each retry |
466
- | `--tail-lines` | `0` | Maximum log lines retained per job in UI (`0` = full history) |
467
- | `--add-dir` | | Additional directories to allow (repeatable; currently `claude` and `codex` only) |
468
- | `--auto-commit` | `false` | Include automatic commit instructions when the prompt asks for code changes |
469
- | `--dry-run` | `false` | Preview prompts without executing |
576
+ | `--model` | _(per IDE)_ | Model override |
577
+ | `--agent` | | Reusable agent to execute from `.compozy/agents/` or `~/.compozy/agents/` |
578
+ | `--prompt-file` | | Read prompt text from a file |
579
+ | `--format` | `text` | Output contract: `text`, `json`, or `raw-json` |
580
+ | `--reasoning-effort` | `medium` | `low`, `medium`, `high`, `xhigh` |
581
+ | `--access-mode` | `full` | `default` or `full` runtime access policy |
582
+ | `--timeout` | `10m` | Activity timeout per job |
583
+ | `--max-retries` | `0` | Retry execution-stage ACP failures or timeouts N times |
584
+ | `--retry-backoff-multiplier` | `1.5` | Multiplier applied to the next timeout after each retry |
585
+ | `--tail-lines` | `0` | Maximum log lines retained per job in UI (`0` = full history) |
586
+ | `--add-dir` | | Additional directories to allow (repeatable; currently `claude` and `codex` only) |
587
+ | `--auto-commit` | `false` | Include automatic commit instructions when the prompt asks for code changes |
588
+ | `--verbose` | `false` | Emit operational runtime logs to stderr during exec |
589
+ | `--tui` | `false` | Open the interactive TUI instead of headless stdout output |
590
+ | `--persist` | `false` | Persist exec artifacts under `.compozy/runs/<run-id>/` |
591
+ | `--run-id` | | Resume a previously persisted exec session by run id |
592
+ | `--dry-run` | `false` | Preview prompts without executing |
593
+
594
+ </details>
595
+
596
+ <details>
597
+ <summary><code>compozy agents</code> — Discover and inspect reusable agents</summary>
598
+
599
+ ```bash
600
+ compozy agents list
601
+ compozy agents inspect <name>
602
+ ```
603
+
604
+ `compozy agents list` prints resolved agents from workspace and global scope, then reports any invalid definitions without hiding the valid ones. `compozy agents inspect <name>` prints the resolved source, runtime defaults, MCP summary, and validation status for one agent. Invalid inspections print the validation report first and then exit non-zero.
605
+
606
+ Examples:
607
+
608
+ ```bash
609
+ compozy agents list
610
+ compozy agents inspect reviewer
611
+ compozy agents inspect repo-copilot
612
+ ```
613
+
614
+ </details>
615
+
616
+ <details>
617
+ <summary><code>compozy ext</code> — Manage executable extensions</summary>
618
+
619
+ ```bash
620
+ compozy ext <subcommand> [flags]
621
+ ```
622
+
623
+ | Subcommand | Description |
624
+ | ---------------------- | -------------------------------------------------- |
625
+ | `ext list` | List discovered extensions across all scopes |
626
+ | `ext inspect <name>` | Show manifest, capabilities, and enablement status |
627
+ | `ext install <path>` | Install an extension into the user scope |
628
+ | `ext uninstall <name>` | Remove a user-scoped extension |
629
+ | `ext enable <name>` | Enable an extension on this machine |
630
+ | `ext disable <name>` | Disable an extension on this machine |
631
+ | `ext doctor` | Validate manifests and report health warnings |
470
632
 
471
633
  </details>
472
634
 
@@ -481,22 +643,22 @@ Running `compozy start` with no flags opens the interactive form automatically.
481
643
  When present, `.compozy/config.toml` can provide defaults for runtime flags such as
482
644
  `--ide`, `--model`, `--reasoning-effort`, `--access-mode`, `--timeout`, `--add-dir`, and `--auto-commit`.
483
645
 
484
- | Flag | Default | Description |
485
- | ---------------------------- | ----------- | ------------------------------------------------------------- |
486
- | `--name` | | Workflow name (`.compozy/tasks/<name>`) |
487
- | `--tasks-dir` | | Path to tasks directory |
646
+ | Flag | Default | Description |
647
+ | ---------------------------- | ----------- | ------------------------------------------------------------------------------------------ |
648
+ | `--name` | | Workflow name (`.compozy/tasks/<name>`) |
649
+ | `--tasks-dir` | | Path to tasks directory |
488
650
  | `--ide` | `codex` | Runtime: `claude`, `codex`, `copilot`, `cursor-agent`, `droid`, `gemini`, `opencode`, `pi` |
489
- | `--model` | _(per IDE)_ | Model override |
490
- | `--reasoning-effort` | `medium` | `low`, `medium`, `high`, `xhigh` |
491
- | `--access-mode` | `full` | `default` or `full` runtime access policy |
492
- | `--timeout` | `10m` | Activity timeout per job |
493
- | `--max-retries` | `0` | Retry execution-stage ACP failures or timeouts N times |
494
- | `--retry-backoff-multiplier` | `1.5` | Multiplier applied to the next timeout after each retry |
495
- | `--tail-lines` | `0` | Maximum log lines retained per job in UI (`0` = full history) |
496
- | `--add-dir` | | Additional directories to allow (repeatable; currently `claude` and `codex` only) |
497
- | `--auto-commit` | `false` | Auto-commit after each task |
498
- | `--include-completed` | `false` | Re-run completed tasks |
499
- | `--dry-run` | `false` | Preview prompts without executing |
651
+ | `--model` | _(per IDE)_ | Model override |
652
+ | `--reasoning-effort` | `medium` | `low`, `medium`, `high`, `xhigh` |
653
+ | `--access-mode` | `full` | `default` or `full` runtime access policy |
654
+ | `--timeout` | `10m` | Activity timeout per job |
655
+ | `--max-retries` | `0` | Retry execution-stage ACP failures or timeouts N times |
656
+ | `--retry-backoff-multiplier` | `1.5` | Multiplier applied to the next timeout after each retry |
657
+ | `--tail-lines` | `0` | Maximum log lines retained per job in UI (`0` = full history) |
658
+ | `--add-dir` | | Additional directories to allow (repeatable; currently `claude` and `codex` only) |
659
+ | `--auto-commit` | `false` | Auto-commit after each task |
660
+ | `--include-completed` | `false` | Re-run completed tasks |
661
+ | `--dry-run` | `false` | Preview prompts without executing |
500
662
 
501
663
  </details>
502
664
 
@@ -508,7 +670,7 @@ compozy fetch-reviews [flags]
508
670
  ```
509
671
 
510
672
  Running `compozy fetch-reviews` with no flags opens the interactive form automatically.
511
- When present, `.compozy/config.toml` can provide defaults such as `--provider`.
673
+ When present, `.compozy/config.toml` can provide defaults such as `provider` and `nitpicks`.
512
674
 
513
675
  | Flag | Default | Description |
514
676
  | ------------ | ------- | ----------------------------------------- |
@@ -517,6 +679,9 @@ When present, `.compozy/config.toml` can provide defaults such as `--provider`.
517
679
  | `--name` | | Workflow name |
518
680
  | `--round` | `0` | Round number (auto-increments if omitted) |
519
681
 
682
+ By default, `fetch-reviews` imports CodeRabbit review-body comments for `nitpick`, `minor`, and `major`.
683
+ Use `[fetch_reviews].nitpicks = false` in `.compozy/config.toml` to disable that import.
684
+
520
685
  </details>
521
686
 
522
687
  <details>
@@ -530,25 +695,25 @@ Running `compozy fix-reviews` with no flags opens the interactive form automatic
530
695
  When present, `.compozy/config.toml` can provide runtime defaults as well as review workflow
531
696
  defaults such as `--concurrent`, `--batch-size`, and `--include-resolved`.
532
697
 
533
- | Flag | Default | Description |
534
- | ---------------------------- | ----------- | ------------------------------------------------------------- |
535
- | `--name` | | Workflow name |
536
- | `--round` | `0` | Round number (latest if omitted) |
537
- | `--reviews-dir` | | Override review directory path |
698
+ | Flag | Default | Description |
699
+ | ---------------------------- | ----------- | ------------------------------------------------------------------------------------------ |
700
+ | `--name` | | Workflow name |
701
+ | `--round` | `0` | Round number (latest if omitted) |
702
+ | `--reviews-dir` | | Override review directory path |
538
703
  | `--ide` | `codex` | Runtime: `claude`, `codex`, `copilot`, `cursor-agent`, `droid`, `gemini`, `opencode`, `pi` |
539
- | `--model` | _(per IDE)_ | Model override |
540
- | `--batch-size` | `1` | Issues per batch |
541
- | `--concurrent` | `1` | Parallel batches |
542
- | `--include-resolved` | `false` | Re-process resolved issues |
543
- | `--reasoning-effort` | `medium` | `low`, `medium`, `high`, `xhigh` |
544
- | `--access-mode` | `full` | `default` or `full` runtime access policy |
545
- | `--timeout` | `10m` | Activity timeout per job |
546
- | `--max-retries` | `0` | Retry execution-stage ACP failures or timeouts N times |
547
- | `--retry-backoff-multiplier` | `1.5` | Multiplier applied to the next timeout after each retry |
548
- | `--tail-lines` | `0` | Maximum log lines retained per job in UI (`0` = full history) |
549
- | `--add-dir` | | Additional directories to allow (repeatable; currently `claude` and `codex` only) |
550
- | `--auto-commit` | `false` | Auto-commit after each batch |
551
- | `--dry-run` | `false` | Preview prompts without executing |
704
+ | `--model` | _(per IDE)_ | Model override |
705
+ | `--batch-size` | `1` | Issues per batch |
706
+ | `--concurrent` | `1` | Parallel batches |
707
+ | `--include-resolved` | `false` | Re-process resolved issues |
708
+ | `--reasoning-effort` | `medium` | `low`, `medium`, `high`, `xhigh` |
709
+ | `--access-mode` | `full` | `default` or `full` runtime access policy |
710
+ | `--timeout` | `10m` | Activity timeout per job |
711
+ | `--max-retries` | `0` | Retry execution-stage ACP failures or timeouts N times |
712
+ | `--retry-backoff-multiplier` | `1.5` | Multiplier applied to the next timeout after each retry |
713
+ | `--tail-lines` | `0` | Maximum log lines retained per job in UI (`0` = full history) |
714
+ | `--add-dir` | | Additional directories to allow (repeatable; currently `claude` and `codex` only) |
715
+ | `--auto-commit` | `false` | Auto-commit after each batch |
716
+ | `--dry-run` | `false` | Preview prompts without executing |
552
717
 
553
718
  </details>
554
719
 
@@ -584,7 +749,7 @@ _ = compozy.Run(context.Background(), compozy.Config{
584
749
  })
585
750
 
586
751
  // Embed the Cobra command in another CLI
587
- root := command.New()
752
+ root := compozy.NewCommand()
588
753
  _ = root.Execute()
589
754
  ```
590
755
 
@@ -595,19 +760,26 @@ _ = root.Execute()
595
760
 
596
761
  ```
597
762
  cmd/compozy/ CLI entry point
598
- command/ Public Cobra wrapper for embedding
763
+ compozy.go Public Go API + reusable Cobra command helpers
599
764
  internal/cli/ Cobra flags, interactive form, CLI glue
600
765
  internal/core/ Internal facade for preparation and execution
601
766
  agent/ IDE command validation and process construction
767
+ agents/ Reusable agent discovery, validation, MCP merge, nested execution
768
+ extension/ Extension manifest, discovery, hooks, Host API, lifecycle
602
769
  memory/ Workflow memory bootstrapping, inspection, and compaction detection
603
770
  model/ Shared runtime data structures
604
771
  plan/ Input discovery, filtering, grouping, batch prep
605
772
  prompt/ Prompt builders emitting runtime context + skill names
606
773
  run/ Execution pipeline, logging, shutdown, Bubble Tea UI
607
- internal/setup/ Bundled skill installer (agent detection, symlink/copy)
774
+ internal/setup/ Bundled skill and council-agent installer (agent detection, symlink/copy)
608
775
  internal/version/ Build metadata
776
+ sdk/extension/ Public Go SDK for extension authors
777
+ sdk/extension-sdk-ts/ Public TypeScript SDK for extension authors
778
+ sdk/create-extension/ CLI scaffolder for new extension projects
609
779
  skills/ Bundled installable skills
610
780
  .compozy/config.toml Optional workspace defaults for CLI execution
781
+ .compozy/agents/ Optional reusable agents (`AGENT.md` + optional `mcp.json`)
782
+ .compozy/extensions/ Workspace-scoped extensions (starts disabled)
611
783
  .compozy/runs/ Runtime artifacts for persisted executions and resumable exec sessions
612
784
  .compozy/tasks/ Default workflow artifact root (PRDs, TechSpecs, tasks, ADRs, reviews)
613
785
  ```
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@compozy/cli",
3
3
  "type": "module",
4
- "version": "0.1.10",
4
+ "version": "0.1.12",
5
5
  "description": "Compozy CLI",
6
6
  "scripts": {
7
7
  "postinstall": "node install.js",
@@ -27,63 +27,63 @@
27
27
  },
28
28
  "archives": {
29
29
  "darwin-arm64": {
30
- "name": "compozy_0.1.10_darwin_arm64.tar.gz",
31
- "url": "https://github.com/compozy/compozy/releases/download/v0.1.10/compozy_0.1.10_darwin_arm64.tar.gz",
30
+ "name": "compozy_0.1.12_darwin_arm64.tar.gz",
31
+ "url": "https://github.com/compozy/compozy/releases/download/v0.1.12/compozy_0.1.12_darwin_arm64.tar.gz",
32
32
  "bins": [
33
33
  "compozy"
34
34
  ],
35
35
  "format": "tar.gz",
36
36
  "checksum": {
37
37
  "algorithm": "sha256",
38
- "digest": "11775673564a54314065ea8307d5ce1f1b187f2322d7428b4bd5f5a97228f196"
38
+ "digest": "e5d39be82563b5265e83a2605216d0e865652b22f72be5f7d7094d5bca956094"
39
39
  }
40
40
  },
41
41
  "darwin-x64": {
42
- "name": "compozy_0.1.10_darwin_x86_64.tar.gz",
43
- "url": "https://github.com/compozy/compozy/releases/download/v0.1.10/compozy_0.1.10_darwin_x86_64.tar.gz",
42
+ "name": "compozy_0.1.12_darwin_x86_64.tar.gz",
43
+ "url": "https://github.com/compozy/compozy/releases/download/v0.1.12/compozy_0.1.12_darwin_x86_64.tar.gz",
44
44
  "bins": [
45
45
  "compozy"
46
46
  ],
47
47
  "format": "tar.gz",
48
48
  "checksum": {
49
49
  "algorithm": "sha256",
50
- "digest": "cacb8818efccc7f03e53d584747056ce1e682c6f78221a05ba67769d6a603204"
50
+ "digest": "ec54dcecad2f7cf3ae9a17505e23b289fca60999670518d7680d95d89255f844"
51
51
  }
52
52
  },
53
53
  "linux-arm64": {
54
- "name": "compozy_0.1.10_linux_arm64.tar.gz",
55
- "url": "https://github.com/compozy/compozy/releases/download/v0.1.10/compozy_0.1.10_linux_arm64.tar.gz",
54
+ "name": "compozy_0.1.12_linux_arm64.tar.gz",
55
+ "url": "https://github.com/compozy/compozy/releases/download/v0.1.12/compozy_0.1.12_linux_arm64.tar.gz",
56
56
  "bins": [
57
57
  "compozy"
58
58
  ],
59
59
  "format": "tar.gz",
60
60
  "checksum": {
61
61
  "algorithm": "sha256",
62
- "digest": "a89a221bb2385456d6de1a7830c7023d6d9c94cb0be9dc4c02d3fe801f198e4f"
62
+ "digest": "996c83d0c0aac3b15c12cb031fb5db892db6d0a78c625544d993287287824b86"
63
63
  }
64
64
  },
65
65
  "linux-x64": {
66
- "name": "compozy_0.1.10_linux_x86_64.tar.gz",
67
- "url": "https://github.com/compozy/compozy/releases/download/v0.1.10/compozy_0.1.10_linux_x86_64.tar.gz",
66
+ "name": "compozy_0.1.12_linux_x86_64.tar.gz",
67
+ "url": "https://github.com/compozy/compozy/releases/download/v0.1.12/compozy_0.1.12_linux_x86_64.tar.gz",
68
68
  "bins": [
69
69
  "compozy"
70
70
  ],
71
71
  "format": "tar.gz",
72
72
  "checksum": {
73
73
  "algorithm": "sha256",
74
- "digest": "3915ad13f8ebd5d0176927130878f77fe87302989dcbbcfdf3e560b86dd75c19"
74
+ "digest": "2f52d658cfe8926d35c60df757f02afd5fac79e9aa39c6535c7af593c61d9d7b"
75
75
  }
76
76
  },
77
77
  "win32-x64": {
78
- "name": "compozy_0.1.10_windows_x86_64.zip",
79
- "url": "https://github.com/compozy/compozy/releases/download/v0.1.10/compozy_0.1.10_windows_x86_64.zip",
78
+ "name": "compozy_0.1.12_windows_x86_64.zip",
79
+ "url": "https://github.com/compozy/compozy/releases/download/v0.1.12/compozy_0.1.12_windows_x86_64.zip",
80
80
  "bins": [
81
81
  "compozy.exe"
82
82
  ],
83
83
  "format": "zip",
84
84
  "checksum": {
85
85
  "algorithm": "sha256",
86
- "digest": "72f4d3ce6caa32aca4fb09f5a5803968de6a514553266cfe0948ca370d51dd00"
86
+ "digest": "2688812133944d61987332c46a98cf504ebc5c84896008762fdc2ff6615197be"
87
87
  }
88
88
  }
89
89
  }