pilot-workers 0.3.0__tar.gz → 0.5.0__tar.gz
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.
- {pilot_workers-0.3.0/src/pilot_workers.egg-info → pilot_workers-0.5.0}/PKG-INFO +31 -20
- {pilot_workers-0.3.0 → pilot_workers-0.5.0}/README.md +30 -19
- {pilot_workers-0.3.0 → pilot_workers-0.5.0}/pyproject.toml +1 -1
- {pilot_workers-0.3.0 → pilot_workers-0.5.0}/src/pilot_workers/cli/dispatch.py +298 -71
- pilot_workers-0.5.0/src/pilot_workers/cli/fanout.py +653 -0
- {pilot_workers-0.3.0 → pilot_workers-0.5.0}/src/pilot_workers/cli/install.py +146 -208
- {pilot_workers-0.3.0 → pilot_workers-0.5.0}/src/pilot_workers/cli/main.py +10 -4
- {pilot_workers-0.3.0 → pilot_workers-0.5.0}/src/pilot_workers/cli/run.py +86 -63
- {pilot_workers-0.3.0 → pilot_workers-0.5.0}/src/pilot_workers/cli/status.py +79 -47
- {pilot_workers-0.3.0 → pilot_workers-0.5.0}/src/pilot_workers/data/providers/ds.yaml +3 -0
- {pilot_workers-0.3.0 → pilot_workers-0.5.0}/src/pilot_workers/data/providers/glm.yaml +3 -0
- {pilot_workers-0.3.0 → pilot_workers-0.5.0}/src/pilot_workers/data/providers/kimi-k3.yaml +3 -0
- {pilot_workers-0.3.0 → pilot_workers-0.5.0}/src/pilot_workers/integrations/README.md +2 -2
- pilot_workers-0.5.0/src/pilot_workers/integrations/claude-host/skills/pilot-workers/SKILL.md +198 -0
- pilot_workers-0.5.0/src/pilot_workers/integrations/codex-host/skills/pilot-workers/SKILL.md +183 -0
- {pilot_workers-0.3.0 → pilot_workers-0.5.0}/src/pilot_workers/maintain.py +99 -1
- {pilot_workers-0.3.0 → pilot_workers-0.5.0}/src/pilot_workers/policy.py +35 -3
- {pilot_workers-0.3.0 → pilot_workers-0.5.0}/src/pilot_workers/prompts/code.md +11 -0
- {pilot_workers-0.3.0 → pilot_workers-0.5.0}/src/pilot_workers/prompts/common.md +5 -1
- {pilot_workers-0.3.0 → pilot_workers-0.5.0}/src/pilot_workers/prompts/explore.md +8 -0
- pilot_workers-0.5.0/src/pilot_workers/prompts/review.md +17 -0
- {pilot_workers-0.3.0 → pilot_workers-0.5.0}/src/pilot_workers/prompts/test.md +10 -0
- {pilot_workers-0.3.0 → pilot_workers-0.5.0}/src/pilot_workers/providers.py +24 -0
- {pilot_workers-0.3.0 → pilot_workers-0.5.0}/src/pilot_workers/runners/base.py +2 -1
- {pilot_workers-0.3.0 → pilot_workers-0.5.0}/src/pilot_workers/runners/opencode_runner.py +47 -2
- {pilot_workers-0.3.0 → pilot_workers-0.5.0}/src/pilot_workers/runtime.py +144 -5
- {pilot_workers-0.3.0 → pilot_workers-0.5.0/src/pilot_workers.egg-info}/PKG-INFO +31 -20
- {pilot_workers-0.3.0 → pilot_workers-0.5.0}/src/pilot_workers.egg-info/SOURCES.txt +10 -26
- {pilot_workers-0.3.0 → pilot_workers-0.5.0}/tests/test_cli_main.py +2 -1
- pilot_workers-0.5.0/tests/test_dispatch.py +474 -0
- pilot_workers-0.5.0/tests/test_fanout.py +449 -0
- pilot_workers-0.5.0/tests/test_fanout_watchdog.py +415 -0
- pilot_workers-0.5.0/tests/test_install.py +420 -0
- pilot_workers-0.5.0/tests/test_integrations.py +143 -0
- pilot_workers-0.5.0/tests/test_maintain.py +277 -0
- {pilot_workers-0.3.0 → pilot_workers-0.5.0}/tests/test_policy.py +100 -0
- {pilot_workers-0.3.0 → pilot_workers-0.5.0}/tests/test_providers.py +89 -0
- pilot_workers-0.5.0/tests/test_result_extract.py +163 -0
- {pilot_workers-0.3.0 → pilot_workers-0.5.0}/tests/test_run_cli.py +2 -1
- pilot_workers-0.5.0/tests/test_runner_cache.py +225 -0
- pilot_workers-0.5.0/tests/test_sandbox.py +314 -0
- pilot_workers-0.5.0/tests/test_status.py +168 -0
- pilot_workers-0.3.0/src/pilot_workers/integrations/claude-host/agents/ds-coder.md +0 -66
- pilot_workers-0.3.0/src/pilot_workers/integrations/claude-host/agents/ds-explorer.md +0 -56
- pilot_workers-0.3.0/src/pilot_workers/integrations/claude-host/agents/ds-reviewer.md +0 -50
- pilot_workers-0.3.0/src/pilot_workers/integrations/claude-host/agents/ds-tester.md +0 -46
- pilot_workers-0.3.0/src/pilot_workers/integrations/claude-host/agents/glm-coder.md +0 -66
- pilot_workers-0.3.0/src/pilot_workers/integrations/claude-host/agents/glm-explorer.md +0 -56
- pilot_workers-0.3.0/src/pilot_workers/integrations/claude-host/agents/glm-reviewer.md +0 -50
- pilot_workers-0.3.0/src/pilot_workers/integrations/claude-host/agents/glm-tester.md +0 -46
- pilot_workers-0.3.0/src/pilot_workers/integrations/claude-host/agents/kimi-coder.md +0 -66
- pilot_workers-0.3.0/src/pilot_workers/integrations/claude-host/agents/kimi-explorer.md +0 -56
- pilot_workers-0.3.0/src/pilot_workers/integrations/claude-host/agents/kimi-reviewer.md +0 -50
- pilot_workers-0.3.0/src/pilot_workers/integrations/claude-host/agents/kimi-tester.md +0 -50
- pilot_workers-0.3.0/src/pilot_workers/integrations/claude-host/commands/glm/code.md +0 -48
- pilot_workers-0.3.0/src/pilot_workers/integrations/claude-host/commands/glm/explore.md +0 -38
- pilot_workers-0.3.0/src/pilot_workers/integrations/claude-host/commands/glm/review.md +0 -38
- pilot_workers-0.3.0/src/pilot_workers/integrations/claude-host/commands/glm/test.md +0 -30
- pilot_workers-0.3.0/src/pilot_workers/integrations/claude-host/commands/kimi/code.md +0 -47
- pilot_workers-0.3.0/src/pilot_workers/integrations/claude-host/commands/kimi/explore.md +0 -38
- pilot_workers-0.3.0/src/pilot_workers/integrations/claude-host/commands/kimi/review.md +0 -38
- pilot_workers-0.3.0/src/pilot_workers/integrations/claude-host/commands/kimi/test.md +0 -32
- pilot_workers-0.3.0/src/pilot_workers/integrations/codex-host/ds/SKILL.md +0 -15
- pilot_workers-0.3.0/src/pilot_workers/integrations/codex-host/ds/openai.yaml +0 -4
- pilot_workers-0.3.0/src/pilot_workers/integrations/codex-host/glm/SKILL.md +0 -15
- pilot_workers-0.3.0/src/pilot_workers/integrations/codex-host/glm/openai.yaml +0 -4
- pilot_workers-0.3.0/src/pilot_workers/integrations/codex-host/kimi/SKILL.md +0 -15
- pilot_workers-0.3.0/src/pilot_workers/integrations/codex-host/kimi/openai.yaml +0 -4
- pilot_workers-0.3.0/src/pilot_workers/prompts/review.md +0 -5
- pilot_workers-0.3.0/tests/test_dispatch.py +0 -192
- pilot_workers-0.3.0/tests/test_install.py +0 -366
- pilot_workers-0.3.0/tests/test_status.py +0 -123
- {pilot_workers-0.3.0 → pilot_workers-0.5.0}/LICENSE +0 -0
- {pilot_workers-0.3.0 → pilot_workers-0.5.0}/setup.cfg +0 -0
- {pilot_workers-0.3.0 → pilot_workers-0.5.0}/src/pilot_workers/__init__.py +0 -0
- {pilot_workers-0.3.0 → pilot_workers-0.5.0}/src/pilot_workers/__main__.py +0 -0
- {pilot_workers-0.3.0 → pilot_workers-0.5.0}/src/pilot_workers/cli/__init__.py +0 -0
- {pilot_workers-0.3.0 → pilot_workers-0.5.0}/src/pilot_workers/credentials.py +0 -0
- {pilot_workers-0.3.0 → pilot_workers-0.5.0}/src/pilot_workers/data/permissions/README.md +0 -0
- {pilot_workers-0.3.0 → pilot_workers-0.5.0}/src/pilot_workers/data/permissions/relaxed.yaml +0 -0
- {pilot_workers-0.3.0 → pilot_workers-0.5.0}/src/pilot_workers/data/permissions/strict.yaml +0 -0
- {pilot_workers-0.3.0 → pilot_workers-0.5.0}/src/pilot_workers/data/providers/README.md +0 -0
- {pilot_workers-0.3.0 → pilot_workers-0.5.0}/src/pilot_workers/data/templates/code.md +0 -0
- {pilot_workers-0.3.0 → pilot_workers-0.5.0}/src/pilot_workers/data/templates/explore.md +0 -0
- {pilot_workers-0.3.0 → pilot_workers-0.5.0}/src/pilot_workers/data/templates/review.md +0 -0
- {pilot_workers-0.3.0 → pilot_workers-0.5.0}/src/pilot_workers/data/templates/test.md +0 -0
- {pilot_workers-0.3.0 → pilot_workers-0.5.0}/src/pilot_workers/fmt_events.py +0 -0
- {pilot_workers-0.3.0 → pilot_workers-0.5.0}/src/pilot_workers/runners/__init__.py +0 -0
- {pilot_workers-0.3.0 → pilot_workers-0.5.0}/src/pilot_workers/scripts/install_runtime.sh +0 -0
- {pilot_workers-0.3.0 → pilot_workers-0.5.0}/src/pilot_workers.egg-info/dependency_links.txt +0 -0
- {pilot_workers-0.3.0 → pilot_workers-0.5.0}/src/pilot_workers.egg-info/entry_points.txt +0 -0
- {pilot_workers-0.3.0 → pilot_workers-0.5.0}/src/pilot_workers.egg-info/requires.txt +0 -0
- {pilot_workers-0.3.0 → pilot_workers-0.5.0}/src/pilot_workers.egg-info/top_level.txt +0 -0
- {pilot_workers-0.3.0 → pilot_workers-0.5.0}/tests/test_credentials.py +0 -0
- {pilot_workers-0.3.0 → pilot_workers-0.5.0}/tests/test_opencode_runner.py +0 -0
- {pilot_workers-0.3.0 → pilot_workers-0.5.0}/tests/test_render_unified.py +0 -0
- {pilot_workers-0.3.0 → pilot_workers-0.5.0}/tests/test_runtime.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: pilot-workers
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.5.0
|
|
4
4
|
Summary: Dispatch bounded tasks to isolated LLM workers (GLM, Kimi, and more)
|
|
5
5
|
License-Expression: MIT
|
|
6
6
|
Requires-Python: >=3.11
|
|
@@ -24,8 +24,9 @@ Dispatch bounded tasks to isolated LLM workers. Your main AI agent (Claude, Code
|
|
|
24
24
|
- **Security by default**: API keys never appear in CLI args, environment variables, task contracts, or logs. Output is auto-redacted.
|
|
25
25
|
- **Five modes**: `code` (edit), `explore` (read-only), `test` (run tests), `review` (read-only audit), `resume` (continue a prior code session).
|
|
26
26
|
- **Pluggable runners**: the runner adapter layer (`Runner` ABC) abstracts engine-specific details. Currently ships with OpenCode; designed for future alternatives.
|
|
27
|
-
- **Observable**: two-line JSON contract (`started` + `verdict`) for AI planners; human-readable `latest.log` for `tail -f`.
|
|
28
|
-
- **Per-
|
|
27
|
+
- **Observable**: two-line JSON contract (`started` + structured `verdict` carrying `parse_state`, a per-mode `result`, and `final_text_path`) for AI planners; human-readable `latest.log` for `tail -f`.
|
|
28
|
+
- **Per-run sandboxes**: every dispatch runs inside its own isolated XDG tree (`providers/<key>/runs/<run_id>/`) with a zero-copy symlink to the canonical credential and a shared per-provider cache; resume (`--session` + `--run-id`) reuses the original sandbox.
|
|
29
|
+
- **Host-level playbook**: one `pilot-workers` playbook skill per host (Claude Code or Codex). `install claude` / `install codex` deploys the same engine-neutral playbook regardless of which providers you've configured.
|
|
29
30
|
|
|
30
31
|
## Install
|
|
31
32
|
|
|
@@ -44,10 +45,10 @@ pilot-workers credentials glm
|
|
|
44
45
|
pilot-workers credentials kimi-k3
|
|
45
46
|
pilot-workers credentials ds
|
|
46
47
|
|
|
47
|
-
# 3. Deploy
|
|
48
|
-
pilot-workers install
|
|
49
|
-
pilot-workers install
|
|
50
|
-
pilot-workers install
|
|
48
|
+
# 3. Deploy the playbook skill to your host
|
|
49
|
+
pilot-workers install claude # Claude Code: pilot-workers playbook skill
|
|
50
|
+
pilot-workers install codex # Codex: same playbook skill
|
|
51
|
+
pilot-workers install all # both hosts
|
|
51
52
|
|
|
52
53
|
# 4. Check everything is ready
|
|
53
54
|
pilot-workers status
|
|
@@ -69,18 +70,22 @@ pilot-workers <subcommand> [args]
|
|
|
69
70
|
|
|
70
71
|
run Dispatch a task (streaming output).
|
|
71
72
|
dispatch Deterministic wrapper around run (two-line JSON: started + verdict).
|
|
73
|
+
fanout Dispatch several jobs concurrently; stdout = one JSON array of verdicts.
|
|
72
74
|
template Print the task template for a mode (code|explore|test|review).
|
|
73
|
-
install Install
|
|
74
|
-
install <
|
|
75
|
+
install Install host playbook skill or runner.
|
|
76
|
+
install <host|all>
|
|
75
77
|
install runner <name>
|
|
76
|
-
uninstall Remove
|
|
77
|
-
uninstall <
|
|
78
|
+
uninstall Remove host playbook skill or runner.
|
|
79
|
+
uninstall <host|all>
|
|
78
80
|
uninstall runner <name>
|
|
79
81
|
status Show provider credentials, host installs, and runner state.
|
|
80
82
|
status [--json]
|
|
81
|
-
status <
|
|
83
|
+
status <host>
|
|
82
84
|
credentials Configure isolated worker credentials.
|
|
83
|
-
maintain Worker log and worktree lifecycle tools.
|
|
85
|
+
maintain Worker log, run-sandbox, and worktree lifecycle tools.
|
|
86
|
+
maintain logs --older-than-days N
|
|
87
|
+
maintain runs --older-than-days N [--keep M]
|
|
88
|
+
maintain worktrees list|remove <path>
|
|
84
89
|
```
|
|
85
90
|
|
|
86
91
|
## Adding a new provider
|
|
@@ -97,20 +102,26 @@ context_tokens: 128000
|
|
|
97
102
|
output_tokens: 8192
|
|
98
103
|
# runner: opencode # optional, default opencode
|
|
99
104
|
# permissions: relaxed # optional, reference a permission profile
|
|
100
|
-
# asset_prefix: my-model # optional, default = key; used for
|
|
105
|
+
# asset_prefix: my-model # optional, default = key (legacy; no longer used for file naming)
|
|
106
|
+
# strengths: ... # optional, surfaced by `pilot-workers status`
|
|
107
|
+
# suitable_modes: ... # optional, surfaced by `pilot-workers status`
|
|
108
|
+
# notes: ... # optional, surfaced by `pilot-workers status`
|
|
101
109
|
```
|
|
102
110
|
|
|
103
|
-
Then `pilot-workers credentials my-model` and `pilot-workers install
|
|
111
|
+
Then `pilot-workers credentials my-model` and `pilot-workers install claude` (or `codex`) to deploy/refresh the host playbook skill.
|
|
104
112
|
|
|
105
113
|
Reserved keys (cannot be used as provider key): `runner`, `all`, `on`, `claude`, `codex`.
|
|
106
114
|
|
|
107
115
|
## Host integration
|
|
108
116
|
|
|
109
|
-
The **host** is whatever AI agent acts as the planner. `
|
|
110
|
-
- **`claude-host/`**: 12 agents (glm/kimi/ds × coder/explorer/reviewer/tester) + 8 slash commands
|
|
111
|
-
- **`codex-host/`**: `$glm` / `$kimi` / `$ds` skill entry points
|
|
117
|
+
The **host** is whatever AI agent acts as the planner. Each host ships ONE `pilot-workers` playbook skill (a doctrine playbook, not provider-specific syntax):
|
|
112
118
|
|
|
113
|
-
|
|
119
|
+
- **`claude-host/skills/pilot-workers/`**: playbook skill for Claude Code (installed to `~/.claude/skills/pilot-workers/`)
|
|
120
|
+
- **`codex-host/skills/pilot-workers/`**: the same playbook skill for Codex (installed to `$CODEX_HOME/skills/pilot-workers/`)
|
|
121
|
+
|
|
122
|
+
`pilot-workers install <host>` copies the skill into the host's skill directory; it carries no engine-specific knowledge and is the same regardless of which providers you've configured. (The v0.4.0 12-agents + 8-commands matrix is gone.)
|
|
123
|
+
|
|
124
|
+
Adding a new host: create `integrations/<name>-host/skills/pilot-workers/`, put whatever config your host needs, point it at `pilot-workers dispatch`. See `integrations/README.md`.
|
|
114
125
|
|
|
115
126
|
## Architecture
|
|
116
127
|
|
|
@@ -120,7 +131,7 @@ See [CLAUDE.md](CLAUDE.md) for the current architecture, module reference, and c
|
|
|
120
131
|
|
|
121
132
|
```bash
|
|
122
133
|
python3 -m venv .venv && .venv/bin/pip install -e ".[dev]"
|
|
123
|
-
.venv/bin/pytest #
|
|
134
|
+
.venv/bin/pytest # 297 tests, all offline
|
|
124
135
|
```
|
|
125
136
|
|
|
126
137
|
## License
|
|
@@ -9,8 +9,9 @@ Dispatch bounded tasks to isolated LLM workers. Your main AI agent (Claude, Code
|
|
|
9
9
|
- **Security by default**: API keys never appear in CLI args, environment variables, task contracts, or logs. Output is auto-redacted.
|
|
10
10
|
- **Five modes**: `code` (edit), `explore` (read-only), `test` (run tests), `review` (read-only audit), `resume` (continue a prior code session).
|
|
11
11
|
- **Pluggable runners**: the runner adapter layer (`Runner` ABC) abstracts engine-specific details. Currently ships with OpenCode; designed for future alternatives.
|
|
12
|
-
- **Observable**: two-line JSON contract (`started` + `verdict`) for AI planners; human-readable `latest.log` for `tail -f`.
|
|
13
|
-
- **Per-
|
|
12
|
+
- **Observable**: two-line JSON contract (`started` + structured `verdict` carrying `parse_state`, a per-mode `result`, and `final_text_path`) for AI planners; human-readable `latest.log` for `tail -f`.
|
|
13
|
+
- **Per-run sandboxes**: every dispatch runs inside its own isolated XDG tree (`providers/<key>/runs/<run_id>/`) with a zero-copy symlink to the canonical credential and a shared per-provider cache; resume (`--session` + `--run-id`) reuses the original sandbox.
|
|
14
|
+
- **Host-level playbook**: one `pilot-workers` playbook skill per host (Claude Code or Codex). `install claude` / `install codex` deploys the same engine-neutral playbook regardless of which providers you've configured.
|
|
14
15
|
|
|
15
16
|
## Install
|
|
16
17
|
|
|
@@ -29,10 +30,10 @@ pilot-workers credentials glm
|
|
|
29
30
|
pilot-workers credentials kimi-k3
|
|
30
31
|
pilot-workers credentials ds
|
|
31
32
|
|
|
32
|
-
# 3. Deploy
|
|
33
|
-
pilot-workers install
|
|
34
|
-
pilot-workers install
|
|
35
|
-
pilot-workers install
|
|
33
|
+
# 3. Deploy the playbook skill to your host
|
|
34
|
+
pilot-workers install claude # Claude Code: pilot-workers playbook skill
|
|
35
|
+
pilot-workers install codex # Codex: same playbook skill
|
|
36
|
+
pilot-workers install all # both hosts
|
|
36
37
|
|
|
37
38
|
# 4. Check everything is ready
|
|
38
39
|
pilot-workers status
|
|
@@ -54,18 +55,22 @@ pilot-workers <subcommand> [args]
|
|
|
54
55
|
|
|
55
56
|
run Dispatch a task (streaming output).
|
|
56
57
|
dispatch Deterministic wrapper around run (two-line JSON: started + verdict).
|
|
58
|
+
fanout Dispatch several jobs concurrently; stdout = one JSON array of verdicts.
|
|
57
59
|
template Print the task template for a mode (code|explore|test|review).
|
|
58
|
-
install Install
|
|
59
|
-
install <
|
|
60
|
+
install Install host playbook skill or runner.
|
|
61
|
+
install <host|all>
|
|
60
62
|
install runner <name>
|
|
61
|
-
uninstall Remove
|
|
62
|
-
uninstall <
|
|
63
|
+
uninstall Remove host playbook skill or runner.
|
|
64
|
+
uninstall <host|all>
|
|
63
65
|
uninstall runner <name>
|
|
64
66
|
status Show provider credentials, host installs, and runner state.
|
|
65
67
|
status [--json]
|
|
66
|
-
status <
|
|
68
|
+
status <host>
|
|
67
69
|
credentials Configure isolated worker credentials.
|
|
68
|
-
maintain Worker log and worktree lifecycle tools.
|
|
70
|
+
maintain Worker log, run-sandbox, and worktree lifecycle tools.
|
|
71
|
+
maintain logs --older-than-days N
|
|
72
|
+
maintain runs --older-than-days N [--keep M]
|
|
73
|
+
maintain worktrees list|remove <path>
|
|
69
74
|
```
|
|
70
75
|
|
|
71
76
|
## Adding a new provider
|
|
@@ -82,20 +87,26 @@ context_tokens: 128000
|
|
|
82
87
|
output_tokens: 8192
|
|
83
88
|
# runner: opencode # optional, default opencode
|
|
84
89
|
# permissions: relaxed # optional, reference a permission profile
|
|
85
|
-
# asset_prefix: my-model # optional, default = key; used for
|
|
90
|
+
# asset_prefix: my-model # optional, default = key (legacy; no longer used for file naming)
|
|
91
|
+
# strengths: ... # optional, surfaced by `pilot-workers status`
|
|
92
|
+
# suitable_modes: ... # optional, surfaced by `pilot-workers status`
|
|
93
|
+
# notes: ... # optional, surfaced by `pilot-workers status`
|
|
86
94
|
```
|
|
87
95
|
|
|
88
|
-
Then `pilot-workers credentials my-model` and `pilot-workers install
|
|
96
|
+
Then `pilot-workers credentials my-model` and `pilot-workers install claude` (or `codex`) to deploy/refresh the host playbook skill.
|
|
89
97
|
|
|
90
98
|
Reserved keys (cannot be used as provider key): `runner`, `all`, `on`, `claude`, `codex`.
|
|
91
99
|
|
|
92
100
|
## Host integration
|
|
93
101
|
|
|
94
|
-
The **host** is whatever AI agent acts as the planner. `
|
|
95
|
-
- **`claude-host/`**: 12 agents (glm/kimi/ds × coder/explorer/reviewer/tester) + 8 slash commands
|
|
96
|
-
- **`codex-host/`**: `$glm` / `$kimi` / `$ds` skill entry points
|
|
102
|
+
The **host** is whatever AI agent acts as the planner. Each host ships ONE `pilot-workers` playbook skill (a doctrine playbook, not provider-specific syntax):
|
|
97
103
|
|
|
98
|
-
|
|
104
|
+
- **`claude-host/skills/pilot-workers/`**: playbook skill for Claude Code (installed to `~/.claude/skills/pilot-workers/`)
|
|
105
|
+
- **`codex-host/skills/pilot-workers/`**: the same playbook skill for Codex (installed to `$CODEX_HOME/skills/pilot-workers/`)
|
|
106
|
+
|
|
107
|
+
`pilot-workers install <host>` copies the skill into the host's skill directory; it carries no engine-specific knowledge and is the same regardless of which providers you've configured. (The v0.4.0 12-agents + 8-commands matrix is gone.)
|
|
108
|
+
|
|
109
|
+
Adding a new host: create `integrations/<name>-host/skills/pilot-workers/`, put whatever config your host needs, point it at `pilot-workers dispatch`. See `integrations/README.md`.
|
|
99
110
|
|
|
100
111
|
## Architecture
|
|
101
112
|
|
|
@@ -105,7 +116,7 @@ See [CLAUDE.md](CLAUDE.md) for the current architecture, module reference, and c
|
|
|
105
116
|
|
|
106
117
|
```bash
|
|
107
118
|
python3 -m venv .venv && .venv/bin/pip install -e ".[dev]"
|
|
108
|
-
.venv/bin/pytest #
|
|
119
|
+
.venv/bin/pytest # 297 tests, all offline
|
|
109
120
|
```
|
|
110
121
|
|
|
111
122
|
## License
|