@cleocode/cleo 2026.2.8 → 2026.3.0

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 (62) hide show
  1. package/README.md +14 -13
  2. package/dist/cli/index.js +22676 -26012
  3. package/dist/cli/index.js.map +4 -4
  4. package/dist/mcp/index.js +1651 -802
  5. package/dist/mcp/index.js.map +4 -4
  6. package/drizzle/20260301053344_careless_changeling/migration.sql +27 -0
  7. package/drizzle/20260301053344_careless_changeling/snapshot.json +2598 -0
  8. package/package.json +3 -4
  9. package/packages/ct-skills/skills/ct-cleo/SKILL.md +49 -22
  10. package/templates/CLEO-INJECTION.md +32 -138
  11. package/templates/cleo-gitignore +66 -49
  12. package/templates/git-hooks/pre-commit +24 -6
  13. package/schemas/archive/agent-configs.schema.json +0 -120
  14. package/schemas/archive/agent-registry.schema.json +0 -132
  15. package/schemas/archive/archive.schema.json +0 -450
  16. package/schemas/archive/claudedocs-frontmatter.schema.json +0 -162
  17. package/schemas/archive/commands-index.schema.json +0 -158
  18. package/schemas/archive/contribution.schema.json +0 -722
  19. package/schemas/archive/critical-path.schema.json +0 -246
  20. package/schemas/archive/deps-cache.schema.json +0 -97
  21. package/schemas/archive/doctor-output.schema.json +0 -283
  22. package/schemas/archive/error.schema.json +0 -161
  23. package/schemas/archive/export-package.schema.json +0 -375
  24. package/schemas/archive/global-config.schema.json +0 -219
  25. package/schemas/archive/log.schema.json +0 -250
  26. package/schemas/archive/metrics.schema.json +0 -328
  27. package/schemas/archive/migrations.schema.json +0 -150
  28. package/schemas/archive/nexus-registry.schema.json +0 -90
  29. package/schemas/archive/output.schema.json +0 -164
  30. package/schemas/archive/rcsd-consensus-report.schema.json +0 -491
  31. package/schemas/archive/rcsd-hitl-resolution.schema.json +0 -216
  32. package/schemas/archive/rcsd-index.schema.json +0 -384
  33. package/schemas/archive/rcsd-manifest.schema.json +0 -264
  34. package/schemas/archive/rcsd-research-output.schema.json +0 -564
  35. package/schemas/archive/rcsd-spec-frontmatter.schema.json +0 -225
  36. package/schemas/archive/releases.schema.json +0 -267
  37. package/schemas/archive/skills-manifest.schema.json +0 -91
  38. package/schemas/archive/skillsmp.schema.json +0 -208
  39. package/schemas/archive/spec-index.schema.json +0 -196
  40. package/schemas/archive/todo.schema.json +0 -995
  41. package/schemas/claudedocs-frontmatter.schema.json +0 -162
  42. package/schemas/commands-index.schema.json +0 -158
  43. package/schemas/rcsd-consensus-report.schema.json +0 -494
  44. package/schemas/rcsd-hitl-resolution.schema.json +0 -219
  45. package/schemas/rcsd-index.schema.json +0 -387
  46. package/schemas/rcsd-manifest.schema.json +0 -267
  47. package/schemas/rcsd-research-output.schema.json +0 -567
  48. package/schemas/rcsd-spec-frontmatter.schema.json +0 -225
  49. package/schemas/todo.schema.json +0 -994
  50. package/skills/_shared/cleo-style-guide.md +0 -84
  51. package/skills/_shared/manifest-operations.md +0 -810
  52. package/skills/_shared/placeholders.json +0 -433
  53. package/skills/_shared/skill-chaining-patterns.md +0 -240
  54. package/skills/_shared/subagent-protocol-base.md +0 -221
  55. package/skills/_shared/task-system-integration.md +0 -232
  56. package/skills/_shared/testing-framework-config.md +0 -110
  57. package/skills/agentskills-integrate.md +0 -104
  58. package/skills/agentskills-specs.md +0 -255
  59. package/skills/agentskills-what-are-skills.md +0 -75
  60. package/skills/manifest.json +0 -510
  61. package/templates/AGENT-INJECTION.md +0 -166
  62. /package/schemas/{research-manifest.schema.json → archive/research-manifest.schema.json} +0 -0
@@ -1,564 +0,0 @@
1
- {
2
- "$schema": "http://json-schema.org/draft-07/schema#",
3
- "schemaVersion": "1.0.0",
4
- "$id": "https://cleo-dev.com/schemas/v1/rcsd-research-output.schema.json",
5
- "title": "RCSD Research Output",
6
- "description": "Schema for research phase output in the RCSD pipeline. Captures multi-source research findings, evidence chains, and confidence assessments.",
7
- "type": "object",
8
- "required": ["$schema", "_meta", "query", "status", "sources", "findings"],
9
- "additionalProperties": false,
10
-
11
- "properties": {
12
- "$schema": {
13
- "type": "string",
14
- "const": "https://cleo-dev.com/schemas/v1/rcsd-research-output.schema.json",
15
- "description": "Self-referencing schema URI for validation"
16
- },
17
- "_meta": {
18
- "type": "object",
19
- "description": "Research output metadata",
20
- "required": ["researchId", "taskId", "shortName", "createdAt"],
21
- "additionalProperties": false,
22
- "properties": {
23
- "researchId": {
24
- "type": "string",
25
- "pattern": "^res_[a-f0-9]{8}$",
26
- "description": "Unique research operation identifier"
27
- },
28
- "taskId": {
29
- "type": "string",
30
- "pattern": "^T\\d{3,}$",
31
- "description": "Anchoring task ID"
32
- },
33
- "shortName": {
34
- "type": "string",
35
- "pattern": "^[a-z0-9-]{3,25}$",
36
- "description": "Short identifier for this research"
37
- },
38
- "version": {
39
- "type": "string",
40
- "pattern": "^\\d+\\.\\d+\\.\\d+$",
41
- "default": "1.0.0",
42
- "description": "Research output version"
43
- },
44
- "createdAt": {
45
- "type": "string",
46
- "format": "date-time",
47
- "description": "When research began"
48
- },
49
- "completedAt": {
50
- "type": "string",
51
- "format": "date-time",
52
- "description": "When research finished"
53
- },
54
- "duration": {
55
- "type": "integer",
56
- "minimum": 0,
57
- "description": "Research duration in seconds"
58
- }
59
- }
60
- },
61
- "query": {
62
- "type": "object",
63
- "description": "Research query specification",
64
- "required": ["original"],
65
- "additionalProperties": false,
66
- "properties": {
67
- "original": {
68
- "type": "string",
69
- "minLength": 10,
70
- "maxLength": 500,
71
- "description": "Original research query from task"
72
- },
73
- "expanded": {
74
- "type": "array",
75
- "items": {
76
- "type": "string",
77
- "maxLength": 200
78
- },
79
- "description": "Expanded search queries derived from original"
80
- },
81
- "domains": {
82
- "type": "array",
83
- "items": {
84
- "type": "string",
85
- "pattern": "^[a-z][a-z0-9-]*$"
86
- },
87
- "description": "Target domains for research focus"
88
- },
89
- "exclusions": {
90
- "type": "array",
91
- "items": {
92
- "type": "string"
93
- },
94
- "description": "Terms or domains explicitly excluded"
95
- },
96
- "context": {
97
- "type": "string",
98
- "maxLength": 1000,
99
- "description": "Additional context for research interpretation"
100
- }
101
- }
102
- },
103
- "status": {
104
- "type": "string",
105
- "enum": ["pending", "in_progress", "completed", "failed", "partial"],
106
- "description": "Research operation status"
107
- },
108
- "sources": {
109
- "type": "object",
110
- "description": "Source tracking and citation management",
111
- "required": ["searched", "used", "citations"],
112
- "additionalProperties": false,
113
- "properties": {
114
- "searched": {
115
- "type": "integer",
116
- "minimum": 0,
117
- "description": "Total sources searched/considered"
118
- },
119
- "used": {
120
- "type": "integer",
121
- "minimum": 0,
122
- "description": "Sources actually used in findings"
123
- },
124
- "byTool": {
125
- "type": "object",
126
- "description": "Source counts by research tool",
127
- "additionalProperties": false,
128
- "properties": {
129
- "tavily": {
130
- "type": "integer",
131
- "minimum": 0,
132
- "description": "Sources from Tavily web search"
133
- },
134
- "context7": {
135
- "type": "integer",
136
- "minimum": 0,
137
- "description": "Sources from Context7 library docs"
138
- },
139
- "webFetch": {
140
- "type": "integer",
141
- "minimum": 0,
142
- "description": "Sources from direct URL extraction"
143
- },
144
- "reddit": {
145
- "type": "integer",
146
- "minimum": 0,
147
- "description": "Sources from Reddit discussions"
148
- },
149
- "codebase": {
150
- "type": "integer",
151
- "minimum": 0,
152
- "description": "Sources from existing codebase"
153
- }
154
- }
155
- },
156
- "citations": {
157
- "type": "array",
158
- "items": {
159
- "$ref": "#/definitions/citation"
160
- },
161
- "description": "All citations referenced in findings"
162
- }
163
- }
164
- },
165
- "findings": {
166
- "type": "array",
167
- "minItems": 0,
168
- "items": {
169
- "$ref": "#/definitions/finding"
170
- },
171
- "description": "Individual research findings with evidence"
172
- },
173
- "themes": {
174
- "type": "array",
175
- "items": {
176
- "$ref": "#/definitions/theme"
177
- },
178
- "description": "Recurring themes identified across findings"
179
- },
180
- "contradictions": {
181
- "type": "array",
182
- "items": {
183
- "$ref": "#/definitions/contradiction"
184
- },
185
- "description": "Conflicting information requiring resolution"
186
- },
187
- "gaps": {
188
- "type": "array",
189
- "items": {
190
- "$ref": "#/definitions/gap"
191
- },
192
- "description": "Identified knowledge gaps requiring further research"
193
- },
194
- "actionableItems": {
195
- "type": "array",
196
- "items": {
197
- "$ref": "#/definitions/actionableItem"
198
- },
199
- "description": "Concrete recommendations derived from research"
200
- },
201
- "confidence": {
202
- "type": "object",
203
- "description": "Overall research confidence assessment",
204
- "required": ["overall"],
205
- "additionalProperties": false,
206
- "properties": {
207
- "overall": {
208
- "type": "number",
209
- "minimum": 0.0,
210
- "maximum": 1.0,
211
- "description": "Overall confidence score (0.0-1.0)"
212
- },
213
- "factors": {
214
- "type": "object",
215
- "description": "Factors contributing to confidence assessment",
216
- "additionalProperties": false,
217
- "properties": {
218
- "sourceQuality": {
219
- "type": "number",
220
- "minimum": 0.0,
221
- "maximum": 1.0,
222
- "description": "Quality/authority of sources"
223
- },
224
- "sourceDiversity": {
225
- "type": "number",
226
- "minimum": 0.0,
227
- "maximum": 1.0,
228
- "description": "Diversity of source types and perspectives"
229
- },
230
- "evidenceStrength": {
231
- "type": "number",
232
- "minimum": 0.0,
233
- "maximum": 1.0,
234
- "description": "Strength of evidence for claims"
235
- },
236
- "consistency": {
237
- "type": "number",
238
- "minimum": 0.0,
239
- "maximum": 1.0,
240
- "description": "Agreement across sources"
241
- },
242
- "recency": {
243
- "type": "number",
244
- "minimum": 0.0,
245
- "maximum": 1.0,
246
- "description": "How current the information is"
247
- }
248
- }
249
- },
250
- "caveats": {
251
- "type": "array",
252
- "items": {
253
- "type": "string",
254
- "maxLength": 200
255
- },
256
- "description": "Important limitations or uncertainties"
257
- }
258
- }
259
- },
260
- "rawData": {
261
- "type": "object",
262
- "description": "Optional raw data from research tools (for debugging/audit)",
263
- "properties": {
264
- "tavilyResponses": {
265
- "type": "array",
266
- "description": "Raw Tavily API responses"
267
- },
268
- "context7Responses": {
269
- "type": "array",
270
- "description": "Raw Context7 API responses"
271
- },
272
- "extractedContent": {
273
- "type": "array",
274
- "description": "Raw extracted URL content"
275
- }
276
- }
277
- }
278
- },
279
-
280
- "definitions": {
281
- "citation": {
282
- "type": "object",
283
- "required": ["id", "type", "title"],
284
- "additionalProperties": false,
285
- "properties": {
286
- "id": {
287
- "type": "string",
288
- "pattern": "^cite_[a-f0-9]{6}$",
289
- "description": "Unique citation identifier"
290
- },
291
- "type": {
292
- "type": "string",
293
- "enum": ["web", "documentation", "article", "discussion", "codebase", "book", "paper"],
294
- "description": "Source type classification"
295
- },
296
- "title": {
297
- "type": "string",
298
- "maxLength": 200,
299
- "description": "Source title"
300
- },
301
- "url": {
302
- "type": "string",
303
- "format": "uri",
304
- "description": "Source URL (if applicable)"
305
- },
306
- "author": {
307
- "type": "string",
308
- "maxLength": 100,
309
- "description": "Author or organization"
310
- },
311
- "date": {
312
- "type": "string",
313
- "format": "date",
314
- "description": "Publication/access date"
315
- },
316
- "reliability": {
317
- "type": "string",
318
- "enum": ["high", "medium", "low", "unknown"],
319
- "description": "Source reliability assessment"
320
- },
321
- "tool": {
322
- "type": "string",
323
- "enum": ["tavily", "context7", "webFetch", "reddit", "codebase", "manual"],
324
- "description": "Tool used to retrieve this source"
325
- },
326
- "excerpt": {
327
- "type": "string",
328
- "maxLength": 500,
329
- "description": "Key excerpt from source"
330
- }
331
- }
332
- },
333
- "finding": {
334
- "type": "object",
335
- "required": ["id", "claim", "confidence"],
336
- "additionalProperties": false,
337
- "properties": {
338
- "id": {
339
- "type": "string",
340
- "pattern": "^find_[a-f0-9]{6}$",
341
- "description": "Unique finding identifier"
342
- },
343
- "claim": {
344
- "type": "string",
345
- "minLength": 10,
346
- "maxLength": 500,
347
- "description": "The claim or fact discovered"
348
- },
349
- "evidence": {
350
- "type": "array",
351
- "items": {
352
- "type": "object",
353
- "required": ["citationId", "quote"],
354
- "additionalProperties": false,
355
- "properties": {
356
- "citationId": {
357
- "type": "string",
358
- "pattern": "^cite_[a-f0-9]{6}$",
359
- "description": "Reference to source citation"
360
- },
361
- "quote": {
362
- "type": "string",
363
- "maxLength": 500,
364
- "description": "Supporting quote from source"
365
- },
366
- "weight": {
367
- "type": "number",
368
- "minimum": 0.0,
369
- "maximum": 1.0,
370
- "description": "Evidence weight (0.0-1.0)"
371
- }
372
- }
373
- },
374
- "description": "Evidence supporting this finding"
375
- },
376
- "sourceCount": {
377
- "type": "integer",
378
- "minimum": 1,
379
- "description": "Number of sources supporting this finding"
380
- },
381
- "confidence": {
382
- "type": "number",
383
- "minimum": 0.0,
384
- "maximum": 1.0,
385
- "description": "Confidence in this specific finding"
386
- },
387
- "relevance": {
388
- "type": "number",
389
- "minimum": 0.0,
390
- "maximum": 1.0,
391
- "description": "Relevance to original query"
392
- },
393
- "category": {
394
- "type": "string",
395
- "enum": ["fact", "best-practice", "pattern", "warning", "opinion", "requirement"],
396
- "description": "Finding classification"
397
- },
398
- "tags": {
399
- "type": "array",
400
- "items": {
401
- "type": "string",
402
- "pattern": "^[a-z][a-z0-9-]*$"
403
- },
404
- "description": "Tags for categorization"
405
- }
406
- }
407
- },
408
- "theme": {
409
- "type": "object",
410
- "required": ["id", "name", "findingIds"],
411
- "additionalProperties": false,
412
- "properties": {
413
- "id": {
414
- "type": "string",
415
- "pattern": "^theme_[a-f0-9]{4}$",
416
- "description": "Unique theme identifier"
417
- },
418
- "name": {
419
- "type": "string",
420
- "maxLength": 100,
421
- "description": "Theme name"
422
- },
423
- "description": {
424
- "type": "string",
425
- "maxLength": 300,
426
- "description": "Theme description"
427
- },
428
- "findingIds": {
429
- "type": "array",
430
- "items": {
431
- "type": "string",
432
- "pattern": "^find_[a-f0-9]{6}$"
433
- },
434
- "minItems": 2,
435
- "description": "Findings contributing to this theme"
436
- },
437
- "strength": {
438
- "type": "string",
439
- "enum": ["strong", "moderate", "weak"],
440
- "description": "Theme strength based on evidence"
441
- }
442
- }
443
- },
444
- "contradiction": {
445
- "type": "object",
446
- "required": ["id", "description", "findingIds"],
447
- "additionalProperties": false,
448
- "properties": {
449
- "id": {
450
- "type": "string",
451
- "pattern": "^contra_[a-f0-9]{4}$",
452
- "description": "Unique contradiction identifier"
453
- },
454
- "description": {
455
- "type": "string",
456
- "maxLength": 300,
457
- "description": "Description of the contradiction"
458
- },
459
- "findingIds": {
460
- "type": "array",
461
- "items": {
462
- "type": "string",
463
- "pattern": "^find_[a-f0-9]{6}$"
464
- },
465
- "minItems": 2,
466
- "description": "Conflicting finding IDs"
467
- },
468
- "resolution": {
469
- "type": "string",
470
- "maxLength": 300,
471
- "description": "Proposed resolution (if any)"
472
- },
473
- "severity": {
474
- "type": "string",
475
- "enum": ["critical", "significant", "minor"],
476
- "description": "Impact severity of contradiction"
477
- },
478
- "requiresConsensus": {
479
- "type": "boolean",
480
- "default": true,
481
- "description": "Whether consensus validation is needed"
482
- }
483
- }
484
- },
485
- "gap": {
486
- "type": "object",
487
- "required": ["id", "description"],
488
- "additionalProperties": false,
489
- "properties": {
490
- "id": {
491
- "type": "string",
492
- "pattern": "^gap_[a-f0-9]{4}$",
493
- "description": "Unique gap identifier"
494
- },
495
- "description": {
496
- "type": "string",
497
- "maxLength": 300,
498
- "description": "Description of knowledge gap"
499
- },
500
- "importance": {
501
- "type": "string",
502
- "enum": ["critical", "high", "medium", "low"],
503
- "description": "Importance of filling this gap"
504
- },
505
- "suggestedSources": {
506
- "type": "array",
507
- "items": {
508
- "type": "string",
509
- "maxLength": 100
510
- },
511
- "description": "Suggested sources to investigate"
512
- },
513
- "blocksFindings": {
514
- "type": "array",
515
- "items": {
516
- "type": "string",
517
- "pattern": "^find_[a-f0-9]{6}$"
518
- },
519
- "description": "Findings affected by this gap"
520
- }
521
- }
522
- },
523
- "actionableItem": {
524
- "type": "object",
525
- "required": ["id", "action", "priority"],
526
- "additionalProperties": false,
527
- "properties": {
528
- "id": {
529
- "type": "string",
530
- "pattern": "^action_[a-f0-9]{4}$",
531
- "description": "Unique action identifier"
532
- },
533
- "action": {
534
- "type": "string",
535
- "maxLength": 200,
536
- "description": "Recommended action"
537
- },
538
- "rationale": {
539
- "type": "string",
540
- "maxLength": 300,
541
- "description": "Why this action is recommended"
542
- },
543
- "priority": {
544
- "type": "string",
545
- "enum": ["critical", "high", "medium", "low"],
546
- "description": "Action priority"
547
- },
548
- "basedOn": {
549
- "type": "array",
550
- "items": {
551
- "type": "string",
552
- "pattern": "^find_[a-f0-9]{6}$"
553
- },
554
- "description": "Findings supporting this recommendation"
555
- },
556
- "effort": {
557
- "type": "string",
558
- "enum": ["small", "medium", "large"],
559
- "description": "Estimated effort (NOT time)"
560
- }
561
- }
562
- }
563
- }
564
- }