@compozy/cli 0.2.15 → 0.3.0-beta.2
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 +141 -840
- package/package.json +17 -29
package/README.md
CHANGED
|
@@ -1,959 +1,250 @@
|
|
|
1
1
|
<div align="center">
|
|
2
|
-
<
|
|
3
|
-
<
|
|
2
|
+
<img src="packages/site/public/icon-512.png" alt="Compozy" width="96" height="96">
|
|
3
|
+
<h1>CompozyOS</h1>
|
|
4
|
+
<p><strong>A local-first operating system for agent work.</strong></p>
|
|
4
5
|
<p>
|
|
5
6
|
<a href="https://github.com/compozy/compozy/actions/workflows/ci.yml">
|
|
6
7
|
<img src="https://github.com/compozy/compozy/actions/workflows/ci.yml/badge.svg" alt="CI">
|
|
7
8
|
</a>
|
|
8
|
-
<a href="https://
|
|
9
|
-
<img src="https://
|
|
9
|
+
<a href="https://github.com/compozy/compozy/releases">
|
|
10
|
+
<img src="https://img.shields.io/github/v/release/compozy/compozy?include_prereleases" alt="Release">
|
|
10
11
|
</a>
|
|
11
12
|
<a href="https://goreportcard.com/report/github.com/compozy/compozy">
|
|
12
13
|
<img src="https://goreportcard.com/badge/github.com/compozy/compozy" alt="Go Report Card">
|
|
13
14
|
</a>
|
|
15
|
+
<a href="https://pkg.go.dev/github.com/compozy/compozy">
|
|
16
|
+
<img src="https://pkg.go.dev/badge/github.com/compozy/compozy.svg" alt="Go Reference">
|
|
17
|
+
</a>
|
|
14
18
|
<a href="LICENSE">
|
|
15
19
|
<img src="https://img.shields.io/badge/License-MIT-blue.svg" alt="License: MIT">
|
|
16
20
|
</a>
|
|
17
|
-
<a href="https://github.com/compozy/compozy/releases">
|
|
18
|
-
<img src="https://img.shields.io/github/v/release/compozy/compozy?include_prereleases" alt="Release">
|
|
19
|
-
</a>
|
|
20
21
|
</p>
|
|
21
22
|
</div>
|
|
22
23
|
|
|
23
|
-
|
|
24
|
+
CompozyOS gives agent work a durable place to live. One local daemon connects sessions, tasks,
|
|
25
|
+
loops, memory, permissions, automation, and tools. People can see and steer the work through the web
|
|
26
|
+
shell and CLI; agents operate the same state through structured HTTP, UDS, MCP, and native-tool
|
|
27
|
+
surfaces.
|
|
28
|
+
|
|
29
|
+
> [!WARNING]
|
|
30
|
+
> The v0.3 line is in beta. The previous v0.2.15 product is deprecated and maintained only for
|
|
31
|
+
> critical fixes on [`legacy/v0.2`](https://github.com/compozy/compozy/tree/legacy/v0.2). Start with
|
|
32
|
+
> the [migration guide](MIGRATION_GUIDE.md) before replacing an existing v0.2 installation.
|
|
24
33
|
|
|
25
34
|
<div align="center">
|
|
26
|
-
<img src="imgs/screenshot.png" alt="
|
|
35
|
+
<img src="imgs/screenshot.png" alt="CompozyOS workspace with durable agent work" width="100%">
|
|
27
36
|
</div>
|
|
28
37
|
|
|
29
38
|
## ✨ Highlights
|
|
30
39
|
|
|
31
|
-
- **
|
|
32
|
-
|
|
33
|
-
- **
|
|
34
|
-
|
|
35
|
-
- **
|
|
36
|
-
|
|
37
|
-
- **
|
|
38
|
-
|
|
39
|
-
- **
|
|
40
|
-
|
|
41
|
-
- **
|
|
42
|
-
|
|
40
|
+
- **Work survives the terminal.** Sessions and Loop runs belong to the daemon, so closing one client
|
|
41
|
+
does not erase the work.
|
|
42
|
+
- **One state, several control surfaces.** Web, CLI, HTTP/SSE, UDS, MCP, and native tools expose the
|
|
43
|
+
same runtime-owned resources.
|
|
44
|
+
- **People stay in control.** Approvals, permissions, run state, artifacts, and agent activity remain
|
|
45
|
+
inspectable while work continues in the background.
|
|
46
|
+
- **Local-first by default.** One Go binary and SQLite-backed stores keep runtime state on the
|
|
47
|
+
operator's machine unless a configured provider or extension owns an external boundary.
|
|
48
|
+
- **Built to extend.** Agents, skills, capabilities, bundles, hooks, bridges, and extensions plug into
|
|
49
|
+
explicit runtime contracts.
|
|
50
|
+
- **Compozy Network.** Sessions can discover peers, exchange typed messages, delegate work, and close
|
|
51
|
+
it with receipts over `compozy-network/v0`.
|
|
43
52
|
|
|
44
53
|
## 📦 Installation
|
|
45
54
|
|
|
46
|
-
|
|
55
|
+
The documented beta is `v0.3.0-beta.1`. Homebrew continues to serve the deprecated v0.2 line during
|
|
56
|
+
the beta window and is intentionally omitted here. The `compozy` formula returns with v0.3.0 stable.
|
|
47
57
|
|
|
48
|
-
|
|
49
|
-
brew install compozy/compozy/compozy
|
|
50
|
-
```
|
|
58
|
+
#### Verified installer
|
|
51
59
|
|
|
52
|
-
|
|
60
|
+
The installer targets the documented beta and verifies Sigstore provenance before installing the
|
|
61
|
+
binary on macOS or Linux.
|
|
53
62
|
|
|
54
63
|
```bash
|
|
55
|
-
|
|
64
|
+
curl -fsSL https://compozy.com/install.sh | sh
|
|
56
65
|
```
|
|
57
66
|
|
|
58
|
-
####
|
|
67
|
+
#### NPM
|
|
59
68
|
|
|
60
69
|
```bash
|
|
61
|
-
|
|
70
|
+
npm install -g @compozy/cli@beta
|
|
62
71
|
```
|
|
63
72
|
|
|
64
|
-
####
|
|
65
|
-
|
|
66
|
-
```bash
|
|
67
|
-
git clone git@github.com:compozy/compozy.git
|
|
68
|
-
cd compozy && make verify && go build ./cmd/compozy
|
|
69
|
-
```
|
|
73
|
+
#### Go
|
|
70
74
|
|
|
71
|
-
|
|
75
|
+
Go's `@latest` still resolves the v0.2 stable line while v0.3 is in beta, so use the explicit version:
|
|
72
76
|
|
|
73
77
|
```bash
|
|
74
|
-
|
|
75
|
-
compozy setup --all # install everything to every detected agent
|
|
78
|
+
go install github.com/compozy/compozy@v0.3.0-beta.1
|
|
76
79
|
```
|
|
77
80
|
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
If you want the optional ideation workflow and council roster, install the first-party `cy-idea-factory` extension first:
|
|
81
|
+
#### From Source
|
|
81
82
|
|
|
82
83
|
```bash
|
|
83
|
-
|
|
84
|
-
compozy
|
|
85
|
-
compozy
|
|
84
|
+
git clone https://github.com/compozy/compozy.git
|
|
85
|
+
cd compozy
|
|
86
|
+
go build -o ./bin/compozy .
|
|
86
87
|
```
|
|
87
88
|
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
| Runtime | `--ide` flag | Expected ACP command |
|
|
91
|
-
| ------------------ | -------------- | -------------------------------- |
|
|
92
|
-
| Claude Agent | `claude` | `claude-agent-acp` |
|
|
93
|
-
| Codex CLI | `codex` | `codex-acp` |
|
|
94
|
-
| GitHub Copilot CLI | `copilot` | `copilot --acp` |
|
|
95
|
-
| Devin CLI | `devin` | `devin 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` |
|
|
101
|
-
| Kiro CLI | `kiro` | `kiro-cli acp` |
|
|
102
|
-
|
|
103
|
-
When the direct ACP command is not installed, Compozy can fall back to supported launchers such as `npx --yes @agentclientprotocol/codex-acp`. Codex and Droid default to `gpt-5.6-sol`; GPT-5.6 models and the `max`/`ultra` reasoning levels require `@agentclientprotocol/codex-acp >= 1.1.2`. Update with `npm install -g @agentclientprotocol/codex-acp@latest`. The legacy `@zed-industries/codex-acp` package remains compatible only with older combinations such as GPT-5.5 with reasoning through `xhigh`.
|
|
104
|
-
|
|
105
|
-
Compozy negotiates each runtime from the model, reasoning, and mode options advertised by ACP `session/new` or `session/load`, and applies the resolved configuration before sending the first prompt:
|
|
106
|
-
|
|
107
|
-
- Codex supports `gpt-5.6-sol`, `gpt-5.6-terra`, and `gpt-5.6-luna` when the installed adapter advertises them. The built-in default is `gpt-5.6-sol` with `medium` reasoning.
|
|
108
|
-
- Cursor model names resolve against its ACP catalog. For example, `--model grok-4.5` resolves to the advertised `grok-4.5[effort=high,fast=true]`; the exact ID is also accepted when shell-quoted. Cursor does not receive a separate reasoning option when its ACP session does not advertise one.
|
|
109
|
-
- Claude Fable 5 accepts `--model fable`, `--model fable-5`, or `--model claude-fable-5`. Compozy always selects Claude's `auto` permission mode for Fable, even when `--access-mode full` was requested, so it never sends `bypassPermissions` for that model.
|
|
110
|
-
- Claude's `max` reasoning is an advertised ACP effort value, not a system-prompt instruction. `ultracode` is an interactive Claude Code workflow rather than an ACP reasoning value, so Compozy does not emulate it with a parameter or prompt. If a requested effort such as `ultra` is not advertised by Claude, Compozy stops before the prompt and lists the valid choices.
|
|
89
|
+
The [installation guide](https://compozy.com/runtime/core/getting-started/installation) covers
|
|
90
|
+
installer flags, Linux packages, source builds, verification, and managed updates.
|
|
111
91
|
|
|
112
92
|
## 🔄 How It Works
|
|
113
93
|
|
|
114
94
|
<div align="center">
|
|
115
|
-
<img src="imgs/how-it-works-flow.png" alt="
|
|
95
|
+
<img src="imgs/how-it-works-flow.png" alt="CompozyOS control surfaces, daemon, runtime resources, state, and extension boundaries" width="100%">
|
|
116
96
|
</div>
|
|
117
97
|
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
Task and review issue files use YAML frontmatter for parseable metadata such as `status`, `title`, `type`, `severity`, and `provider_ref`. `compozy sync` now reconciles authored workflow artifacts into the daemon `global.db` catalog and performs one-time cleanup for legacy generated `_meta.md` / `_tasks.md` artifacts when they are encountered. `compozy archive` moves completed workflows only after synced daemon state says they are eligible. If you have an older project with XML-tagged artifacts, run `compozy migrate` once before using daemon-backed workflow commands.
|
|
98
|
+
People and agents send commands through public control surfaces. The home-scoped daemon resolves the
|
|
99
|
+
workspace, applies permissions and runtime policy, coordinates ACP agents, and persists events and
|
|
100
|
+
resource state. Web and streaming clients read that same daemon-owned truth instead of maintaining a
|
|
101
|
+
parallel model.
|
|
123
102
|
|
|
124
103
|
### Daemon Runtime Model
|
|
125
104
|
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
- Independent `compozy tasks run` invocations from different workspaces run concurrently on the shared home-scoped daemon. When another workspace already has an active run, the CLI prints a warning with the busy workspace and run ID before starting the new run.
|
|
131
|
-
- `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.
|
|
132
|
-
- `compozy reviews fetch|list|show|fix` is the canonical review command family.
|
|
105
|
+
`compozy daemon start|status|stop` manages the local daemon. Sessions, tasks, Loop runs, memory,
|
|
106
|
+
automation, tools, and Compozy Network activity keep explicit owners and workspace boundaries. Use
|
|
107
|
+
structured CLI output (`-o json`), HTTP/SSE, UDS, MCP, or native tools when another agent or program
|
|
108
|
+
needs to manage the same resources.
|
|
133
109
|
|
|
134
110
|
### Task Schema v2
|
|
135
111
|
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
---
|
|
140
|
-
status: pending
|
|
141
|
-
title: Add task validation preflight to tasks run
|
|
142
|
-
type: backend
|
|
143
|
-
complexity: medium
|
|
144
|
-
dependencies:
|
|
145
|
-
- task_02
|
|
146
|
-
---
|
|
147
|
-
```
|
|
148
|
-
|
|
149
|
-
Validate task files at any time with `compozy tasks validate --name <feature>`. `compozy tasks run <feature>` runs the same preflight automatically; use `--skip-validation` only when tasks were validated elsewhere, or `--force` to continue after validation failures in non-interactive runs.
|
|
112
|
+
Authored task files remain portable Markdown with typed frontmatter. The v0.3 runtime imports them
|
|
113
|
+
into durable tasks and executes them through Loops; it does not revive the v0.2 `tasks run` pipeline.
|
|
114
|
+
See [Migrate from v0.2.15](MIGRATION_GUIDE.md) for the exact schema and command changes.
|
|
150
115
|
|
|
151
116
|
## ⚙️ Config Files
|
|
152
117
|
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
- If `~/.compozy/config.toml` exists, Compozy loads it once at command startup.
|
|
157
|
-
- If `.compozy/config.toml` exists in the resolved workspace, it overrides the global config field by field.
|
|
158
|
-
- Explicit CLI flags always win over config values.
|
|
159
|
-
|
|
160
|
-
Precedence is:
|
|
161
|
-
|
|
162
|
-
```text
|
|
163
|
-
explicit flags > workspace command section > workspace [defaults] > global command section > global [defaults] > built-in defaults
|
|
164
|
-
```
|
|
118
|
+
Global defaults live in `~/.compozy/config.toml`; a workspace can override supported fields through
|
|
119
|
+
`.compozy/config.toml`. Explicit command flags win over workspace configuration, which wins over
|
|
120
|
+
global configuration and built-in defaults.
|
|
165
121
|
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
ide = "codex"
|
|
171
|
-
model = "gpt-5.6-sol"
|
|
172
|
-
reasoning_effort = "medium"
|
|
173
|
-
access_mode = "full"
|
|
174
|
-
timeout = "10m"
|
|
175
|
-
tail_lines = 0
|
|
176
|
-
add_dirs = ["../shared"]
|
|
177
|
-
auto_commit = false
|
|
178
|
-
max_retries = 2
|
|
179
|
-
retry_backoff_multiplier = 1.5
|
|
180
|
-
|
|
181
|
-
[defaults.by_complexity.low]
|
|
182
|
-
model = "haiku"
|
|
183
|
-
reasoning_effort = "low"
|
|
184
|
-
|
|
185
|
-
[defaults.by_complexity.high]
|
|
186
|
-
reasoning_effort = "high"
|
|
187
|
-
|
|
188
|
-
[tasks]
|
|
189
|
-
types = ["frontend", "backend", "docs", "test", "infra", "refactor", "chore", "bugfix"]
|
|
190
|
-
|
|
191
|
-
[tasks.run]
|
|
192
|
-
include_completed = false
|
|
193
|
-
run_multiple_mode = "enqueued"
|
|
194
|
-
run_multiple_parallel_limit = 2
|
|
195
|
-
|
|
196
|
-
[tasks.run.parallel]
|
|
197
|
-
enabled = false # compatibility field; activation still requires a per-run choice
|
|
198
|
-
max_concurrency = 4
|
|
199
|
-
|
|
200
|
-
[tasks.run.parallel.conflict_resolver]
|
|
201
|
-
ide = "codex"
|
|
202
|
-
model = "gpt-5.6-sol"
|
|
203
|
-
reasoning_effort = "medium"
|
|
204
|
-
max_attempts = 1
|
|
205
|
-
validation_command = []
|
|
206
|
-
|
|
207
|
-
[exec]
|
|
208
|
-
output_format = "text"
|
|
209
|
-
|
|
210
|
-
[recovery]
|
|
211
|
-
enabled = false
|
|
212
|
-
ide = "codex"
|
|
213
|
-
model = "gpt-5.6-sol"
|
|
214
|
-
reasoning_effort = "medium"
|
|
215
|
-
max_attempts = 1
|
|
216
|
-
|
|
217
|
-
[fix_reviews]
|
|
218
|
-
concurrent = 2
|
|
219
|
-
batch_size = 3
|
|
220
|
-
include_resolved = false
|
|
221
|
-
|
|
222
|
-
[fetch_reviews]
|
|
223
|
-
provider = "coderabbit"
|
|
224
|
-
nitpicks = false
|
|
122
|
+
```bash
|
|
123
|
+
compozy config path
|
|
124
|
+
compozy config validate
|
|
125
|
+
compozy config show -o json
|
|
225
126
|
```
|
|
226
127
|
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
- `[defaults.by_complexity.low|medium|high|critical]` for per-task `ide`, `model`, and `reasoning_effort` defaults used by PRD task runs
|
|
231
|
-
- `[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`
|
|
232
|
-
- `[tasks]` for the allowed task `type` list used by `cy-create-tasks` and `compozy tasks validate`
|
|
233
|
-
- `[tasks.run]` for workflow-run defaults used by `compozy tasks run`, such as `include_completed`, `run_multiple_mode`, and `run_multiple_parallel_limit`
|
|
234
|
-
- `[tasks.run.parallel]` for options used after dependency-aware parallel execution is explicitly selected for one PRD task workflow, including `max_concurrency` and the conflict-resolver agent under `[tasks.run.parallel.conflict_resolver]`; `enabled` remains parseable for compatibility but is not authorization to create worktrees
|
|
235
|
-
- `[fix_reviews]` for `concurrent`, `batch_size`, and `include_resolved`
|
|
236
|
-
- `[fetch_reviews]` for `provider` and `nitpicks` (controls CodeRabbit review-body comments; default is enabled when unset)
|
|
237
|
-
- `[recovery]` for agentic recovery defaults used by run-producing commands: `enabled`, `ide`, `model`, `reasoning_effort`, and `max_attempts`
|
|
238
|
-
- `[sound]` for optional run-completion audio presets or absolute file paths
|
|
239
|
-
|
|
240
|
-
Notes:
|
|
241
|
-
|
|
242
|
-
- Both `~/.compozy/config.toml` and `.compozy/config.toml` are optional. If both are absent, Compozy keeps the current built-in defaults.
|
|
243
|
-
- `.compozy/tasks` remains the fixed workflow root in this version; the config file does not change the workflow root path.
|
|
244
|
-
- Unknown keys and invalid value types are rejected during config loading.
|
|
245
|
-
- 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`.
|
|
246
|
-
- Complexity defaults merge field by field from global to workspace config. A missing field falls back to `[defaults]`; matching task-type and task-id runtime rules remain more specific, and explicit `--ide`, `--model`, or `--reasoning-effort` flags override complexity defaults for that invocation.
|
|
247
|
-
- `[tasks.run] run_multiple_mode` controls `tasks run --multiple` scheduling. Valid values are `"enqueued"` and `"parallel"`; when unset, the built-in default is `"enqueued"`.
|
|
248
|
-
- `run_multiple_mode = "parallel"` runs the batch concurrently, with each child in its own isolated git worktree. The CLI `--parallel` flag overrides this config value for a single invocation.
|
|
249
|
-
- `[tasks.run] run_multiple_parallel_limit` caps how many children run at once in parallel mode. It must be a positive integer and defaults to `2`. The CLI `--parallel-limit <n>` flag overrides it for a single invocation. The limit has no effect in enqueued mode, which always runs one child at a time.
|
|
250
|
-
- `[tasks.run.parallel] enabled` does not activate worktree-backed execution by itself. A single-workflow run uses task worktrees only after a per-run choice through `--parallel-tasks=true`, the wizard, or `runtime_overrides.parallel_tasks.enabled=true`; `--parallel-tasks=false` keeps the standard runner. The remaining TOML values configure an explicitly enabled run.
|
|
251
|
-
- `[tasks.run.parallel] max_concurrency` caps concurrent task worktrees within a wave and defaults to `4`. The conflict resolver uses `ide`, `model`, `reasoning_effort`, and `max_attempts` for bounded merge-conflict resolution.
|
|
252
|
-
- `[tasks.run.parallel.conflict_resolver] validation_command` is optional and disabled by default. When set, it is an argv-style command such as `["go", "test", "./..."]`, runs without a shell after conflict markers and unmerged entries are gone, and must not modify the integration worktree. Omit it or set `[]` to rely only on universal git validation.
|
|
253
|
-
- `max_retries` applies to execution-stage ACP failures and inactivity timeouts for `compozy exec`, `compozy tasks run`, and `compozy reviews fix`.
|
|
254
|
-
- Built-in CLI defaults retry timed-out or transient ACP failures twice; set `max_retries = 0` or pass `--max-retries 0` to opt out.
|
|
255
|
-
- `retry_backoff_multiplier` only increases the next attempt timeout; retries restart immediately and do not add a sleep delay.
|
|
256
|
-
- Recovery is disabled by default. When enabled, `max_attempts` is the number of remediation plus restart cycles and must be between `1` and `3`.
|
|
257
|
-
- Recovery config is resolved fresh for each invocation and is not persisted into run or exec metadata. Use `--recovery`, `--no-recovery`, `--recovery-ide`, `--recovery-model`, `--recovery-reasoning`, and `--recovery-max-attempts` to override `[recovery]` for one command.
|
|
128
|
+
Configuration, credentials, and provider-home policies have different owners. Follow the
|
|
129
|
+
[configuration guide](https://compozy.com/runtime/core/configuration/config-toml) instead of copying
|
|
130
|
+
v0.2 state into a v0.3 home.
|
|
258
131
|
|
|
259
132
|
## Reusable Agents
|
|
260
133
|
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
- global: `~/.compozy/agents/<name>/`
|
|
265
|
-
|
|
266
|
-
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.
|
|
267
|
-
|
|
268
|
-
Each agent directory contains:
|
|
269
|
-
|
|
270
|
-
- required `AGENT.md` with YAML frontmatter plus a markdown body
|
|
271
|
-
- optional `mcp.json` using the standard top-level `mcpServers` shape
|
|
272
|
-
|
|
273
|
-
Agent directory names are the canonical agent ids. They must match `^[a-z][a-z0-9-]{0,63}$`, and `compozy` is reserved.
|
|
274
|
-
|
|
275
|
-
Quick start:
|
|
134
|
+
Agent definitions live under `~/.compozy/agents/<name>/` or `.compozy/agents/<name>/`. Each definition
|
|
135
|
+
has an `AGENT.md` and may include an agent-local `mcp.json`. Workspace definitions override global
|
|
136
|
+
definitions as a whole.
|
|
276
137
|
|
|
277
138
|
```bash
|
|
278
|
-
compozy
|
|
279
|
-
compozy
|
|
280
|
-
compozy
|
|
281
|
-
```
|
|
282
|
-
|
|
283
|
-
Runtime precedence for `compozy exec --agent ...` is:
|
|
284
|
-
|
|
285
|
-
```text
|
|
286
|
-
explicit CLI flags > AGENT.md runtime defaults > workspace/global config > built-in defaults
|
|
139
|
+
compozy agent list -o json
|
|
140
|
+
compozy agent inspect general -o json
|
|
141
|
+
compozy session new --workspace current --agent general
|
|
287
142
|
```
|
|
288
143
|
|
|
289
|
-
`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.
|
|
290
|
-
|
|
291
|
-
Use these committed example fixtures as starting points:
|
|
292
|
-
|
|
293
|
-
- [`docs/examples/agents/reviewer/AGENT.md`](docs/examples/agents/reviewer/AGENT.md) for a minimal reusable agent
|
|
294
|
-
- [`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
|
|
295
|
-
|
|
296
|
-
The detailed guide lives in [`docs/reusable-agents.md`](docs/reusable-agents.md).
|
|
297
|
-
|
|
298
144
|
## 🔌 Extensions
|
|
299
145
|
|
|
300
|
-
|
|
146
|
+
Extensions add versioned resources and runtime behavior through declared capabilities. The daemon
|
|
147
|
+
owns discovery, enablement, trust decisions, lifecycle, and hooks; extensions do not bypass public
|
|
148
|
+
runtime contracts.
|
|
301
149
|
|
|
302
150
|
### SDK support
|
|
303
151
|
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
| Go | [`sdk/extension`](sdk/extension/) | `go get github.com/compozy/compozy/sdk/extension` |
|
|
308
|
-
|
|
309
|
-
Scaffold a new extension project with starter templates:
|
|
310
|
-
|
|
311
|
-
```bash
|
|
312
|
-
npx @compozy/create-extension my-ext
|
|
313
|
-
npx @compozy/create-extension my-ext --template prompt-decorator
|
|
314
|
-
npx @compozy/create-extension my-ext --runtime go
|
|
315
|
-
```
|
|
316
|
-
|
|
317
|
-
Available templates: `lifecycle-observer`, `prompt-decorator`, `review-provider`, `skill-pack`.
|
|
152
|
+
The current Go and TypeScript SDK workspaces are version-matched repository internals, not v0.2
|
|
153
|
+
compatibility packages. External v0.2 integrations should stay pinned while they are redesigned for
|
|
154
|
+
the v0.3 extension contract.
|
|
318
155
|
|
|
319
156
|
### Extension CLI
|
|
320
157
|
|
|
321
158
|
```bash
|
|
322
|
-
compozy
|
|
323
|
-
compozy
|
|
324
|
-
compozy
|
|
325
|
-
compozy ext uninstall <name> # remove a user-scoped extension
|
|
326
|
-
compozy ext enable <name> # enable on this machine
|
|
327
|
-
compozy ext disable <name> # disable on this machine
|
|
328
|
-
compozy ext doctor # validate manifests and report health warnings
|
|
159
|
+
compozy extension list -o json
|
|
160
|
+
compozy extension inspect <name> -o json
|
|
161
|
+
compozy extension provenance <name> -o json
|
|
329
162
|
```
|
|
330
163
|
|
|
331
|
-
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.
|
|
332
|
-
|
|
333
164
|
### Learn more
|
|
334
165
|
|
|
335
|
-
- [
|
|
336
|
-
- [
|
|
337
|
-
- [
|
|
338
|
-
- [
|
|
339
|
-
- [Capability reference](.compozy/docs/extensibility/capability-reference.md) -- 19 capability grants
|
|
340
|
-
- [Trust and enablement](.compozy/docs/extensibility/trust-and-enablement.md)
|
|
341
|
-
- [Testing guide](.compozy/docs/extensibility/testing.md)
|
|
342
|
-
|
|
343
|
-
## ⚡ Ad Hoc Exec
|
|
344
|
-
|
|
345
|
-
Use `compozy exec` when you want one prompt through the same ACP-backed execution stack without creating a full workflow first.
|
|
346
|
-
|
|
347
|
-
```bash
|
|
348
|
-
compozy exec "Summarize the current repository changes"
|
|
349
|
-
compozy exec --prompt-file prompt.md
|
|
350
|
-
cat prompt.md | compozy exec --format json
|
|
351
|
-
compozy exec --persist "Review the latest changes"
|
|
352
|
-
compozy exec --run-id exec-20260405-120000-000000000 "Continue from the previous session"
|
|
353
|
-
```
|
|
354
|
-
|
|
355
|
-
Prompt source rules are explicit:
|
|
356
|
-
|
|
357
|
-
- pass one positional prompt for short inline runs
|
|
358
|
-
- use `--prompt-file` for longer or reusable prompts
|
|
359
|
-
- pipe `stdin` only when neither of the above is provided
|
|
360
|
-
- ambiguous combinations are rejected instead of guessed
|
|
361
|
-
|
|
362
|
-
Output modes:
|
|
363
|
-
|
|
364
|
-
- `--format text` is headless by default and writes only the final assistant response to stdout
|
|
365
|
-
- `--format json` streams the lean JSONL contract to stdout and filters ACP metadata that is mostly useful for debugging
|
|
366
|
-
- `--format raw-json` streams the full raw JSONL event trace to stdout
|
|
367
|
-
- when `--persist` is enabled, `~/.compozy/runs/<run-id>/events.jsonl` always stores the full raw event stream regardless of the selected stdout format
|
|
368
|
-
- operational ACP/runtime logs stay silent by default; use `--verbose` when you want lifecycle logs on stderr
|
|
369
|
-
- `--tui` opts back into the Bubble Tea interface for interactive inspection
|
|
370
|
-
- `--persist` stores a resumable conversation under `~/.compozy/runs/<run-id>/`
|
|
371
|
-
- `--run-id` loads a previously persisted ACP session and appends a new turn
|
|
372
|
-
|
|
373
|
-
Persisted `exec` runs use this layout:
|
|
374
|
-
|
|
375
|
-
```text
|
|
376
|
-
~/.compozy/runs/<run-id>/run.db
|
|
377
|
-
~/.compozy/runs/<run-id>/run.json
|
|
378
|
-
~/.compozy/runs/<run-id>/events.jsonl
|
|
379
|
-
~/.compozy/runs/<run-id>/turns/0001/prompt.md
|
|
380
|
-
~/.compozy/runs/<run-id>/turns/0001/response.txt
|
|
381
|
-
~/.compozy/runs/<run-id>/turns/0001/result.json
|
|
382
|
-
```
|
|
383
|
-
|
|
384
|
-
`compozy exec` uses the same config merge rule as the rest of the CLI: `flags > workspace [exec] > workspace [defaults] > global [exec] > global [defaults] > built-in defaults`.
|
|
166
|
+
- [Extensions](https://compozy.com/runtime/core/extensions)
|
|
167
|
+
- [Capabilities and bundles](https://compozy.com/runtime)
|
|
168
|
+
- [Official Compozy skill](skills/compozy/)
|
|
169
|
+
- [Migration guide](MIGRATION_GUIDE.md)
|
|
385
170
|
|
|
386
171
|
## 🚀 Quick Start
|
|
387
172
|
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
### 1. Install skills
|
|
173
|
+
Bootstrap the home, start the daemon, register the repository you want agents to work in, and create
|
|
174
|
+
one durable session:
|
|
391
175
|
|
|
392
176
|
```bash
|
|
393
|
-
compozy
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
`compozy tasks run` and `compozy reviews fix` 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.
|
|
398
|
-
|
|
399
|
-
### 2. (Optional) Create an Issue
|
|
400
|
-
|
|
401
|
-
Inside your AI agent (Claude Code, Codex, Cursor, OpenCode, Pi, etc.):
|
|
402
|
-
|
|
403
|
-
```bash
|
|
404
|
-
compozy ext install --yes compozy/compozy --remote github --ref <tag> --subdir extensions/cy-idea-factory
|
|
405
|
-
compozy ext enable cy-idea-factory
|
|
406
|
-
compozy setup
|
|
407
|
-
```
|
|
408
|
-
|
|
409
|
-
Then:
|
|
410
|
-
|
|
411
|
-
```
|
|
412
|
-
/cy-idea-factory user-auth
|
|
413
|
-
```
|
|
414
|
-
|
|
415
|
-
Transforms a raw idea into a structured idea spec — asks targeted questions, researches market and codebase in parallel, runs business analysis and council debate, suggests high-leverage alternatives, and produces a research-backed idea. Skip this step if you already have a clear feature scope.
|
|
416
|
-
|
|
417
|
-
### 3. Create a PRD
|
|
418
|
-
|
|
419
|
-
```
|
|
420
|
-
/cy-create-prd user-auth
|
|
421
|
-
```
|
|
422
|
-
|
|
423
|
-
Interactive brainstorming session — reads the idea if one exists, asks clarifying questions, spawns parallel agents to research your codebase and the web, produces a business-focused PRD with ADRs.
|
|
424
|
-
|
|
425
|
-
### 4. Create a TechSpec
|
|
426
|
-
|
|
427
|
-
```
|
|
428
|
-
/cy-create-techspec user-auth
|
|
429
|
-
```
|
|
430
|
-
|
|
431
|
-
Reads your PRD, explores the codebase architecture, asks technical clarification questions. Produces architecture specs, API designs, and data models.
|
|
432
|
-
|
|
433
|
-
### 5. Break down into tasks
|
|
434
|
-
|
|
435
|
-
```
|
|
436
|
-
/cy-create-tasks user-auth
|
|
437
|
-
```
|
|
438
|
-
|
|
439
|
-
Analyzes both documents, explores your codebase for relevant files and patterns, produces individually executable task files with status tracking, context, and acceptance criteria.
|
|
440
|
-
Generated task files use task schema v2 (`status`, `title`, `type`, `complexity`, `dependencies`). Validate them any time with `compozy tasks validate --name user-auth`.
|
|
441
|
-
|
|
442
|
-
### 6. Execute tasks
|
|
443
|
-
|
|
444
|
-
```bash
|
|
445
|
-
compozy tasks run user-auth --ide claude
|
|
446
|
-
compozy tasks run user-auth --parallel-tasks
|
|
447
|
-
compozy tasks run --multiple user-auth,cleanup --ide claude
|
|
448
|
-
compozy tasks run --multiple user-auth,cleanup --parallel --parallel-limit 2
|
|
449
|
-
```
|
|
450
|
-
|
|
451
|
-
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.
|
|
452
|
-
`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.
|
|
453
|
-
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. Add `--parallel` to run independent workflows concurrently in isolated git worktrees instead of one at a time.
|
|
454
|
-
|
|
455
|
-
### 7. Review
|
|
456
|
-
|
|
457
|
-
**Option A** — AI-powered review inside your agent:
|
|
458
|
-
|
|
459
|
-
```
|
|
460
|
-
/cy-review-round user-auth
|
|
461
|
-
```
|
|
462
|
-
|
|
463
|
-
**Option B** — Fetch from an external provider:
|
|
464
|
-
|
|
465
|
-
```bash
|
|
466
|
-
compozy reviews fetch user-auth --provider coderabbit --pr 42
|
|
467
|
-
```
|
|
468
|
-
|
|
469
|
-
Both produce the same output: `.compozy/tasks/user-auth/reviews-001/issue_*.md`
|
|
470
|
-
|
|
471
|
-
### 8. Fix review issues
|
|
472
|
-
|
|
473
|
-
```bash
|
|
474
|
-
compozy reviews fix user-auth --ide claude --concurrent 2 --batch-size 3
|
|
177
|
+
compozy install
|
|
178
|
+
compozy daemon start
|
|
179
|
+
compozy workspace add "$PWD" --name current
|
|
180
|
+
compozy session new --workspace current --agent general
|
|
475
181
|
```
|
|
476
182
|
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
### 9. Iterate and ship
|
|
480
|
-
|
|
481
|
-
Repeat steps 7–8. Each cycle creates a new review round (`reviews-002/`, `reviews-003/`), preserving full history. When clean — merge and ship.
|
|
183
|
+
The [Quick Start](https://compozy.com/runtime/core/getting-started/quick-start) continues through the
|
|
184
|
+
first prompt, inspection, and stop/resume flow.
|
|
482
185
|
|
|
483
186
|
## 🧩 Skills
|
|
484
187
|
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
| Skill | Purpose |
|
|
488
|
-
| -------------------- | -------------------------------------------------------------------------- |
|
|
489
|
-
| `cy-create-prd` | Idea → Product Requirements Document with ADRs |
|
|
490
|
-
| `cy-create-techspec` | PRD → Technical Specification with architecture exploration |
|
|
491
|
-
| `cy-create-tasks` | PRD + TechSpec → Independently implementable task files |
|
|
492
|
-
| `cy-execute-task` | Executes one task end-to-end: implement, validate, track, commit |
|
|
493
|
-
| `cy-workflow-memory` | Maintains cross-task context so agents pick up where the last one left off |
|
|
494
|
-
| `cy-review-round` | Comprehensive code review → structured issue files |
|
|
495
|
-
| `cy-fix-reviews` | Triage, fix, verify, and resolve review issues |
|
|
496
|
-
| `cy-final-verify` | Enforces verification evidence before any completion claim |
|
|
497
|
-
|
|
498
|
-
Optional first-party extension skills:
|
|
499
|
-
|
|
500
|
-
| Skill | Purpose |
|
|
501
|
-
| ----------------- | ------------------------------------------------------------------------------------------- |
|
|
502
|
-
| `cy-idea-factory` | Raw idea → structured idea spec with market research, business analysis, and council debate |
|
|
503
|
-
|
|
504
|
-
Install the optional ideation extension with:
|
|
188
|
+
Skills are daemon-discovered resources with explicit source and scope. Use the structured skill and
|
|
189
|
+
marketplace surfaces to inspect what is active instead of copying v0.2 setup directories forward.
|
|
505
190
|
|
|
506
191
|
```bash
|
|
507
|
-
compozy
|
|
508
|
-
compozy
|
|
509
|
-
compozy
|
|
192
|
+
compozy skill list -o json
|
|
193
|
+
compozy skill inspect <name> -o json
|
|
194
|
+
compozy marketplace search --kind skill --query <term> -o json
|
|
510
195
|
```
|
|
511
196
|
|
|
512
197
|
### 🧠 Workflow Memory
|
|
513
198
|
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
| File | Scope | What goes here |
|
|
519
|
-
| ------------ | ------------------ | ------------------------------------------------------------------------------- |
|
|
520
|
-
| `MEMORY.md` | Cross-task, shared | Architecture decisions, discovered patterns, open risks, handoffs between tasks |
|
|
521
|
-
| `task_01.md` | Single task | Objective snapshot, files touched, errors hit, what's ready for the next run |
|
|
522
|
-
|
|
523
|
-
**How it works:**
|
|
524
|
-
|
|
525
|
-
1. Before a task runs, Compozy creates the memory directory and scaffolds both files with section templates if they don't exist yet.
|
|
526
|
-
2. The agent reads both memory files before writing any code — treating them as mandatory context, not optional notes.
|
|
527
|
-
3. During execution, the agent keeps task memory current: decisions, learnings, errors, and corrections.
|
|
528
|
-
4. Only durable, cross-task context gets promoted to shared memory. Task-local details stay in the task file.
|
|
529
|
-
5. Before completion, the agent updates memory with anything that helps the next run start faster.
|
|
530
|
-
|
|
531
|
-
**Automatic compaction.** Memory files have soft limits (150 lines / 12 KB for shared, 200 lines / 16 KB per task). When a file exceeds its threshold, Compozy flags it for compaction — the agent trims noise and repetition while preserving active risks, decisions, and handoffs.
|
|
532
|
-
|
|
533
|
-
**No duplication.** Memory files don't copy what's already in the repo, git history, PRD, or task specs. They capture only what would otherwise be lost between runs: the _why_ behind decisions, surprising findings, and context that makes the next agent immediately productive.
|
|
534
|
-
|
|
535
|
-
The `cy-workflow-memory` skill handles all of this automatically when referenced in task prompts. No manual setup required — run `compozy tasks run <workflow>` and agents inherit context from every previous run.
|
|
199
|
+
Durable memory is scoped and daemon-owned. Agents can inspect, propose, and consolidate memory through
|
|
200
|
+
the same public contracts as people. The v0.2 workflow-memory files remain ordinary repository
|
|
201
|
+
artifacts; they are not imported as hidden runtime state.
|
|
536
202
|
|
|
537
203
|
### 🤖 Supported Agents
|
|
538
204
|
|
|
539
|
-
|
|
540
|
-
|
|
541
|
-
|
|
542
|
-
|
|
543
|
-
| Claude Code | `claude` |
|
|
544
|
-
| Codex | `codex` |
|
|
545
|
-
| GitHub Copilot | `copilot` |
|
|
546
|
-
| Devin CLI | `devin` |
|
|
547
|
-
| Cursor | `cursor-agent` |
|
|
548
|
-
| Droid | `droid` |
|
|
549
|
-
| OpenCode | `opencode` |
|
|
550
|
-
| Pi | `pi` |
|
|
551
|
-
| Gemini | `gemini` |
|
|
552
|
-
|
|
553
|
-
**Skill installation** (`compozy setup`) — 40+ agents and editors, including Claude Code, Codex, Cursor, Devin CLI, 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.
|
|
554
|
-
|
|
555
|
-
When installing to multiple agents, Compozy offers two modes:
|
|
556
|
-
|
|
557
|
-
- **Symlink** _(default)_ — One canonical copy with symlinks from each agent directory. All agents stay in sync.
|
|
558
|
-
- **Copy** — Independent copies per agent. Use `--copy` when symlinks are not supported.
|
|
205
|
+
Compozy runs ACP-compatible agent CLIs and adapters. The active provider catalog and each agent's
|
|
206
|
+
runtime settings are runtime truth; inspect them before selecting a model or reasoning mode. See the
|
|
207
|
+
[provider guide](https://compozy.com/runtime/core/agents/providers) for authentication and
|
|
208
|
+
provider-home policies.
|
|
559
209
|
|
|
560
210
|
## 📖 CLI Reference
|
|
561
211
|
|
|
562
|
-
|
|
563
|
-
|
|
564
|
-
|
|
565
|
-
```bash
|
|
566
|
-
compozy setup [flags]
|
|
567
|
-
```
|
|
568
|
-
|
|
569
|
-
| Flag | Default | Description |
|
|
570
|
-
| ---------------- | ------- | ---------------------------------------------------------------- |
|
|
571
|
-
| `--agent`, `-a` | | Target agent name (repeatable) |
|
|
572
|
-
| `--skill`, `-s` | | Skill name to install (repeatable) |
|
|
573
|
-
| `--global`, `-g` | `false` | Install to user directory instead of project |
|
|
574
|
-
| `--copy` | `false` | Copy files instead of symlinking |
|
|
575
|
-
| `--list`, `-l` | `false` | List core skills and enabled extension assets without installing |
|
|
576
|
-
| `--yes`, `-y` | `false` | Skip confirmation prompts |
|
|
577
|
-
| `--all` | `false` | Install all skills to all agents |
|
|
578
|
-
|
|
579
|
-
</details>
|
|
580
|
-
|
|
581
|
-
<details>
|
|
582
|
-
<summary><code>compozy migrate</code> — Convert legacy XML-tagged artifacts to frontmatter</summary>
|
|
583
|
-
|
|
584
|
-
```bash
|
|
585
|
-
compozy migrate [flags]
|
|
586
|
-
```
|
|
587
|
-
|
|
588
|
-
| Flag | Default | Description |
|
|
589
|
-
| --------------- | ---------------- | ------------------------------------------------- |
|
|
590
|
-
| `--root-dir` | `.compozy/tasks` | Workflow root to scan recursively |
|
|
591
|
-
| `--name` | | Restrict migration to one workflow name |
|
|
592
|
-
| `--tasks-dir` | | Restrict migration to one task workflow directory |
|
|
593
|
-
| `--reviews-dir` | | Restrict migration to one review round directory |
|
|
594
|
-
| `--dry-run` | `false` | Preview migrations without writing files |
|
|
595
|
-
|
|
596
|
-
</details>
|
|
597
|
-
|
|
598
|
-
<details>
|
|
599
|
-
<summary><code>compozy sync</code> — Reconcile workflow artifacts into daemon state</summary>
|
|
600
|
-
|
|
601
|
-
```bash
|
|
602
|
-
compozy sync [flags]
|
|
603
|
-
```
|
|
604
|
-
|
|
605
|
-
| Flag | Default | Description |
|
|
606
|
-
| ------------- | ---------------- | -------------------------------------------- |
|
|
607
|
-
| `--root-dir` | `.compozy/tasks` | Workflow root to scan |
|
|
608
|
-
| `--name` | | Restrict sync to one workflow name |
|
|
609
|
-
| `--tasks-dir` | | Restrict sync to one task workflow directory |
|
|
610
|
-
|
|
611
|
-
</details>
|
|
612
|
-
|
|
613
|
-
<details>
|
|
614
|
-
<summary><code>compozy daemon</code> — Manage the shared home-scoped daemon</summary>
|
|
615
|
-
|
|
616
|
-
```bash
|
|
617
|
-
compozy daemon start
|
|
618
|
-
compozy daemon status
|
|
619
|
-
compozy daemon stop [--force]
|
|
620
|
-
```
|
|
621
|
-
|
|
622
|
-
Use `daemon start` for an explicit bootstrap, `daemon status` for health and transport info, and `daemon stop` for graceful shutdown. Most workflow commands auto-start the daemon for you.
|
|
623
|
-
|
|
624
|
-
</details>
|
|
625
|
-
|
|
626
|
-
<details>
|
|
627
|
-
<summary><code>compozy workspaces</code> — Manage daemon workspace registrations</summary>
|
|
628
|
-
|
|
629
|
-
```bash
|
|
630
|
-
compozy workspaces list [--format text|json]
|
|
631
|
-
compozy workspaces show <id-or-path> [--format text|json]
|
|
632
|
-
compozy workspaces register <path> [--name display-name] [--format text|json]
|
|
633
|
-
compozy workspaces unregister <id-or-path> [--format text|json]
|
|
634
|
-
compozy workspaces resolve <path> [--format text|json]
|
|
635
|
-
```
|
|
636
|
-
|
|
637
|
-
The daemon lazily registers workspaces on first use, but the `workspaces` family gives operators explicit control over the registry.
|
|
638
|
-
|
|
639
|
-
</details>
|
|
640
|
-
|
|
641
|
-
<details>
|
|
642
|
-
<summary><code>compozy tasks validate</code> — Validate task metadata before execution</summary>
|
|
643
|
-
|
|
644
|
-
```bash
|
|
645
|
-
compozy tasks validate [--name my-feature | --tasks-dir .compozy/tasks/my-feature] [--format text|json]
|
|
646
|
-
```
|
|
647
|
-
|
|
648
|
-
Use `tasks validate` to check every `task_*.md` file in a workflow directory against the v2 task metadata schema before you run `tasks run`.
|
|
649
|
-
|
|
650
|
-
</details>
|
|
651
|
-
|
|
652
|
-
<details>
|
|
653
|
-
<summary><code>compozy tasks run</code> — Start one daemon-backed workflow run</summary>
|
|
654
|
-
|
|
655
|
-
```bash
|
|
656
|
-
compozy tasks run <slug> [flags]
|
|
657
|
-
```
|
|
658
|
-
|
|
659
|
-
The CLI resolves workspace defaults locally, validates the task metadata, auto-starts the daemon when needed, and then starts the workflow through the daemon transport.
|
|
660
|
-
|
|
661
|
-
| Flag | Default | Description |
|
|
662
|
-
| ------------------------- | ------------- | ------------------------------------------------------------------------------------------------ |
|
|
663
|
-
| `--name` | | Workflow slug (defaults to the positional slug) |
|
|
664
|
-
| `--multiple` | | Comma-separated workflow slugs to run through one daemon-owned parent queue |
|
|
665
|
-
| `--parallel` | `false` | Run `--multiple` workflows concurrently in isolated git worktrees (valid only with `--multiple`) |
|
|
666
|
-
| `--parallel-limit` | `2` | Max children started at once in `--parallel` mode; must be `> 0` (valid only with `--multiple`) |
|
|
667
|
-
| `--parallel-tasks` | `false` | Use per-task worktrees plus an integration branch for dependency-aware waves |
|
|
668
|
-
| `--include-completed` | `false` | Re-run completed tasks |
|
|
669
|
-
| `--recursive`, `-r` | `false` | Discover `task_NNN.md` files in nested subdirectories of the workflow root |
|
|
670
|
-
| `--skip-validation` | `false` | Skip task metadata preflight; use only when validation already ran elsewhere |
|
|
671
|
-
| `--force` | `false` | Continue after task metadata validation fails in non-interactive mode |
|
|
672
|
-
| `--attach` | `auto` | Attach mode: `auto`, `ui`, `stream`, or `detach` |
|
|
673
|
-
| `--ui` | `false` | Force interactive TUI attach mode |
|
|
674
|
-
| `--stream` | `false` | Force textual stream attach mode |
|
|
675
|
-
| `--detach` | `false` | Start the run without attaching a client |
|
|
676
|
-
| `--task-runtime` | | Per-task runtime override rule (`type=...`, `id=...`, `ide=...`, `model=...`, etc.) |
|
|
677
|
-
| `--recovery` | `false` | Enable agentic recovery for failed runs |
|
|
678
|
-
| `--no-recovery` | `false` | Disable agentic recovery for this invocation |
|
|
679
|
-
| `--recovery-ide` | `codex` | Runtime used by the recovery agent |
|
|
680
|
-
| `--recovery-model` | `gpt-5.6-sol` | Model used by the recovery agent |
|
|
681
|
-
| `--recovery-reasoning` | `medium` | Recovery agent reasoning effort: `low`, `medium`, `high`, `xhigh`, `max`, or `ultra` |
|
|
682
|
-
| `--recovery-max-attempts` | `1` | Recovery remediation plus restart cycles; must be between `1` and `3` |
|
|
683
|
-
|
|
684
|
-
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.
|
|
685
|
-
|
|
686
|
-
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.
|
|
687
|
-
|
|
688
|
-
For one workflow, `--parallel-tasks` is the explicit per-run choice to execute pending task files in dependency waves using isolated task worktrees and a dedicated integration branch, bounded by `[tasks.run.parallel] max_concurrency`:
|
|
689
|
-
|
|
690
|
-
```bash
|
|
691
|
-
compozy tasks run my-feature --parallel-tasks
|
|
692
|
-
```
|
|
693
|
-
|
|
694
|
-
The `--multiple` flag takes one comma-separated slug list:
|
|
695
|
-
|
|
696
|
-
```bash
|
|
697
|
-
compozy tasks run --multiple alpha,beta --ide codex --model gpt-5.6-sol
|
|
698
|
-
compozy tasks run --multiple alpha,beta --stream
|
|
699
|
-
compozy tasks run --multiple alpha,beta --detach
|
|
700
|
-
```
|
|
701
|
-
|
|
702
|
-
Scheduling is controlled by the `--parallel`/`--parallel-limit` flags or by `.compozy/config.toml` / `~/.compozy/config.toml`:
|
|
703
|
-
|
|
704
|
-
```toml
|
|
705
|
-
[tasks.run]
|
|
706
|
-
run_multiple_mode = "enqueued" # "enqueued" (default) or "parallel"
|
|
707
|
-
run_multiple_parallel_limit = 2 # max concurrent children in parallel mode
|
|
708
|
-
```
|
|
709
|
-
|
|
710
|
-
`"enqueued"` (the default) runs one child workflow at a time in the requested order. `"parallel"` runs independent children concurrently, each in its own isolated git worktree, bounded by the parallel limit:
|
|
711
|
-
|
|
712
|
-
```bash
|
|
713
|
-
compozy tasks run --multiple alpha,beta --parallel
|
|
714
|
-
compozy tasks run --multiple alpha,beta --parallel --parallel-limit 3
|
|
715
|
-
```
|
|
716
|
-
|
|
717
|
-
Resolution precedence:
|
|
718
|
-
|
|
719
|
-
- Mode: `--parallel` flag > `run_multiple_mode` config > `enqueued` default.
|
|
720
|
-
- Limit: `--parallel-limit <n>` flag > `run_multiple_parallel_limit` config > `2` default.
|
|
721
|
-
|
|
722
|
-
Before starting, the CLI prints the resolved execution kind, whether it uses
|
|
723
|
-
worktrees, and the source of the choice (explicit flag, workspace config, or
|
|
724
|
-
built-in default). The interactive wizard always presents an exclusive choice
|
|
725
|
-
between **Serial queue (no worktrees)** and **Parallel workflows (git
|
|
726
|
-
worktrees)** when multiple workflows are selected, and repeats it on the review
|
|
727
|
-
screen.
|
|
728
|
-
|
|
729
|
-
`--parallel` and `--parallel-limit` are valid only with `--multiple`, and the limit must be a positive integer; invalid combinations are rejected before the daemon is contacted.
|
|
730
|
-
|
|
731
|
-
**Worktree isolation.** In parallel mode the parent workspace must be on a named git branch. Compozy resolves the current branch and `HEAD` once, then creates one named-result git worktree per child under `~/.compozy/state/worktrees/`. Each child runs with its workspace root and task directory remapped into that worktree, so concurrent agents get isolated working trees, indexes, and `HEAD`s while sharing the repository object store. Worktrees do **not** isolate shared runtime resources such as ports, credentials, provider rate limits, caches, or external services — treat parallel batches as genuinely independent tasks.
|
|
732
|
-
|
|
733
|
-
**Safe cleanup and result branches.** Multi-spec output is never merged automatically into the user's branch. Each child receives a deterministic `compozy/multi-*` result branch. After settlement, a clean worktree can be removed while its committed output remains on that branch; an empty result branch is deleted when it still points at the base. Dirty trees or output without a proven retention point remain `preserved` with an explicit reason. `compozy runs purge` applies the same ownership, dirty-tree, and commit-retention checks before deleting old run metadata.
|
|
734
|
-
|
|
735
|
-
Within one workflow, successful dependency-wave output is squash-merged into a temporary integration branch and fast-forwarded only if every required task succeeds. Task worktrees are removed after that output is retained. On failure, the user's branch is unchanged; partial output and unsafe trees are preserved with reasons for inspection.
|
|
736
|
-
|
|
737
|
-
**Fail-late aggregation.** A child failure does not cancel its siblings. The parent reaches a terminal status only after every started child settles: `completed` when all children complete, or `failed` when any child fails, crashes, or cannot start (the parent error names the failed slugs). Canceling the parent cancels running children and marks not-started children canceled. In non-TUI runs the parent command exits non-zero when the aggregate status is failed, canceled, or crashed.
|
|
738
|
-
|
|
739
|
-
**Handoff output.** After the queue settles, `--stream` runs (and the UI-settled fallback) print a final handoff that lists each child in requested order, including the retained result branch and any worktree preserved for inspection:
|
|
740
|
-
|
|
741
|
-
```text
|
|
742
|
-
task multi-run handoff:
|
|
743
|
-
alpha completed | run=child-alpha | worktree=~/.compozy/state/worktrees/<ws>/<parent>/01-alpha | result_branch=compozy/multi-...-01-alpha | worktree_status=removed
|
|
744
|
-
beta failed | run=child-beta | worktree=~/.compozy/state/worktrees/<ws>/<parent>/02-beta | worktree_status=preserved | worktree_reason=uncommitted changes | boom
|
|
745
|
-
```
|
|
746
|
-
|
|
747
|
-
Missing run ids or worktree metadata render as `-`. Streamed child events carry the path, lifecycle status, reason, and result branch when known; the TUI shows the same handoff metadata for the selected child.
|
|
748
|
-
|
|
749
|
-
Cross-workspace runs are different from `--multiple` scheduling: the home-scoped daemon accepts separate `compozy tasks run` invocations from different workspaces concurrently and does not queue or reject the second run. Before starting a non-dry-run task workflow, the CLI checks daemon status; if active runs belong to another registered workspace, it warns with the busy workspace name/path and run ID, then proceeds. The warning is skipped when the daemon is idle, when the active run belongs to the same workspace, or when `--dry-run` is set.
|
|
750
|
-
|
|
751
|
-
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.
|
|
752
|
-
|
|
753
|
-
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, `--name`, or `--parallel-tasks`.
|
|
754
|
-
|
|
755
|
-
</details>
|
|
756
|
-
|
|
757
|
-
<details>
|
|
758
|
-
<summary><code>compozy reviews</code> — Inspect and remediate review workflows</summary>
|
|
212
|
+
The generated [CLI reference](https://compozy.com/runtime/cli-reference) is authoritative for verbs,
|
|
213
|
+
flags, structured output, and exit behavior. Start with:
|
|
759
214
|
|
|
760
215
|
```bash
|
|
761
|
-
compozy
|
|
762
|
-
compozy
|
|
763
|
-
compozy
|
|
764
|
-
compozy reviews fix <slug> [flags]
|
|
216
|
+
compozy --help
|
|
217
|
+
compozy version
|
|
218
|
+
compozy doctor -o json
|
|
765
219
|
```
|
|
766
220
|
|
|
767
|
-
|
|
221
|
+
## Documentation
|
|
768
222
|
|
|
769
|
-
|
|
223
|
+
- [Runtime overview](https://compozy.com/runtime)
|
|
224
|
+
- [Installation](https://compozy.com/runtime/core/getting-started/installation)
|
|
225
|
+
- [Quick Start](https://compozy.com/runtime/core/getting-started/quick-start)
|
|
226
|
+
- [Migrate from v0.2.15](MIGRATION_GUIDE.md)
|
|
227
|
+
- [CLI reference](https://compozy.com/runtime/cli-reference)
|
|
228
|
+
- [Compozy Network protocol](https://compozy.com/protocol)
|
|
229
|
+
- [GitHub releases](https://github.com/compozy/compozy/releases)
|
|
770
230
|
|
|
771
|
-
|
|
772
|
-
<summary><code>compozy runs</code> — Reattach, observe, and clean daemon-managed runs</summary>
|
|
773
|
-
|
|
774
|
-
```bash
|
|
775
|
-
compozy runs attach <run-id>
|
|
776
|
-
compozy runs watch <run-id>
|
|
777
|
-
compozy runs purge
|
|
778
|
-
```
|
|
779
|
-
|
|
780
|
-
Use `runs attach` to restore the interactive TUI for an existing run, `runs watch` for textual streaming observation, and `runs purge` to delete terminal run artifacts according to the configured retention policy. Purge also removes clean Compozy-owned preserved worktrees recorded by terminal run events under `~/.compozy/state/worktrees/`; it ignores paths outside that root and stops before deleting run metadata if a task worktree is dirty.
|
|
781
|
-
|
|
782
|
-
</details>
|
|
783
|
-
|
|
784
|
-
<details>
|
|
785
|
-
<summary><code>compozy archive</code> — Move fully completed workflows into the archive root</summary>
|
|
786
|
-
|
|
787
|
-
```bash
|
|
788
|
-
compozy archive [flags]
|
|
789
|
-
```
|
|
790
|
-
|
|
791
|
-
| Flag | Default | Description |
|
|
792
|
-
| ------------- | ---------------- | ------------------------------------------------- |
|
|
793
|
-
| `--root-dir` | `.compozy/tasks` | Workflow root to scan |
|
|
794
|
-
| `--name` | | Restrict archiving to one workflow name |
|
|
795
|
-
| `--tasks-dir` | | Restrict archiving to one task workflow directory |
|
|
796
|
-
|
|
797
|
-
</details>
|
|
798
|
-
|
|
799
|
-
<details>
|
|
800
|
-
<summary><code>compozy exec</code> — Execute one ad hoc prompt</summary>
|
|
801
|
-
|
|
802
|
-
```bash
|
|
803
|
-
compozy exec [prompt] [flags]
|
|
804
|
-
```
|
|
805
|
-
|
|
806
|
-
Provide exactly one prompt source: a positional prompt, `--prompt-file`, or `stdin`. When present, `~/.compozy/config.toml` and `.compozy/config.toml` can provide exec defaults through `[exec]` and shared runtime defaults through `[defaults]`.
|
|
807
|
-
|
|
808
|
-
`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.
|
|
809
|
-
|
|
810
|
-
| Flag | Default | Description |
|
|
811
|
-
| ---------------------------- | ------------- | ------------------------------------------------------------------------------------------ |
|
|
812
|
-
| `--ide` | `codex` | Runtime: `claude`, `codex`, `copilot`, `cursor-agent`, `droid`, `gemini`, `opencode`, `pi` |
|
|
813
|
-
| `--model` | _(per IDE)_ | Model override |
|
|
814
|
-
| `--agent` | | Reusable agent to execute from `.compozy/agents/` or `~/.compozy/agents/` |
|
|
815
|
-
| `--prompt-file` | | Read prompt text from a file |
|
|
816
|
-
| `--format` | `text` | Output contract: `text`, `json`, or `raw-json` |
|
|
817
|
-
| `--reasoning-effort` | `medium` | `low`, `medium`, `high`, `xhigh`, `max`, `ultra` |
|
|
818
|
-
| `--access-mode` | `full` | `default` or `full` runtime access policy |
|
|
819
|
-
| `--timeout` | `10m` | Activity timeout per job |
|
|
820
|
-
| `--recovery` | `false` | Enable agentic recovery for failed exec runs |
|
|
821
|
-
| `--no-recovery` | `false` | Disable agentic recovery for this invocation |
|
|
822
|
-
| `--recovery-ide` | `codex` | Runtime used by the recovery agent |
|
|
823
|
-
| `--recovery-model` | `gpt-5.6-sol` | Model used by the recovery agent |
|
|
824
|
-
| `--recovery-reasoning` | `medium` | Recovery agent reasoning effort: `low`, `medium`, `high`, `xhigh`, `max`, or `ultra` |
|
|
825
|
-
| `--recovery-max-attempts` | `1` | Recovery remediation plus restart cycles; must be between `1` and `3` |
|
|
826
|
-
| `--max-retries` | `2` | Retry execution-stage ACP failures or timeouts N times |
|
|
827
|
-
| `--retry-backoff-multiplier` | `1.5` | Multiplier applied to the next timeout after each retry |
|
|
828
|
-
| `--tail-lines` | `0` | Maximum log lines retained per job in UI (`0` = full history) |
|
|
829
|
-
| `--add-dir` | | Additional directories to allow (repeatable; currently `claude` and `codex` only) |
|
|
830
|
-
| `--auto-commit` | `false` | Include automatic commit instructions when the prompt asks for code changes |
|
|
831
|
-
| `--verbose` | `false` | Emit operational runtime logs to stderr during exec |
|
|
832
|
-
| `--tui` | `false` | Open the interactive TUI instead of headless stdout output |
|
|
833
|
-
| `--persist` | `false` | Persist exec artifacts under `~/.compozy/runs/<run-id>/` |
|
|
834
|
-
| `--run-id` | | Resume a previously persisted exec session by run id |
|
|
835
|
-
| `--dry-run` | `false` | Preview prompts without executing |
|
|
836
|
-
|
|
837
|
-
</details>
|
|
838
|
-
|
|
839
|
-
<details>
|
|
840
|
-
<summary><code>compozy agents</code> — Discover and inspect reusable agents</summary>
|
|
841
|
-
|
|
842
|
-
```bash
|
|
843
|
-
compozy agents list
|
|
844
|
-
compozy agents inspect <name>
|
|
845
|
-
```
|
|
846
|
-
|
|
847
|
-
`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.
|
|
231
|
+
## 🛠️ Development
|
|
848
232
|
|
|
849
|
-
|
|
233
|
+
CompozyOS is a Go and Bun monorepo. Start the daemon with automatic Go rebuilds and the web UI with
|
|
234
|
+
Vite HMR:
|
|
850
235
|
|
|
851
236
|
```bash
|
|
852
|
-
|
|
853
|
-
compozy agents inspect reviewer
|
|
854
|
-
compozy agents inspect repo-copilot
|
|
237
|
+
make dev
|
|
855
238
|
```
|
|
856
239
|
|
|
857
|
-
|
|
858
|
-
|
|
859
|
-
<details>
|
|
860
|
-
<summary><code>compozy ext</code> — Manage executable extensions</summary>
|
|
240
|
+
Run the full repository gate once the change is ready:
|
|
861
241
|
|
|
862
242
|
```bash
|
|
863
|
-
|
|
864
|
-
```
|
|
865
|
-
|
|
866
|
-
| Subcommand | Description |
|
|
867
|
-
| ---------------------- | -------------------------------------------------- |
|
|
868
|
-
| `ext list` | List discovered extensions across all scopes |
|
|
869
|
-
| `ext inspect <name>` | Show manifest, capabilities, and enablement status |
|
|
870
|
-
| `ext install <path>` | Install an extension into the user scope |
|
|
871
|
-
| `ext uninstall <name>` | Remove a user-scoped extension |
|
|
872
|
-
| `ext enable <name>` | Enable an extension on this machine |
|
|
873
|
-
| `ext disable <name>` | Disable an extension on this machine |
|
|
874
|
-
| `ext doctor` | Validate manifests and report health warnings |
|
|
875
|
-
|
|
876
|
-
</details>
|
|
877
|
-
|
|
878
|
-
<details>
|
|
879
|
-
<summary><strong>Go Package Usage</strong> — Use Compozy as a library in your own tools</summary>
|
|
880
|
-
|
|
881
|
-
```go
|
|
882
|
-
// Prepare work without executing
|
|
883
|
-
prep, err := compozy.Prepare(context.Background(), compozy.Config{
|
|
884
|
-
Name: "multi-repo",
|
|
885
|
-
TasksDir: ".compozy/tasks/multi-repo",
|
|
886
|
-
Mode: compozy.ModePRDTasks,
|
|
887
|
-
DryRun: true,
|
|
888
|
-
})
|
|
889
|
-
|
|
890
|
-
// Fetch reviews and run remediation
|
|
891
|
-
_, _ = compozy.FetchReviews(context.Background(), compozy.Config{
|
|
892
|
-
Name: "my-feature",
|
|
893
|
-
Provider: "coderabbit",
|
|
894
|
-
PR: "259",
|
|
895
|
-
})
|
|
896
|
-
|
|
897
|
-
// Preview a legacy artifact migration
|
|
898
|
-
_, _ = compozy.Migrate(context.Background(), compozy.MigrationConfig{
|
|
899
|
-
DryRun: true,
|
|
900
|
-
})
|
|
901
|
-
|
|
902
|
-
_ = compozy.Run(context.Background(), compozy.Config{
|
|
903
|
-
Name: "my-feature",
|
|
904
|
-
Mode: compozy.ModePRReview,
|
|
905
|
-
IDE: compozy.IDECodex,
|
|
906
|
-
ReasoningEffort: "medium",
|
|
907
|
-
})
|
|
908
|
-
|
|
909
|
-
// Embed the Cobra command in another CLI
|
|
910
|
-
root := compozy.NewCommand()
|
|
911
|
-
_ = root.Execute()
|
|
243
|
+
make verify
|
|
912
244
|
```
|
|
913
245
|
|
|
914
|
-
|
|
915
|
-
|
|
916
|
-
<details>
|
|
917
|
-
<summary><strong>Project Layout</strong></summary>
|
|
918
|
-
|
|
919
|
-
```
|
|
920
|
-
cmd/compozy/ CLI entry point
|
|
921
|
-
compozy.go Public Go API + reusable Cobra command helpers
|
|
922
|
-
internal/cli/ Cobra flags, interactive form, CLI glue
|
|
923
|
-
internal/core/ Internal facade for preparation and execution
|
|
924
|
-
agent/ IDE command validation and process construction
|
|
925
|
-
agents/ Reusable agent discovery, validation, MCP merge, nested execution
|
|
926
|
-
extension/ Extension manifest, discovery, hooks, Host API, lifecycle
|
|
927
|
-
memory/ Workflow memory bootstrapping, inspection, and compaction detection
|
|
928
|
-
model/ Shared runtime data structures
|
|
929
|
-
plan/ Input discovery, filtering, grouping, batch prep
|
|
930
|
-
prompt/ Prompt builders emitting runtime context + skill names
|
|
931
|
-
run/ Execution pipeline, logging, shutdown, Bubble Tea UI
|
|
932
|
-
internal/setup/ Bundled skill and council-agent installer (agent detection, symlink/copy)
|
|
933
|
-
internal/version/ Build metadata
|
|
934
|
-
sdk/extension/ Public Go SDK for extension authors
|
|
935
|
-
sdk/extension-sdk-ts/ Public TypeScript SDK for extension authors
|
|
936
|
-
sdk/create-extension/ CLI scaffolder for new extension projects
|
|
937
|
-
skills/ Bundled installable skills
|
|
938
|
-
.compozy/config.toml Optional workspace defaults for CLI execution
|
|
939
|
-
.compozy/agents/ Optional reusable agents (`AGENT.md` + optional `mcp.json`)
|
|
940
|
-
.compozy/extensions/ Workspace-scoped extensions (starts disabled)
|
|
941
|
-
~/.compozy/runs/ Home-scoped runtime artifacts for daemon-managed and persisted exec runs
|
|
942
|
-
.compozy/tasks/ Default workflow artifact root (PRDs, TechSpecs, tasks, ADRs, reviews)
|
|
943
|
-
```
|
|
944
|
-
|
|
945
|
-
</details>
|
|
946
|
-
|
|
947
|
-
## 🛠️ Development
|
|
948
|
-
|
|
949
|
-
```bash
|
|
950
|
-
make verify # Full pipeline: fmt → lint → test → build
|
|
951
|
-
make fmt # Format code
|
|
952
|
-
make lint # Lint (zero tolerance)
|
|
953
|
-
make test # Tests with race detector
|
|
954
|
-
make build # Compile binary
|
|
955
|
-
make deps # Tidy and verify modules
|
|
956
|
-
```
|
|
246
|
+
Read [AGENTS.md](AGENTS.md), the surface-specific instructions, and the
|
|
247
|
+
[contribution guide](skills/compozy/references/contributing-to-compozy.md) before editing.
|
|
957
248
|
|
|
958
249
|
## Star History
|
|
959
250
|
|
|
@@ -967,8 +258,18 @@ make deps # Tidy and verify modules
|
|
|
967
258
|
|
|
968
259
|
## 🤝 Contributing
|
|
969
260
|
|
|
970
|
-
Contributions are welcome.
|
|
261
|
+
Contributions are welcome. Open an issue or pull request, keep public behavior agent-manageable, and
|
|
262
|
+
run `make verify` before sending changes. [Security reports](SECURITY.md) belong in the repository's
|
|
263
|
+
private security channel, not a public issue.
|
|
264
|
+
|
|
265
|
+
## Contributors
|
|
266
|
+
|
|
267
|
+
Thanks to everyone who has contributed to Compozy.
|
|
268
|
+
|
|
269
|
+
<a href="https://github.com/compozy/compozy/graphs/contributors">
|
|
270
|
+
<img src="https://contrib.rocks/image?repo=compozy/compozy" alt="Contributors" />
|
|
271
|
+
</a>
|
|
971
272
|
|
|
972
273
|
## 📄 License
|
|
973
274
|
|
|
974
|
-
[MIT](LICENSE)
|
|
275
|
+
Compozy is distributed under the [MIT License](LICENSE).
|
package/package.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@compozy/cli",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "0.2
|
|
5
|
-
"description": "
|
|
4
|
+
"version": "0.3.0-beta.2",
|
|
5
|
+
"description": "A local-first operating system for agent work.",
|
|
6
6
|
"scripts": {
|
|
7
7
|
"postinstall": "node install.js",
|
|
8
8
|
"run": "node run-compozy.js"
|
|
@@ -11,8 +11,8 @@
|
|
|
11
11
|
"type": "git",
|
|
12
12
|
"url": "git+https://github.com/compozy/compozy.git"
|
|
13
13
|
},
|
|
14
|
-
"author": "Compozy Team
|
|
15
|
-
"license": "
|
|
14
|
+
"author": "Compozy Team",
|
|
15
|
+
"license": "MIT",
|
|
16
16
|
"bugs": {
|
|
17
17
|
"url": "https://github.com/compozy/compozy/issues"
|
|
18
18
|
},
|
|
@@ -23,67 +23,55 @@
|
|
|
23
23
|
"dependencies": {
|
|
24
24
|
"jszip": "3.10.1",
|
|
25
25
|
"proxy-agent": "8.0.2",
|
|
26
|
-
"tar": "7.5.
|
|
26
|
+
"tar": "7.5.22"
|
|
27
27
|
},
|
|
28
28
|
"archives": {
|
|
29
29
|
"darwin-arm64": {
|
|
30
|
-
"name": "
|
|
31
|
-
"url": "https://github.com/compozy/compozy/releases/download/v0.
|
|
30
|
+
"name": "compozy_darwin_arm64.tar.gz",
|
|
31
|
+
"url": "https://github.com/compozy/compozy/releases/download/v0.3.0-beta.2/compozy_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": "5436b4034861137a420741a8376b04fc6a2c2dec18f4e059de09f6d98ffc6c60"
|
|
39
39
|
}
|
|
40
40
|
},
|
|
41
41
|
"darwin-x64": {
|
|
42
|
-
"name": "
|
|
43
|
-
"url": "https://github.com/compozy/compozy/releases/download/v0.
|
|
42
|
+
"name": "compozy_darwin_x86_64.tar.gz",
|
|
43
|
+
"url": "https://github.com/compozy/compozy/releases/download/v0.3.0-beta.2/compozy_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": "cb9b2386df9932441ddc3c1425e42ba6b523510cbafac22d93f5b587f3b58a4d"
|
|
51
51
|
}
|
|
52
52
|
},
|
|
53
53
|
"linux-arm64": {
|
|
54
|
-
"name": "
|
|
55
|
-
"url": "https://github.com/compozy/compozy/releases/download/v0.
|
|
54
|
+
"name": "compozy_linux_arm64.tar.gz",
|
|
55
|
+
"url": "https://github.com/compozy/compozy/releases/download/v0.3.0-beta.2/compozy_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": "acde38ee68a3e6b08d45b32245d734bb7203b1fa265db1f48c2d72ca1c46c615"
|
|
63
63
|
}
|
|
64
64
|
},
|
|
65
65
|
"linux-x64": {
|
|
66
|
-
"name": "
|
|
67
|
-
"url": "https://github.com/compozy/compozy/releases/download/v0.
|
|
66
|
+
"name": "compozy_linux_x86_64.tar.gz",
|
|
67
|
+
"url": "https://github.com/compozy/compozy/releases/download/v0.3.0-beta.2/compozy_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": "
|
|
75
|
-
}
|
|
76
|
-
},
|
|
77
|
-
"win32-x64": {
|
|
78
|
-
"name": "compozy_0.2.15_windows_x86_64.zip",
|
|
79
|
-
"url": "https://github.com/compozy/compozy/releases/download/v0.2.15/compozy_0.2.15_windows_x86_64.zip",
|
|
80
|
-
"bins": [
|
|
81
|
-
"compozy.exe"
|
|
82
|
-
],
|
|
83
|
-
"format": "zip",
|
|
84
|
-
"checksum": {
|
|
85
|
-
"algorithm": "sha256",
|
|
86
|
-
"digest": "d6eb08272c00116f575a58a03fad6c972e3e331713af7bd48043f2e0e88edf48"
|
|
74
|
+
"digest": "1800f967a3c7438685806f8d537e960848dc4cd6265ac6fe155a295bd027e16e"
|
|
87
75
|
}
|
|
88
76
|
}
|
|
89
77
|
}
|