@cleocode/cleo 2026.3.2 → 2026.3.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.
Files changed (76) hide show
  1. package/README.md +1 -3
  2. package/dist/cli/index.js +7381 -3507
  3. package/dist/cli/index.js.map +4 -4
  4. package/dist/mcp/index.js +5792 -2097
  5. package/dist/mcp/index.js.map +4 -4
  6. package/package.json +4 -4
  7. package/packages/ct-skills/index.js +1 -1
  8. package/packages/ct-skills/package.json +0 -2
  9. package/packages/ct-skills/profiles/core.json +1 -1
  10. package/packages/ct-skills/profiles/full.json +4 -5
  11. package/packages/ct-skills/profiles/minimal.json +3 -3
  12. package/packages/ct-skills/profiles/recommended.json +2 -2
  13. package/packages/ct-skills/provider-skills-map.json +97 -0
  14. package/packages/ct-skills/skills/_shared/skill-chaining-patterns.md +23 -26
  15. package/packages/ct-skills/skills/_shared/testing-framework-config.md +9 -9
  16. package/packages/ct-skills/skills/ct-cleo/SKILL.md +21 -1
  17. package/packages/ct-skills/skills/ct-dev-workflow/SKILL.md +1 -1
  18. package/packages/ct-skills/skills/ct-documentor/SKILL.md +1 -1
  19. package/packages/ct-skills/skills/ct-epic-architect/SKILL.md +1 -1
  20. package/packages/ct-skills/skills/ct-grade/SKILL.md +214 -0
  21. package/packages/ct-skills/skills/ct-orchestrator/SKILL.md +119 -43
  22. package/packages/ct-skills/skills/ct-orchestrator/orchestrator-prompt.txt +17 -0
  23. package/packages/ct-skills/skills/ct-orchestrator/references/orchestrator-patterns.md +1 -1
  24. package/packages/ct-skills/skills/ct-research-agent/SKILL.md +1 -1
  25. package/packages/ct-skills/skills/ct-spec-writer/SKILL.md +1 -1
  26. package/packages/ct-skills/skills/ct-task-executor/SKILL.md +1 -1
  27. package/packages/ct-skills/skills/ct-validator/SKILL.md +1 -1
  28. package/packages/ct-skills/skills/manifest.json +217 -947
  29. package/packages/ct-skills/skills.json +244 -3
  30. package/templates/CLEO-INJECTION.md +37 -0
  31. package/templates/README.md +4 -4
  32. package/templates/cleo-gitignore +3 -11
  33. package/templates/git-hooks/pre-commit +1 -1
  34. package/packages/ct-skills/protocols/agent-protocol.md +0 -260
  35. package/packages/ct-skills/protocols/artifact-publish.md +0 -587
  36. package/packages/ct-skills/protocols/consensus.md +0 -309
  37. package/packages/ct-skills/protocols/contribution.md +0 -375
  38. package/packages/ct-skills/protocols/decomposition.md +0 -352
  39. package/packages/ct-skills/protocols/implementation.md +0 -344
  40. package/packages/ct-skills/protocols/provenance.md +0 -600
  41. package/packages/ct-skills/protocols/release.md +0 -635
  42. package/packages/ct-skills/protocols/research.md +0 -248
  43. package/packages/ct-skills/protocols/specification.md +0 -287
  44. package/packages/ct-skills/protocols/testing.md +0 -346
  45. package/packages/ct-skills/protocols/validation.md +0 -229
  46. package/packages/ct-skills/skills/ct-gitbook/SKILL.md +0 -516
  47. package/packages/ct-skills/skills/ct-gitbook/assets/SUMMARY.md +0 -28
  48. package/packages/ct-skills/skills/ct-gitbook/assets/gitbook.yaml +0 -14
  49. package/packages/ct-skills/skills/ct-gitbook/references/api-sdk.md +0 -318
  50. package/packages/ct-skills/skills/ct-gitbook/references/auth-sso.md +0 -208
  51. package/packages/ct-skills/skills/ct-gitbook/references/change-requests.md +0 -169
  52. package/packages/ct-skills/skills/ct-gitbook/references/content-blocks.md +0 -230
  53. package/packages/ct-skills/skills/ct-gitbook/references/docs-sites.md +0 -202
  54. package/packages/ct-skills/skills/ct-gitbook/references/git-sync.md +0 -175
  55. package/packages/ct-skills/skills/ct-gitbook/references/llm-ready.md +0 -178
  56. package/packages/ct-skills/skills/ct-gitbook/references/migration.md +0 -263
  57. package/packages/ct-skills/skills/ct-library-implementer-bash/SKILL.md +0 -316
  58. package/packages/ct-skills/skills/ct-skill-lookup/SKILL.md +0 -179
  59. package/packages/ct-skills/skills/ct-test-writer-bats/SKILL.md +0 -347
  60. package/packages/ct-skills/skills/railway-platform/SKILL.md +0 -506
  61. package/packages/ct-skills/skills/railway-platform/_shared/scripts/railway-api.sh +0 -180
  62. package/packages/ct-skills/skills/railway-platform/_shared/scripts/railway-common.sh +0 -262
  63. package/packages/ct-skills/skills/railway-platform/references/01-getting-started.md +0 -149
  64. package/packages/ct-skills/skills/railway-platform/references/02-projects.md +0 -116
  65. package/packages/ct-skills/skills/railway-platform/references/03-services.md +0 -147
  66. package/packages/ct-skills/skills/railway-platform/references/04-deployments.md +0 -210
  67. package/packages/ct-skills/skills/railway-platform/references/05-databases.md +0 -142
  68. package/packages/ct-skills/skills/railway-platform/references/06-environments.md +0 -261
  69. package/packages/ct-skills/skills/railway-platform/references/07-domains.md +0 -139
  70. package/packages/ct-skills/skills/railway-platform/references/08-volumes.md +0 -533
  71. package/packages/ct-skills/skills/railway-platform/references/09-networking.md +0 -592
  72. package/packages/ct-skills/skills/railway-platform/references/10-cron.md +0 -488
  73. package/packages/ct-skills/skills/railway-platform/references/11-functions.md +0 -170
  74. package/packages/ct-skills/skills/railway-platform/references/12-monorepo.md +0 -294
  75. package/packages/ct-skills/skills/railway-platform/references/13-troubleshooting.md +0 -335
  76. package/packages/ct-skills/skills/railway-platform/references/14-railway-metal.md +0 -197
@@ -1,260 +0,0 @@
1
- # CLEO Agent Protocol
2
-
3
- **Version**: 1.0.0
4
- **Type**: Agent Reference
5
- **Audience**: LLM agents operating CLEO CLI
6
-
7
- ---
8
-
9
- ## Commands
10
-
11
- | Command | Purpose | Output Key |
12
- |---------|---------|------------|
13
- | ct find "query" | Search tasks | .tasks[].id |
14
- | ct find --id 142 | ID search | .tasks[].id |
15
- | ct show T### | Task details | .task |
16
- | ct add "Title" | Create task | .task.id |
17
- | ct add "Title" --parent T### | Create subtask | .task.id |
18
- | ct done T### | Complete task | .completedAt |
19
- | ct update T### --status active | Update status | .task |
20
- | ct start T### | Start working on task | .task |
21
- | ct current | Current task | .task |
22
- | ct next | Suggest task | .recommendation.taskId |
23
- | ct session list | List sessions | .sessions[] |
24
- | ct session start --scope epic:T### --auto-start --name "..." | Start session | .session.id |
25
- | ct session end --note "..." | End session | .session |
26
- | ct session resume ID | Resume session | .session |
27
- | ct session status | Current session | .session |
28
- | ct dash | Project overview | .summary |
29
- | ct context | Context usage | .context |
30
- | ct archive | Archive done tasks | .archived[] |
31
- | ct exists T### | Check existence | .exists |
32
- | ct list --parent T### | Children only | .tasks[] |
33
-
34
- ## Session Sequence
35
-
36
- 1. `ct session list` - Check existing sessions
37
- 2. `ct session start --scope epic:T### --auto-start --name "Name"` OR `ct session resume ID`
38
- 3. `ct start T###` - Start working on task
39
- 4. Execute work on current task
40
- 5. `ct complete T###` - Mark done
41
- 6. `ct start T###` - Next task (or `ct next`)
42
- 7. `ct archive` - Clean up done tasks
43
- 8. `ct session end --note "Progress summary"` - ALWAYS end
44
-
45
- **CRITICAL**: Session start requires BOTH `--scope` AND `--auto-start` (or `--start T###`)
46
-
47
- ## Exit Codes
48
-
49
- ### General (0-8)
50
-
51
- | Code | Constant | Recoverable | Recovery |
52
- |------|----------|:-----------:|----------|
53
- | 0 | SUCCESS | - | - |
54
- | 1 | GENERAL_ERROR | Yes | Check error.message |
55
- | 2 | INVALID_INPUT | Yes | Fix arguments |
56
- | 3 | FILE_ERROR | No | Check permissions |
57
- | 4 | NOT_FOUND | Yes | `ct find` to locate ID |
58
- | 5 | DEPENDENCY_ERROR | No | Install missing tool |
59
- | 6 | VALIDATION_ERROR | Yes | Check field lengths, escape \$ |
60
- | 7 | LOCK_TIMEOUT | Yes | Retry after delay |
61
- | 8 | CONFIG_ERROR | Yes | `ct doctor` to diagnose |
62
-
63
- ### Hierarchy (10-19)
64
-
65
- | Code | Constant | Recoverable | Recovery |
66
- |------|----------|:-----------:|----------|
67
- | 10 | PARENT_NOT_FOUND | Yes | `ct exists <parentId>` first |
68
- | 11 | DEPTH_EXCEEDED | Yes | Max 3 levels (epic->task->subtask) |
69
- | 12 | SIBLING_LIMIT | Yes | Check parent children count |
70
- | 13 | INVALID_PARENT_TYPE | Yes | Subtasks cannot have children |
71
- | 14 | CIRCULAR_REFERENCE | No | Check dependency graph |
72
- | 15 | ORPHAN_DETECTED | Yes | Verify parent exists |
73
- | 16 | HAS_CHILDREN | Yes | Delete children first or use --cascade |
74
- | 17 | TASK_COMPLETED | Yes | Use `ct archive` instead |
75
- | 18 | CASCADE_FAILED | No | Manual intervention required |
76
- | 19 | HAS_DEPENDENTS | Yes | Use --orphan flag |
77
-
78
- ### Concurrency (20-22)
79
-
80
- | Code | Constant | Recoverable | Recovery |
81
- |------|----------|:-----------:|----------|
82
- | 20 | CHECKSUM_MISMATCH | Yes | Retry (file changed externally) |
83
- | 21 | CONCURRENT_MODIFICATION | Yes | Retry after delay |
84
- | 22 | ID_COLLISION | Yes | Retry (regenerates ID) |
85
-
86
- ### Session (30-39)
87
-
88
- | Code | Constant | Recoverable | Recovery |
89
- |------|----------|:-----------:|----------|
90
- | 30 | SESSION_EXISTS | Yes | `ct session list`, resume existing |
91
- | 31 | SESSION_NOT_FOUND | Yes | `ct session list` for valid IDs |
92
- | 32 | SCOPE_CONFLICT | Yes | End conflicting session first |
93
- | 33 | SCOPE_INVALID | Yes | Verify epic exists |
94
- | 34 | TASK_NOT_IN_SCOPE | Yes | End session, restart with correct scope |
95
- | 35 | TASK_CLAIMED | Yes | `ct next` for unclaimed task |
96
- | 36 | SESSION_REQUIRED | Yes | `ct session start` first |
97
- | 37 | SESSION_CLOSE_BLOCKED | No | Complete pending tasks first |
98
- | 38 | START_REQUIRED | Yes | `ct start T###` |
99
- | 39 | NOTES_REQUIRED | Yes | Add `--note "..."` |
100
-
101
- ### Verification (40-47)
102
-
103
- | Code | Constant | Recoverable | Recovery |
104
- |------|----------|:-----------:|----------|
105
- | 40 | VERIFICATION_INIT_FAILED | Yes | Check task state |
106
- | 41 | GATE_UPDATE_FAILED | Yes | Retry |
107
- | 42 | INVALID_GATE | Yes | Check valid gate names |
108
- | 43 | INVALID_AGENT | Yes | Check valid agent names |
109
- | 44 | MAX_ROUNDS_EXCEEDED | Yes | Review implementation |
110
- | 45 | GATE_DEPENDENCY | Yes | Complete prerequisite gate |
111
- | 46 | VERIFICATION_LOCKED | No | Requires manual unlock |
112
- | 47 | ROUND_MISMATCH | Yes | Sync round number |
113
-
114
- ### Context Safeguard (50-54)
115
-
116
- | Code | Constant | Action |
117
- |------|----------|--------|
118
- | 50 | CONTEXT_WARNING | Continue, reduce output |
119
- | 51 | CONTEXT_CAUTION | Prioritize completion |
120
- | 52 | CONTEXT_CRITICAL | Run `ct safestop` |
121
- | 53 | CONTEXT_EMERGENCY | Immediate `ct safestop` |
122
- | 54 | CONTEXT_STALE | Re-check context state |
123
-
124
- ### Protocol/Orchestrator (60-67)
125
-
126
- | Code | Constant | Recoverable | Recovery |
127
- |------|----------|:-----------:|----------|
128
- | 60 | PROTOCOL_MISSING | Yes | Add protocol injection block |
129
- | 61 | INVALID_RETURN_MESSAGE | Yes | Fix return format |
130
- | 62 | MANIFEST_ENTRY_MISSING | Yes | Append MANIFEST.jsonl entry |
131
- | 63 | SPAWN_VALIDATION_FAILED | Yes | Fix spawn parameters |
132
- | 64 | AUTONOMOUS_BOUNDARY | No | Requires HITL decision |
133
- | 65 | HANDOFF_REQUIRED | No | Generate handoff document |
134
- | 66 | RESUME_FAILED | Yes | Check session/handoff validity |
135
- | 67 | CONCURRENT_SESSION | Yes | End other session first |
136
-
137
- **NOTE**: Codes 60-67 have a known collision between protocol validation (RCSD) and orchestrator functions. They are isolated by usage context.
138
-
139
- ### Nexus (70-79)
140
-
141
- | Code | Constant | Recoverable | Recovery |
142
- |------|----------|:-----------:|----------|
143
- | 70 | NEXUS_NOT_INITIALIZED | Yes | Run nexus init |
144
- | 71 | NEXUS_PROJECT_NOT_FOUND | Yes | Register project first |
145
- | 72 | NEXUS_PERMISSION_DENIED | No | Check permissions |
146
- | 73 | NEXUS_INVALID_SYNTAX | Yes | Fix query syntax |
147
- | 74 | NEXUS_SYNC_FAILED | Yes | Retry sync |
148
- | 75 | NEXUS_REGISTRY_CORRUPT | No | Manual repair needed |
149
- | 76 | NEXUS_PROJECT_EXISTS | Yes | Already registered |
150
- | 77 | NEXUS_QUERY_FAILED | Yes | Retry or refine query |
151
- | 78 | NEXUS_GRAPH_ERROR | Yes | Retry |
152
- | 79 | NEXUS_RESERVED | - | Reserved |
153
-
154
- ### Lifecycle (80-84)
155
-
156
- | Code | Constant | Recoverable | Recovery |
157
- |------|----------|:-----------:|----------|
158
- | 80 | LIFECYCLE_GATE_FAILED | Yes | Complete prerequisite RCSD stages |
159
- | 81 | AUDIT_MISSING | Yes | Add required audit fields |
160
- | 82 | CIRCULAR_VALIDATION | No | Assign different validator |
161
- | 83 | LIFECYCLE_TRANSITION_INVALID | No | Follow RCSD->IVTR sequence |
162
- | 84 | PROVENANCE_REQUIRED | Yes | Add provenance fields |
163
-
164
- ### Special (100+) - NOT errors
165
-
166
- | Code | Constant | Meaning | Agent Action |
167
- |------|----------|---------|-------------|
168
- | 100 | NO_DATA | Query returned empty | Do NOT retry. No matching data. |
169
- | 101 | ALREADY_EXISTS | Resource exists | Treat as success. |
170
- | 102 | NO_CHANGE | No-op (idempotent) | Treat as success. Do NOT retry. |
171
-
172
- ## Error Recovery Decision Trees
173
-
174
- ### Exit 34 (TASK_NOT_IN_SCOPE)
175
- ```
176
- 1. ct session status -> get current scope
177
- 2. ct show T### -> get task's parent epic
178
- 3. ct session end --note "Scope mismatch"
179
- 4. ct session start --scope epic:<parentId> --auto-start --name "Name"
180
- 5. RETRY original command
181
- ```
182
-
183
- ### Exit 35 (TASK_CLAIMED)
184
- ```
185
- 1. ct next -> get unclaimed task suggestion
186
- 2. ct start <suggested> -> switch to unclaimed task
187
- ```
188
-
189
- ### Exit 38 (START_REQUIRED)
190
- ```
191
- 1. ct start T### -> start working on target task
192
- 2. RETRY original command
193
- ```
194
-
195
- ### Exit 100 (NO_DATA) with session start
196
- ```
197
- 1. ct session list -> check existing sessions
198
- 2. IF sessions exist: ct session resume <id>
199
- 3. ELSE: ct session start --scope epic:T### --auto-start --name "Name"
200
- ```
201
-
202
- ## State Transitions
203
-
204
- | From | To | Via Command |
205
- |------|----|-------------|
206
- | pending | active | `ct start T###` |
207
- | pending | blocked | `ct update T### --status blocked` |
208
- | pending | done | `ct complete T###` |
209
- | active | pending | `ct start <other>` (stops current) |
210
- | active | blocked | `ct update T### --status blocked` |
211
- | active | done | `ct complete T###` |
212
- | blocked | pending | `ct update T### --status pending` |
213
- | blocked | active | `ct start T###` |
214
- | done | active | `ct reopen T###` |
215
-
216
- Valid statuses: `pending` | `active` | `blocked` | `done`
217
-
218
- ## JSON Output Format
219
-
220
- All commands return:
221
- ```json
222
- {"_meta":{"command":"...","timestamp":"...","version":"..."},"success":true,...}
223
- ```
224
-
225
- Errors return:
226
- ```json
227
- {"_meta":{...},"success":false,"error":{"code":"E_...","exitCode":N,"message":"...","fix":"ct ...","alternatives":[{"action":"...","command":"ct ..."}]}}
228
- ```
229
-
230
- **Parsing patterns**:
231
- - Success check: `jq '.success'`
232
- - Error code: `jq '.error.code'`
233
- - Fix command: `jq -r '.error.fix'`
234
- - Results field: `jq -r '._meta.resultsField'` -> tells which key has primary data
235
-
236
- ## Constraints
237
-
238
- | Rule | Value |
239
- |------|-------|
240
- | Hierarchy depth | Max 3 (epic -> task -> subtask) |
241
- | Siblings per parent | Max configurable (default varies) |
242
- | Valid statuses | pending, active, blocked, done |
243
- | ID format | T### (sequential, immutable) |
244
- | Shell escaping | Escape `$` as `\$` in arguments |
245
- | Context efficiency | Use `find` (not `list`) for discovery |
246
- | Discovery pattern | `find` -> `show` for details |
247
-
248
- ## Subagent Protocol
249
-
250
- 1. `ct start T###` - Start task before work
251
- 2. Execute implementation work
252
- 3. Write output file to designated path
253
- 4. Append ONE line to `MANIFEST.jsonl` (compact JSON, no pretty-print)
254
- 5. `ct complete T###` - Mark task done
255
- 6. Return summary message ONLY (no file content)
256
-
257
- **Manifest entry format**:
258
- ```json
259
- {"id":"T###-slug","file":"path","title":"...","date":"YYYY-MM-DD","status":"complete","agent_type":"...","topics":[],"key_findings":[],"actionable":true,"needs_followup":[],"linked_tasks":["T###"]}
260
- ```