@compozy/cli 0.2.4 → 0.2.6
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 +47 -4
- package/package.json +17 -17
package/README.md
CHANGED
|
@@ -46,8 +46,7 @@ One CLI to replace scattered prompts, manual task tracking, and copy-paste revie
|
|
|
46
46
|
#### Homebrew
|
|
47
47
|
|
|
48
48
|
```bash
|
|
49
|
-
brew
|
|
50
|
-
brew install --cask compozy
|
|
49
|
+
brew install compozy/compozy/compozy
|
|
51
50
|
```
|
|
52
51
|
|
|
53
52
|
#### NPM
|
|
@@ -98,6 +97,7 @@ Execution runtimes are separate from skill installation. To run `compozy exec`,
|
|
|
98
97
|
| OpenCode | `opencode` | `opencode acp` |
|
|
99
98
|
| pi ACP | `pi` | `pi-acp` |
|
|
100
99
|
| Gemini CLI | `gemini` | `gemini --acp` |
|
|
100
|
+
| Kiro CLI | `kiro` | `kiro-cli acp` |
|
|
101
101
|
|
|
102
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. Codex defaults to `gpt-5.5`; using that model with a local `codex-acp` binary requires `@zed-industries/codex-acp >= 0.12.0`. Update with `npm install -g @zed-industries/codex-acp@latest`, or explicitly choose a model supported by your installed adapter.
|
|
103
103
|
|
|
@@ -117,7 +117,8 @@ Task and review issue files use YAML frontmatter for parseable metadata such as
|
|
|
117
117
|
|
|
118
118
|
- `compozy daemon start|status|stop` manages the home-scoped daemon lifecycle. `daemon start` is idempotent, and task/review/exec commands auto-start the daemon when needed.
|
|
119
119
|
- `compozy workspaces list|show|register|unregister|resolve` exposes the daemon workspace registry. Workspaces are also lazily registered when you run daemon-backed commands inside them.
|
|
120
|
-
- `compozy tasks run <slug>` is the canonical workflow runner. In interactive terminals it attaches to the TUI by default; in non-interactive environments it falls back to streaming. Use `--ui`, `--stream`, `--detach`, or `--attach` to override that behavior.
|
|
120
|
+
- `compozy tasks run <slug>` is the canonical single-workflow runner. In interactive terminals it attaches to the TUI by default; in non-interactive environments it falls back to streaming. Use `--ui`, `--stream`, `--detach`, or `--attach` to override that behavior.
|
|
121
|
+
- `compozy tasks run --multiple alpha,beta` starts one daemon-owned queue for several task workflows. Use `tasks run --multiple` when the same flags and runtime defaults should apply to an ordered batch; keep using `tasks run <slug>` for one workflow or scripts that expect one run ID per invocation.
|
|
121
122
|
- `compozy runs attach <run-id>` restores the interactive TUI for an existing daemon-managed run, while `compozy runs watch <run-id>` streams textual observation from the same snapshot-plus-stream transport.
|
|
122
123
|
- `compozy reviews fetch|list|show|fix` is the canonical review command family.
|
|
123
124
|
|
|
@@ -173,6 +174,7 @@ types = ["frontend", "backend", "docs", "test", "infra", "refactor", "chore", "b
|
|
|
173
174
|
|
|
174
175
|
[tasks.run]
|
|
175
176
|
include_completed = false
|
|
177
|
+
run_multiple_mode = "enqueued"
|
|
176
178
|
|
|
177
179
|
[exec]
|
|
178
180
|
output_format = "text"
|
|
@@ -192,7 +194,7 @@ Supported sections:
|
|
|
192
194
|
- `[defaults]` for shared execution defaults such as `ide`, `model`, `reasoning_effort`, `access_mode`, `timeout`, `tail_lines`, `add_dirs`, `auto_commit`, `max_retries`, and `retry_backoff_multiplier`
|
|
193
195
|
- `[exec]` for `output_format` plus exec-specific runtime overrides such as `ide`, `model`, `reasoning_effort`, `access_mode`, `timeout`, `tail_lines`, `add_dirs`, `max_retries`, and `retry_backoff_multiplier`
|
|
194
196
|
- `[tasks]` for the allowed task `type` list used by `cy-create-tasks` and `compozy tasks validate`
|
|
195
|
-
- `[tasks.run]` for workflow-run defaults used by `compozy tasks run`, such as `include_completed`
|
|
197
|
+
- `[tasks.run]` for workflow-run defaults used by `compozy tasks run`, such as `include_completed` and `run_multiple_mode`
|
|
196
198
|
- `[fix_reviews]` for `concurrent`, `batch_size`, and `include_resolved`
|
|
197
199
|
- `[fetch_reviews]` for `provider` and `nitpicks` (controls CodeRabbit review-body comments; default is enabled when unset)
|
|
198
200
|
- `[sound]` for optional run-completion audio presets or absolute file paths
|
|
@@ -203,6 +205,8 @@ Notes:
|
|
|
203
205
|
- `.compozy/tasks` remains the fixed workflow root in this version; the config file does not change the workflow root path.
|
|
204
206
|
- Unknown keys and invalid value types are rejected during config loading.
|
|
205
207
|
- Relative `add_dirs` are resolved against the owning config scope: the user home directory for `~/.compozy/config.toml` and the workspace root for `.compozy/config.toml`.
|
|
208
|
+
- `[tasks.run] run_multiple_mode` controls `tasks run --multiple` scheduling. When unset, the built-in default is `"enqueued"`.
|
|
209
|
+
- `run_multiple_mode = "parallel"` is accepted in V1 for forward-compatible config, but Compozy prints a V2 worktree-isolation fallback message and runs the queue in enqueued order. Real parallel multi-run execution waits for git worktree isolation.
|
|
206
210
|
- `max_retries` applies to execution-stage ACP failures and inactivity timeouts for `compozy exec`, `compozy tasks run`, and `compozy reviews fix`.
|
|
207
211
|
- Built-in CLI defaults retry timed-out or transient ACP failures twice; set `max_retries = 0` or pass `--max-retries 0` to opt out.
|
|
208
212
|
- `retry_backoff_multiplier` only increases the next attempt timeout; retries restart immediately and do not add a sleep delay.
|
|
@@ -394,10 +398,12 @@ Generated task files use task schema v2 (`status`, `title`, `type`, `complexity`
|
|
|
394
398
|
|
|
395
399
|
```bash
|
|
396
400
|
compozy tasks run user-auth --ide claude
|
|
401
|
+
compozy tasks run --multiple user-auth,cleanup --ide claude
|
|
397
402
|
```
|
|
398
403
|
|
|
399
404
|
Each pending task is processed sequentially through the shared daemon — the agent reads the spec, implements the code, validates it, and updates the task status. Use `--dry-run` to preview prompts without executing.
|
|
400
405
|
`compozy tasks run` validates task metadata before execution. Use `--skip-validation` when validation already ran elsewhere, or `--force` to continue after validation failures in non-interactive environments.
|
|
406
|
+
Use `compozy tasks run --multiple <slug-a>,<slug-b>` when you want one command to enqueue several workflows with the same runtime flags. The input is one comma-separated slug list; `compozy tasks run <slug>` remains the single-workflow command.
|
|
401
407
|
|
|
402
408
|
### 7. Review
|
|
403
409
|
|
|
@@ -607,7 +613,9 @@ The CLI resolves workspace defaults locally, validates the task metadata, auto-s
|
|
|
607
613
|
| Flag | Default | Description |
|
|
608
614
|
| --------------------- | ------- | ----------------------------------------------------------------------------------- |
|
|
609
615
|
| `--name` | | Workflow slug (defaults to the positional slug) |
|
|
616
|
+
| `--multiple` | | Comma-separated workflow slugs to run through one daemon-owned parent queue |
|
|
610
617
|
| `--include-completed` | `false` | Re-run completed tasks |
|
|
618
|
+
| `--recursive`, `-r` | `false` | Discover `task_NNN.md` files in nested subdirectories of the workflow root |
|
|
611
619
|
| `--skip-validation` | `false` | Skip task metadata preflight; use only when validation already ran elsewhere |
|
|
612
620
|
| `--force` | `false` | Continue after task metadata validation fails in non-interactive mode |
|
|
613
621
|
| `--attach` | `auto` | Attach mode: `auto`, `ui`, `stream`, or `detach` |
|
|
@@ -616,6 +624,31 @@ The CLI resolves workspace defaults locally, validates the task metadata, auto-s
|
|
|
616
624
|
| `--detach` | `false` | Start the run without attaching a client |
|
|
617
625
|
| `--task-runtime` | | Per-task runtime override rule (`type=...`, `id=...`, `ide=...`, `model=...`, etc.) |
|
|
618
626
|
|
|
627
|
+
When `--recursive` is set, tasks are grouped by directory (root tasks first, then each subdirectory in alphabetical order, numerically within), and `_`/`.`-prefixed directories, `reviews-*` rounds, `adrs/`, and `memory/` are skipped. The same setting can be persisted as `[tasks.run] recursive = true` in workspace TOML or chosen from the interactive task-runtime form.
|
|
628
|
+
|
|
629
|
+
Use `tasks run --multiple` when you want to start several task workflows from one invocation with the same runtime flags. Use `tasks run <slug>` when you only need one workflow run, when a script expects a single workflow slug, or when you want the existing single-run command path.
|
|
630
|
+
|
|
631
|
+
The `--multiple` flag takes one comma-separated slug list:
|
|
632
|
+
|
|
633
|
+
```bash
|
|
634
|
+
compozy tasks run --multiple alpha,beta --ide codex --model gpt-5.5
|
|
635
|
+
compozy tasks run --multiple alpha,beta --stream
|
|
636
|
+
compozy tasks run --multiple alpha,beta --detach
|
|
637
|
+
```
|
|
638
|
+
|
|
639
|
+
Scheduling is controlled by `.compozy/config.toml` or `~/.compozy/config.toml`:
|
|
640
|
+
|
|
641
|
+
```toml
|
|
642
|
+
[tasks.run]
|
|
643
|
+
run_multiple_mode = "enqueued"
|
|
644
|
+
```
|
|
645
|
+
|
|
646
|
+
`"enqueued"` is the default and runs one child workflow at a time in the requested order. `"parallel"` is also accepted in V1, but Compozy prints a fallback message and still runs the queue as `"enqueued"` until V2 adds git worktree-backed isolation for concurrent agents.
|
|
647
|
+
|
|
648
|
+
In the TUI, every requested slug has a tab. Queued tabs appear before their child run exists, the running tab shows the familiar task-run surface, and completed, failed, or canceled tabs remain available for inspection. The quit dialog applies to the parent queue: `Close TUI` detaches and leaves the queue running in the daemon, `Stop Run` cancels the parent queue, cancels the active child, and marks queued workflows canceled, and `Cancel` returns to the TUI without changing execution.
|
|
649
|
+
|
|
650
|
+
The multi-run path uses the same attach and runtime flags as single-run `tasks run`, except `--multiple` cannot be combined with a positional slug or `--name`.
|
|
651
|
+
|
|
619
652
|
</details>
|
|
620
653
|
|
|
621
654
|
<details>
|
|
@@ -813,6 +846,16 @@ make build # Compile binary
|
|
|
813
846
|
make deps # Tidy and verify modules
|
|
814
847
|
```
|
|
815
848
|
|
|
849
|
+
## Star History
|
|
850
|
+
|
|
851
|
+
<a href="https://www.star-history.com/?repos=compozy%2Fcompozy&type=date&legend=top-left">
|
|
852
|
+
<picture>
|
|
853
|
+
<source media="(prefers-color-scheme: dark)" srcset="https://api.star-history.com/chart?repos=compozy/compozy&type=date&theme=dark&legend=top-left" />
|
|
854
|
+
<source media="(prefers-color-scheme: light)" srcset="https://api.star-history.com/chart?repos=compozy/compozy&type=date&legend=top-left" />
|
|
855
|
+
<img alt="Star History Chart" src="https://api.star-history.com/chart?repos=compozy/compozy&type=date&legend=top-left" />
|
|
856
|
+
</picture>
|
|
857
|
+
</a>
|
|
858
|
+
|
|
816
859
|
## 🤝 Contributing
|
|
817
860
|
|
|
818
861
|
Contributions are welcome. See [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines.
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@compozy/cli",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "0.2.
|
|
4
|
+
"version": "0.2.6",
|
|
5
5
|
"description": "Compozy CLI",
|
|
6
6
|
"scripts": {
|
|
7
7
|
"postinstall": "node install.js",
|
|
@@ -23,67 +23,67 @@
|
|
|
23
23
|
"dependencies": {
|
|
24
24
|
"jszip": "3.10.1",
|
|
25
25
|
"proxy-agent": "8.0.1",
|
|
26
|
-
"tar": "7.5.
|
|
26
|
+
"tar": "7.5.15"
|
|
27
27
|
},
|
|
28
28
|
"archives": {
|
|
29
29
|
"darwin-arm64": {
|
|
30
|
-
"name": "compozy_0.2.
|
|
31
|
-
"url": "https://github.com/compozy/compozy/releases/download/v0.2.
|
|
30
|
+
"name": "compozy_0.2.6_darwin_arm64.tar.gz",
|
|
31
|
+
"url": "https://github.com/compozy/compozy/releases/download/v0.2.6/compozy_0.2.6_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": "
|
|
38
|
+
"digest": "9cb53aa427e9fab1d32cb4dd02438e57467b6fc1674cd27aba0ca06447b148b0"
|
|
39
39
|
}
|
|
40
40
|
},
|
|
41
41
|
"darwin-x64": {
|
|
42
|
-
"name": "compozy_0.2.
|
|
43
|
-
"url": "https://github.com/compozy/compozy/releases/download/v0.2.
|
|
42
|
+
"name": "compozy_0.2.6_darwin_x86_64.tar.gz",
|
|
43
|
+
"url": "https://github.com/compozy/compozy/releases/download/v0.2.6/compozy_0.2.6_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": "
|
|
50
|
+
"digest": "6e2e57e6bea16cf0b47a47c94b4396acb3ec06e90623ed522e635962a900eafc"
|
|
51
51
|
}
|
|
52
52
|
},
|
|
53
53
|
"linux-arm64": {
|
|
54
|
-
"name": "compozy_0.2.
|
|
55
|
-
"url": "https://github.com/compozy/compozy/releases/download/v0.2.
|
|
54
|
+
"name": "compozy_0.2.6_linux_arm64.tar.gz",
|
|
55
|
+
"url": "https://github.com/compozy/compozy/releases/download/v0.2.6/compozy_0.2.6_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": "
|
|
62
|
+
"digest": "0821a1ba666fb55d1799910ad84d8342838a2f6b3ebba3f6588e8ae3a64fcd7b"
|
|
63
63
|
}
|
|
64
64
|
},
|
|
65
65
|
"linux-x64": {
|
|
66
|
-
"name": "compozy_0.2.
|
|
67
|
-
"url": "https://github.com/compozy/compozy/releases/download/v0.2.
|
|
66
|
+
"name": "compozy_0.2.6_linux_x86_64.tar.gz",
|
|
67
|
+
"url": "https://github.com/compozy/compozy/releases/download/v0.2.6/compozy_0.2.6_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": "
|
|
74
|
+
"digest": "ac70c779c404d1d07cb88068892799584f5ca58f7b7699af6d6a4e81d5b458de"
|
|
75
75
|
}
|
|
76
76
|
},
|
|
77
77
|
"win32-x64": {
|
|
78
|
-
"name": "compozy_0.2.
|
|
79
|
-
"url": "https://github.com/compozy/compozy/releases/download/v0.2.
|
|
78
|
+
"name": "compozy_0.2.6_windows_x86_64.zip",
|
|
79
|
+
"url": "https://github.com/compozy/compozy/releases/download/v0.2.6/compozy_0.2.6_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": "
|
|
86
|
+
"digest": "c9a954a61cebb4f947098f421c428a887ff2c01a1085e58a5b7a539adf40b4c3"
|
|
87
87
|
}
|
|
88
88
|
}
|
|
89
89
|
}
|