@cleocode/core 2026.3.45 → 2026.3.47
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/dist/bootstrap.d.ts.map +1 -1
- package/dist/index.js +1508 -377
- package/dist/index.js.map +4 -4
- package/dist/init.d.ts.map +1 -1
- package/dist/injection.d.ts +1 -1
- package/dist/injection.d.ts.map +1 -1
- package/dist/routing/capability-matrix.d.ts +6 -4
- package/dist/routing/capability-matrix.d.ts.map +1 -1
- package/dist/scaffold.d.ts +35 -9
- package/dist/scaffold.d.ts.map +1 -1
- package/dist/skills/agents/install.d.ts.map +1 -1
- package/dist/skills/routing-table.d.ts +17 -16
- package/dist/skills/routing-table.d.ts.map +1 -1
- package/dist/skills/skill-paths.d.ts.map +1 -1
- package/dist/system/health.d.ts.map +1 -1
- package/dist/ui/index.d.ts +0 -1
- package/dist/ui/index.d.ts.map +1 -1
- package/package.json +9 -4
- package/schemas/adr-frontmatter.schema.json +72 -0
- package/schemas/agent-configs.schema.json +120 -0
- package/schemas/agent-registry.json +243 -0
- package/schemas/agent-registry.schema.json +132 -0
- package/schemas/archive/research-manifest.schema.json +257 -0
- package/schemas/archive.schema.json +450 -0
- package/schemas/brain-decision.schema.json +69 -0
- package/schemas/brain-learning.schema.json +57 -0
- package/schemas/brain-pattern.schema.json +72 -0
- package/schemas/config.schema.json +2606 -0
- package/schemas/context-state.schema.json +137 -0
- package/schemas/contribution.schema.json +722 -0
- package/schemas/critical-path.schema.json +246 -0
- package/schemas/deps-cache.schema.json +97 -0
- package/schemas/doctor-output.schema.json +283 -0
- package/schemas/error.schema.json +161 -0
- package/schemas/export-package.schema.json +375 -0
- package/schemas/global-config.schema.json +219 -0
- package/schemas/grade.schema.json +49 -0
- package/schemas/log.schema.json +250 -0
- package/schemas/metrics.schema.json +328 -0
- package/schemas/migrations.schema.json +150 -0
- package/schemas/nexus-registry.schema.json +90 -0
- package/schemas/operation-constitution.schema.json +438 -0
- package/schemas/output.schema.json +164 -0
- package/schemas/project-context.schema.json +164 -0
- package/schemas/project-info.schema.json +180 -0
- package/schemas/projects-registry.schema.json +107 -0
- package/schemas/protocol-frontmatter.schema.json +72 -0
- package/schemas/rcasd-consensus-report.schema.json +10 -0
- package/schemas/rcasd-evidence.schema.json +42 -0
- package/schemas/rcasd-gate-result.schema.json +46 -0
- package/schemas/rcasd-hitl-resolution.schema.json +10 -0
- package/schemas/rcasd-index.schema.json +10 -0
- package/schemas/rcasd-manifest.schema.json +10 -0
- package/schemas/rcasd-research-output.schema.json +10 -0
- package/schemas/rcasd-spec-frontmatter.schema.json +10 -0
- package/schemas/rcasd-stage-transition.schema.json +38 -0
- package/schemas/releases.schema.json +267 -0
- package/schemas/skills-manifest.schema.json +91 -0
- package/schemas/skillsmp.schema.json +208 -0
- package/schemas/spec-index.schema.json +196 -0
- package/schemas/system-flow-atlas.schema.json +125 -0
- package/src/__tests__/injection-chain.test.d.ts +4 -3
- package/src/__tests__/injection-chain.test.d.ts.map +1 -1
- package/src/__tests__/injection-chain.test.js +11 -10
- package/src/__tests__/injection-chain.test.js.map +1 -1
- package/src/__tests__/injection-chain.test.ts +11 -10
- package/src/__tests__/injection-mvi-tiers.test.js +4 -2
- package/src/__tests__/injection-mvi-tiers.test.js.map +1 -1
- package/src/__tests__/injection-mvi-tiers.test.ts +4 -2
- package/src/agents/__tests__/capacity.test.d.ts +7 -0
- package/src/agents/__tests__/capacity.test.d.ts.map +1 -0
- package/src/agents/__tests__/capacity.test.js +173 -0
- package/src/agents/__tests__/capacity.test.js.map +1 -0
- package/src/agents/__tests__/registry.test.d.ts +8 -0
- package/src/agents/__tests__/registry.test.d.ts.map +1 -0
- package/src/agents/__tests__/registry.test.js +348 -0
- package/src/agents/__tests__/registry.test.js.map +1 -0
- package/src/agents/__tests__/retry.test.d.ts +7 -0
- package/src/agents/__tests__/retry.test.d.ts.map +1 -0
- package/src/agents/__tests__/retry.test.js +225 -0
- package/src/agents/__tests__/retry.test.js.map +1 -0
- package/src/bootstrap.ts +37 -6
- package/src/init.ts +63 -18
- package/src/injection.ts +11 -5
- package/src/intelligence/__tests__/impact.test.d.ts +15 -0
- package/src/intelligence/__tests__/impact.test.d.ts.map +1 -0
- package/src/intelligence/__tests__/impact.test.js +384 -0
- package/src/intelligence/__tests__/impact.test.js.map +1 -0
- package/src/intelligence/__tests__/patterns.test.d.ts +8 -0
- package/src/intelligence/__tests__/patterns.test.d.ts.map +1 -0
- package/src/intelligence/__tests__/patterns.test.js +370 -0
- package/src/intelligence/__tests__/patterns.test.js.map +1 -0
- package/src/intelligence/__tests__/prediction.test.d.ts +8 -0
- package/src/intelligence/__tests__/prediction.test.d.ts.map +1 -0
- package/src/intelligence/__tests__/prediction.test.js +314 -0
- package/src/intelligence/__tests__/prediction.test.js.map +1 -0
- package/src/nexus/__tests__/nexus-e2e.test.d.ts +12 -0
- package/src/nexus/__tests__/nexus-e2e.test.d.ts.map +1 -0
- package/src/nexus/__tests__/nexus-e2e.test.js +1220 -0
- package/src/nexus/__tests__/nexus-e2e.test.js.map +1 -0
- package/src/nexus/__tests__/transfer.test.d.ts +8 -0
- package/src/nexus/__tests__/transfer.test.d.ts.map +1 -0
- package/src/nexus/__tests__/transfer.test.js +372 -0
- package/src/nexus/__tests__/transfer.test.js.map +1 -0
- package/src/nexus/__tests__/transfer.test.ts +1 -1
- package/src/routing/capability-matrix.ts +1435 -205
- package/src/scaffold.ts +70 -13
- package/src/sessions/__tests__/briefing.test.js +28 -2
- package/src/sessions/__tests__/briefing.test.js.map +1 -1
- package/src/skills/__tests__/routing-table.test.js +48 -31
- package/src/skills/__tests__/routing-table.test.js.map +1 -1
- package/src/skills/__tests__/routing-table.test.ts +53 -33
- package/src/skills/agents/install.ts +9 -1
- package/src/skills/orchestrator/__tests__/spawn-tier.test.js +41 -32
- package/src/skills/orchestrator/__tests__/spawn-tier.test.js.map +1 -1
- package/src/skills/routing-table.ts +39 -253
- package/src/skills/skill-paths.ts +3 -2
- package/src/store/__tests__/project-detect.test.js +1 -1
- package/src/store/__tests__/project-detect.test.js.map +1 -1
- package/src/store/__tests__/project-detect.test.ts +1 -1
- package/src/store/__tests__/test-db-helper.d.ts.map +1 -1
- package/src/store/__tests__/test-db-helper.js +0 -1
- package/src/store/__tests__/test-db-helper.js.map +1 -1
- package/src/system/health.ts +18 -7
- package/src/ui/index.ts +0 -6
- package/src/validation/operation-gate-validators.ts +2 -2
- package/templates/CLEO-INJECTION.md +120 -0
- package/templates/README.md +29 -0
- package/templates/agent-registry.json +305 -0
- package/templates/cleo-gitignore +74 -0
- package/templates/config.template.json +187 -0
- package/templates/git-hooks/commit-msg +149 -0
- package/templates/git-hooks/pre-commit +40 -0
- package/templates/git-hooks/pre-push +79 -0
- package/templates/github/ISSUE_TEMPLATE/bug_report.yml +143 -0
- package/templates/github/ISSUE_TEMPLATE/config.yml +8 -0
- package/templates/github/ISSUE_TEMPLATE/feature_request.yml +125 -0
- package/templates/github/ISSUE_TEMPLATE/help_question.yml +99 -0
- package/templates/global-config.template.json +56 -0
- package/templates/hooks/precompact-safestop.sh +89 -0
- package/templates/issue-templates/bug_report.yml +143 -0
- package/templates/issue-templates/config.yml +8 -0
- package/templates/issue-templates/feature_request.yml +125 -0
- package/templates/issue-templates/help_question.yml +99 -0
- package/templates/skillsmp.json.example +28 -0
- package/templates/skillsmp.json.example.md +214 -0
- package/dist/ui/injection-legacy.d.ts +0 -26
- package/dist/ui/injection-legacy.d.ts.map +0 -1
- package/src/ui/__tests__/injection-registry.test.d.ts +0 -11
- package/src/ui/__tests__/injection-registry.test.d.ts.map +0 -1
- package/src/ui/__tests__/injection-registry.test.js +0 -46
- package/src/ui/__tests__/injection-registry.test.js.map +0 -1
- package/src/ui/__tests__/injection-registry.test.ts +0 -57
- package/src/ui/injection-legacy.ts +0 -44
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
|
+
"$id": "https://cleo-dev.com/schemas/v1/rcasd-spec-frontmatter.schema.json",
|
|
4
|
+
"allOf": [
|
|
5
|
+
{
|
|
6
|
+
"$ref": "./rcsd-spec-frontmatter.schema.json"
|
|
7
|
+
}
|
|
8
|
+
],
|
|
9
|
+
"description": "RCASD schema alias. Backward compatible with legacy rcsd-spec-frontmatter schema."
|
|
10
|
+
}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
|
+
"schemaVersion": "1.0.0",
|
|
4
|
+
"$id": "https://cleo-dev.com/schemas/v1/rcasd-stage-transition.schema.json",
|
|
5
|
+
"title": "RCASD Stage Transition",
|
|
6
|
+
"description": "Schema for lifecycle pipeline stage transitions. Records movement between stages in the RCASD-IVTR pipeline.",
|
|
7
|
+
"type": "object",
|
|
8
|
+
"required": ["id", "pipelineId", "fromStageId", "toStageId", "transitionType", "createdAt"],
|
|
9
|
+
"additionalProperties": false,
|
|
10
|
+
"properties": {
|
|
11
|
+
"id": {
|
|
12
|
+
"type": "string",
|
|
13
|
+
"description": "Unique transition identifier"
|
|
14
|
+
},
|
|
15
|
+
"pipelineId": {
|
|
16
|
+
"type": "string",
|
|
17
|
+
"description": "Reference to the lifecycle pipeline"
|
|
18
|
+
},
|
|
19
|
+
"fromStageId": {
|
|
20
|
+
"type": "string",
|
|
21
|
+
"description": "Stage being transitioned from"
|
|
22
|
+
},
|
|
23
|
+
"toStageId": {
|
|
24
|
+
"type": "string",
|
|
25
|
+
"description": "Stage being transitioned to"
|
|
26
|
+
},
|
|
27
|
+
"transitionType": {
|
|
28
|
+
"type": "string",
|
|
29
|
+
"enum": ["automatic", "manual", "forced"],
|
|
30
|
+
"description": "How the transition was triggered"
|
|
31
|
+
},
|
|
32
|
+
"createdAt": {
|
|
33
|
+
"type": "string",
|
|
34
|
+
"format": "date-time",
|
|
35
|
+
"description": "When the transition occurred"
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
}
|
|
@@ -0,0 +1,267 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
|
+
"$id": "https://cleo-dev.com/schemas/v1/releases.schema.json",
|
|
4
|
+
"title": "CLEO Releases Schema",
|
|
5
|
+
"description": "Release provenance tracking with SLSA attestation metadata. Tracks full provenance chain: Task → Commit → PR → Changelog → Release → Artifact.",
|
|
6
|
+
"type": "object",
|
|
7
|
+
"required": ["_meta", "releases"],
|
|
8
|
+
"additionalProperties": false,
|
|
9
|
+
"properties": {
|
|
10
|
+
"_meta": {
|
|
11
|
+
"type": "object",
|
|
12
|
+
"required": ["schemaVersion", "createdAt", "updatedAt"],
|
|
13
|
+
"properties": {
|
|
14
|
+
"schemaVersion": {
|
|
15
|
+
"type": "string",
|
|
16
|
+
"pattern": "^\\d+\\.\\d+\\.\\d+$",
|
|
17
|
+
"description": "Schema version for releases.json"
|
|
18
|
+
},
|
|
19
|
+
"createdAt": {
|
|
20
|
+
"type": "string",
|
|
21
|
+
"format": "date-time",
|
|
22
|
+
"description": "ISO 8601 timestamp of file creation"
|
|
23
|
+
},
|
|
24
|
+
"updatedAt": {
|
|
25
|
+
"type": "string",
|
|
26
|
+
"format": "date-time",
|
|
27
|
+
"description": "ISO 8601 timestamp of last update"
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
},
|
|
31
|
+
"releases": {
|
|
32
|
+
"type": "array",
|
|
33
|
+
"description": "Array of release records with provenance metadata",
|
|
34
|
+
"items": {
|
|
35
|
+
"$ref": "#/definitions/release"
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
},
|
|
39
|
+
"definitions": {
|
|
40
|
+
"release": {
|
|
41
|
+
"type": "object",
|
|
42
|
+
"required": ["version", "date", "tasks", "commits", "artifacts", "provenance", "signing"],
|
|
43
|
+
"additionalProperties": false,
|
|
44
|
+
"properties": {
|
|
45
|
+
"version": {
|
|
46
|
+
"type": "string",
|
|
47
|
+
"pattern": "^\\d+\\.\\d+\\.\\d+(-[a-zA-Z0-9.]+)?(\\+[a-zA-Z0-9.]+)?$",
|
|
48
|
+
"description": "SemVer or CalVer version string (e.g., 1.0.0, 26.1.0)"
|
|
49
|
+
},
|
|
50
|
+
"date": {
|
|
51
|
+
"type": "string",
|
|
52
|
+
"format": "date-time",
|
|
53
|
+
"description": "ISO 8601 timestamp of release"
|
|
54
|
+
},
|
|
55
|
+
"tasks": {
|
|
56
|
+
"type": "array",
|
|
57
|
+
"description": "Task IDs included in this release",
|
|
58
|
+
"items": {
|
|
59
|
+
"type": "string",
|
|
60
|
+
"pattern": "^T[0-9]+$"
|
|
61
|
+
},
|
|
62
|
+
"uniqueItems": true
|
|
63
|
+
},
|
|
64
|
+
"commits": {
|
|
65
|
+
"type": "array",
|
|
66
|
+
"description": "Git commit SHAs included in this release",
|
|
67
|
+
"items": {
|
|
68
|
+
"type": "string",
|
|
69
|
+
"pattern": "^[a-f0-9]{7,40}$"
|
|
70
|
+
},
|
|
71
|
+
"uniqueItems": true
|
|
72
|
+
},
|
|
73
|
+
"artifacts": {
|
|
74
|
+
"type": "array",
|
|
75
|
+
"description": "Build artifacts with checksums",
|
|
76
|
+
"items": {
|
|
77
|
+
"$ref": "#/definitions/artifact"
|
|
78
|
+
}
|
|
79
|
+
},
|
|
80
|
+
"provenance": {
|
|
81
|
+
"$ref": "#/definitions/slsaProvenance"
|
|
82
|
+
},
|
|
83
|
+
"signing": {
|
|
84
|
+
"$ref": "#/definitions/signing"
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
},
|
|
88
|
+
"artifact": {
|
|
89
|
+
"type": "object",
|
|
90
|
+
"required": ["type"],
|
|
91
|
+
"additionalProperties": true,
|
|
92
|
+
"properties": {
|
|
93
|
+
"type": {
|
|
94
|
+
"type": "string",
|
|
95
|
+
"enum": [
|
|
96
|
+
"npm-package",
|
|
97
|
+
"python-wheel",
|
|
98
|
+
"python-sdist",
|
|
99
|
+
"cargo-crate",
|
|
100
|
+
"go-module",
|
|
101
|
+
"ruby-gem",
|
|
102
|
+
"github-release",
|
|
103
|
+
"docker-image",
|
|
104
|
+
"generic-tarball"
|
|
105
|
+
],
|
|
106
|
+
"description": "Artifact type/ecosystem"
|
|
107
|
+
},
|
|
108
|
+
"name": {
|
|
109
|
+
"type": "string",
|
|
110
|
+
"description": "Artifact name (e.g., package name, image tag)"
|
|
111
|
+
},
|
|
112
|
+
"path": {
|
|
113
|
+
"type": "string",
|
|
114
|
+
"description": "Relative path to artifact file"
|
|
115
|
+
},
|
|
116
|
+
"sha256": {
|
|
117
|
+
"type": "string",
|
|
118
|
+
"pattern": "^[a-f0-9]{64}$",
|
|
119
|
+
"description": "SHA-256 checksum of artifact"
|
|
120
|
+
},
|
|
121
|
+
"sha512": {
|
|
122
|
+
"type": "string",
|
|
123
|
+
"pattern": "^[a-f0-9]{128}$",
|
|
124
|
+
"description": "SHA-512 checksum of artifact (optional)"
|
|
125
|
+
},
|
|
126
|
+
"size": {
|
|
127
|
+
"type": "integer",
|
|
128
|
+
"minimum": 0,
|
|
129
|
+
"description": "Artifact size in bytes"
|
|
130
|
+
},
|
|
131
|
+
"registry": {
|
|
132
|
+
"type": "string",
|
|
133
|
+
"description": "Registry URL (e.g., https://registry.npmjs.org)"
|
|
134
|
+
},
|
|
135
|
+
"published": {
|
|
136
|
+
"type": "boolean",
|
|
137
|
+
"description": "Whether artifact was successfully published"
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
},
|
|
141
|
+
"slsaProvenance": {
|
|
142
|
+
"type": "object",
|
|
143
|
+
"required": ["slsaVersion", "slsaLevel", "enabled"],
|
|
144
|
+
"additionalProperties": true,
|
|
145
|
+
"properties": {
|
|
146
|
+
"slsaVersion": {
|
|
147
|
+
"type": "string",
|
|
148
|
+
"pattern": "^\\d+\\.\\d+$",
|
|
149
|
+
"description": "SLSA framework version (e.g., 1.0)"
|
|
150
|
+
},
|
|
151
|
+
"slsaLevel": {
|
|
152
|
+
"type": "string",
|
|
153
|
+
"enum": [
|
|
154
|
+
"SLSA_BUILD_LEVEL_1",
|
|
155
|
+
"SLSA_BUILD_LEVEL_2",
|
|
156
|
+
"SLSA_BUILD_LEVEL_3",
|
|
157
|
+
"SLSA_BUILD_LEVEL_4"
|
|
158
|
+
],
|
|
159
|
+
"description": "SLSA Build Level (1-4)"
|
|
160
|
+
},
|
|
161
|
+
"enabled": {
|
|
162
|
+
"type": "boolean",
|
|
163
|
+
"description": "Whether provenance tracking is enabled"
|
|
164
|
+
},
|
|
165
|
+
"buildType": {
|
|
166
|
+
"type": "string",
|
|
167
|
+
"description": "Build system identifier URI"
|
|
168
|
+
},
|
|
169
|
+
"builder": {
|
|
170
|
+
"type": "object",
|
|
171
|
+
"properties": {
|
|
172
|
+
"id": {
|
|
173
|
+
"type": "string",
|
|
174
|
+
"description": "Builder identifier URI"
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
},
|
|
178
|
+
"invocation": {
|
|
179
|
+
"type": "object",
|
|
180
|
+
"properties": {
|
|
181
|
+
"configSource": {
|
|
182
|
+
"type": "object",
|
|
183
|
+
"properties": {
|
|
184
|
+
"uri": {
|
|
185
|
+
"type": "string",
|
|
186
|
+
"description": "Source repository URI"
|
|
187
|
+
},
|
|
188
|
+
"digest": {
|
|
189
|
+
"type": "object",
|
|
190
|
+
"description": "Source commit digest"
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
},
|
|
196
|
+
"metadata": {
|
|
197
|
+
"type": "object",
|
|
198
|
+
"properties": {
|
|
199
|
+
"buildInvocationId": {
|
|
200
|
+
"type": "string",
|
|
201
|
+
"description": "Unique build invocation ID"
|
|
202
|
+
},
|
|
203
|
+
"buildStartedOn": {
|
|
204
|
+
"type": "string",
|
|
205
|
+
"format": "date-time",
|
|
206
|
+
"description": "Build start timestamp"
|
|
207
|
+
},
|
|
208
|
+
"buildFinishedOn": {
|
|
209
|
+
"type": "string",
|
|
210
|
+
"format": "date-time",
|
|
211
|
+
"description": "Build completion timestamp"
|
|
212
|
+
},
|
|
213
|
+
"completeness": {
|
|
214
|
+
"type": "object",
|
|
215
|
+
"properties": {
|
|
216
|
+
"parameters": {
|
|
217
|
+
"type": "boolean",
|
|
218
|
+
"description": "All build parameters captured"
|
|
219
|
+
},
|
|
220
|
+
"environment": {
|
|
221
|
+
"type": "boolean",
|
|
222
|
+
"description": "Build environment fully captured"
|
|
223
|
+
},
|
|
224
|
+
"materials": {
|
|
225
|
+
"type": "boolean",
|
|
226
|
+
"description": "All build materials captured"
|
|
227
|
+
}
|
|
228
|
+
}
|
|
229
|
+
},
|
|
230
|
+
"reproducible": {
|
|
231
|
+
"type": "boolean",
|
|
232
|
+
"description": "Whether build is reproducible"
|
|
233
|
+
}
|
|
234
|
+
}
|
|
235
|
+
}
|
|
236
|
+
}
|
|
237
|
+
},
|
|
238
|
+
"signing": {
|
|
239
|
+
"type": "object",
|
|
240
|
+
"required": ["method", "signed"],
|
|
241
|
+
"additionalProperties": true,
|
|
242
|
+
"properties": {
|
|
243
|
+
"method": {
|
|
244
|
+
"type": "string",
|
|
245
|
+
"enum": ["sigstore", "gpg", "none"],
|
|
246
|
+
"description": "Signing method used"
|
|
247
|
+
},
|
|
248
|
+
"keyless": {
|
|
249
|
+
"type": "boolean",
|
|
250
|
+
"description": "Whether keyless signing was used (Sigstore)"
|
|
251
|
+
},
|
|
252
|
+
"signed": {
|
|
253
|
+
"type": "boolean",
|
|
254
|
+
"description": "Whether artifacts are signed"
|
|
255
|
+
},
|
|
256
|
+
"signature": {
|
|
257
|
+
"type": "string",
|
|
258
|
+
"description": "Signature data or reference"
|
|
259
|
+
},
|
|
260
|
+
"certificate": {
|
|
261
|
+
"type": "string",
|
|
262
|
+
"description": "Signing certificate (if applicable)"
|
|
263
|
+
}
|
|
264
|
+
}
|
|
265
|
+
}
|
|
266
|
+
}
|
|
267
|
+
}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
|
+
"schemaVersion": "1.0.0",
|
|
4
|
+
"$id": "https://cleo-dev.com/schemas/v1/skills-manifest.schema.json",
|
|
5
|
+
"title": "CLEO Skills Manifest",
|
|
6
|
+
"description": "Schema for the skills manifest tracking all CLEO skills. LLM-agent-first design with ct-* naming enforcement.",
|
|
7
|
+
"type": "object",
|
|
8
|
+
"required": ["$schema", "_meta", "skills"],
|
|
9
|
+
"properties": {
|
|
10
|
+
"$schema": {
|
|
11
|
+
"type": "string",
|
|
12
|
+
"const": "https://cleo-dev.com/schemas/v1/skills-manifest.schema.json"
|
|
13
|
+
},
|
|
14
|
+
"_meta": {
|
|
15
|
+
"type": "object",
|
|
16
|
+
"description": "Manifest metadata",
|
|
17
|
+
"required": ["schemaVersion", "lastUpdated", "totalSkills"],
|
|
18
|
+
"properties": {
|
|
19
|
+
"schemaVersion": {
|
|
20
|
+
"type": "string",
|
|
21
|
+
"pattern": "^\\d+\\.\\d+\\.\\d+$",
|
|
22
|
+
"description": "Schema version (semver)"
|
|
23
|
+
},
|
|
24
|
+
"lastUpdated": {
|
|
25
|
+
"type": "string",
|
|
26
|
+
"format": "date",
|
|
27
|
+
"description": "Last modification date (ISO 8601)"
|
|
28
|
+
},
|
|
29
|
+
"totalSkills": {
|
|
30
|
+
"type": "integer",
|
|
31
|
+
"minimum": 0,
|
|
32
|
+
"description": "Count of skills in manifest"
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
},
|
|
36
|
+
"skills": {
|
|
37
|
+
"type": "array",
|
|
38
|
+
"description": "All registered CLEO skills",
|
|
39
|
+
"items": {
|
|
40
|
+
"$ref": "#/definitions/skillEntry"
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
},
|
|
44
|
+
"definitions": {
|
|
45
|
+
"skillEntry": {
|
|
46
|
+
"type": "object",
|
|
47
|
+
"required": ["name", "version", "path"],
|
|
48
|
+
"properties": {
|
|
49
|
+
"name": {
|
|
50
|
+
"type": "string",
|
|
51
|
+
"pattern": "^ct-[a-z][a-z0-9-]*$",
|
|
52
|
+
"description": "Skill name (must start with ct- prefix, lowercase with hyphens)"
|
|
53
|
+
},
|
|
54
|
+
"version": {
|
|
55
|
+
"type": "string",
|
|
56
|
+
"pattern": "^\\d+\\.\\d+\\.\\d+$",
|
|
57
|
+
"description": "Skill version (semver)"
|
|
58
|
+
},
|
|
59
|
+
"description": {
|
|
60
|
+
"type": "string",
|
|
61
|
+
"maxLength": 500,
|
|
62
|
+
"description": "Brief description of skill purpose and trigger phrases"
|
|
63
|
+
},
|
|
64
|
+
"path": {
|
|
65
|
+
"type": "string",
|
|
66
|
+
"pattern": "^skills/[a-z][a-z0-9-]*$",
|
|
67
|
+
"description": "Relative path to skill directory from repo root"
|
|
68
|
+
},
|
|
69
|
+
"model": {
|
|
70
|
+
"type": "string",
|
|
71
|
+
"enum": ["sonnet", "opus", "haiku"],
|
|
72
|
+
"description": "Recommended model for this skill (optional)"
|
|
73
|
+
},
|
|
74
|
+
"tags": {
|
|
75
|
+
"type": "array",
|
|
76
|
+
"items": {
|
|
77
|
+
"type": "string",
|
|
78
|
+
"pattern": "^[a-z][a-z0-9-]*$"
|
|
79
|
+
},
|
|
80
|
+
"description": "Categorization tags for skill discovery"
|
|
81
|
+
},
|
|
82
|
+
"status": {
|
|
83
|
+
"type": "string",
|
|
84
|
+
"enum": ["active", "deprecated", "experimental"],
|
|
85
|
+
"default": "active",
|
|
86
|
+
"description": "Skill lifecycle status"
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
}
|
|
@@ -0,0 +1,208 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
|
+
"$id": "https://cleo-dev.com/schemas/v1/skillsmp.schema.json",
|
|
4
|
+
"schemaVersion": "1.0.0",
|
|
5
|
+
"title": "SkillsMP Configuration Schema",
|
|
6
|
+
"description": "Configuration for SkillsMP API integration with CLEO skill loading system.",
|
|
7
|
+
"type": "object",
|
|
8
|
+
"required": ["_meta"],
|
|
9
|
+
"additionalProperties": false,
|
|
10
|
+
|
|
11
|
+
"properties": {
|
|
12
|
+
"$schema": {
|
|
13
|
+
"type": "string",
|
|
14
|
+
"description": "JSON Schema reference for validation."
|
|
15
|
+
},
|
|
16
|
+
"_meta": {
|
|
17
|
+
"type": "object",
|
|
18
|
+
"description": "Configuration file metadata.",
|
|
19
|
+
"required": ["schemaVersion"],
|
|
20
|
+
"additionalProperties": false,
|
|
21
|
+
"properties": {
|
|
22
|
+
"schemaVersion": {
|
|
23
|
+
"type": "string",
|
|
24
|
+
"pattern": "^\\d+\\.\\d+\\.\\d+$",
|
|
25
|
+
"description": "Schema version (semver)."
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
},
|
|
29
|
+
|
|
30
|
+
"api": {
|
|
31
|
+
"type": "object",
|
|
32
|
+
"description": "SkillsMP API connection settings.",
|
|
33
|
+
"required": ["endpoint"],
|
|
34
|
+
"additionalProperties": false,
|
|
35
|
+
"properties": {
|
|
36
|
+
"endpoint": {
|
|
37
|
+
"type": "string",
|
|
38
|
+
"format": "uri",
|
|
39
|
+
"default": "https://api.skillsmp.com",
|
|
40
|
+
"description": "SkillsMP API base URL. Override via SKILLSMP_ENDPOINT env var."
|
|
41
|
+
},
|
|
42
|
+
"version": {
|
|
43
|
+
"type": "string",
|
|
44
|
+
"enum": ["v1", "v2"],
|
|
45
|
+
"default": "v1",
|
|
46
|
+
"description": "API version to use."
|
|
47
|
+
},
|
|
48
|
+
"timeout": {
|
|
49
|
+
"type": "integer",
|
|
50
|
+
"minimum": 1,
|
|
51
|
+
"maximum": 300,
|
|
52
|
+
"default": 30,
|
|
53
|
+
"description": "Request timeout in seconds."
|
|
54
|
+
},
|
|
55
|
+
"retries": {
|
|
56
|
+
"type": "integer",
|
|
57
|
+
"minimum": 0,
|
|
58
|
+
"maximum": 5,
|
|
59
|
+
"default": 3,
|
|
60
|
+
"description": "Number of retry attempts on failure."
|
|
61
|
+
},
|
|
62
|
+
"retryDelay": {
|
|
63
|
+
"type": "integer",
|
|
64
|
+
"minimum": 100,
|
|
65
|
+
"maximum": 10000,
|
|
66
|
+
"default": 1000,
|
|
67
|
+
"description": "Initial retry delay in milliseconds (exponential backoff)."
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
},
|
|
71
|
+
|
|
72
|
+
"auth": {
|
|
73
|
+
"type": "object",
|
|
74
|
+
"description": "Authentication configuration. MUST NOT contain API key directly.",
|
|
75
|
+
"additionalProperties": false,
|
|
76
|
+
"properties": {
|
|
77
|
+
"envVar": {
|
|
78
|
+
"type": "string",
|
|
79
|
+
"default": "SKILLSMP_API_KEY",
|
|
80
|
+
"description": "Environment variable name for API key. NEVER hardcode key in config."
|
|
81
|
+
},
|
|
82
|
+
"keyFile": {
|
|
83
|
+
"type": "string",
|
|
84
|
+
"description": "Path to file containing API key (relative to project root or absolute). File should contain ONLY the key with no whitespace."
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
},
|
|
88
|
+
|
|
89
|
+
"install": {
|
|
90
|
+
"type": "object",
|
|
91
|
+
"description": "Skill installation preferences.",
|
|
92
|
+
"additionalProperties": false,
|
|
93
|
+
"properties": {
|
|
94
|
+
"defaultLocation": {
|
|
95
|
+
"type": "string",
|
|
96
|
+
"enum": ["project", "global"],
|
|
97
|
+
"default": "project",
|
|
98
|
+
"description": "Default installation target: project=./skills/, global=~/.cleo/skills/"
|
|
99
|
+
},
|
|
100
|
+
"projectDir": {
|
|
101
|
+
"type": "string",
|
|
102
|
+
"default": "./skills",
|
|
103
|
+
"description": "Project-local skills directory (relative to project root)."
|
|
104
|
+
},
|
|
105
|
+
"globalDir": {
|
|
106
|
+
"type": "string",
|
|
107
|
+
"default": "~/.cleo/skills",
|
|
108
|
+
"description": "Global skills directory (expands ~ to home)."
|
|
109
|
+
},
|
|
110
|
+
"updateManifest": {
|
|
111
|
+
"type": "boolean",
|
|
112
|
+
"default": true,
|
|
113
|
+
"description": "Automatically update skills/manifest.json after install/update."
|
|
114
|
+
},
|
|
115
|
+
"verifyChecksum": {
|
|
116
|
+
"type": "boolean",
|
|
117
|
+
"default": true,
|
|
118
|
+
"description": "Verify skill package checksums before installation."
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
},
|
|
122
|
+
|
|
123
|
+
"cache": {
|
|
124
|
+
"type": "object",
|
|
125
|
+
"description": "Cache settings for API responses.",
|
|
126
|
+
"additionalProperties": false,
|
|
127
|
+
"properties": {
|
|
128
|
+
"enabled": {
|
|
129
|
+
"type": "boolean",
|
|
130
|
+
"default": true,
|
|
131
|
+
"description": "Enable caching of API responses."
|
|
132
|
+
},
|
|
133
|
+
"directory": {
|
|
134
|
+
"type": "string",
|
|
135
|
+
"default": ".cleo/.cache/skillsmp",
|
|
136
|
+
"description": "Cache directory (relative to project root)."
|
|
137
|
+
},
|
|
138
|
+
"ttl": {
|
|
139
|
+
"type": "integer",
|
|
140
|
+
"minimum": 60,
|
|
141
|
+
"maximum": 86400,
|
|
142
|
+
"default": 3600,
|
|
143
|
+
"description": "Cache TTL in seconds (default: 1 hour)."
|
|
144
|
+
},
|
|
145
|
+
"maxSize": {
|
|
146
|
+
"type": "integer",
|
|
147
|
+
"minimum": 1,
|
|
148
|
+
"maximum": 1000,
|
|
149
|
+
"default": 100,
|
|
150
|
+
"description": "Maximum cached entries before eviction."
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
},
|
|
154
|
+
|
|
155
|
+
"validation": {
|
|
156
|
+
"type": "object",
|
|
157
|
+
"description": "Skill validation settings.",
|
|
158
|
+
"additionalProperties": false,
|
|
159
|
+
"properties": {
|
|
160
|
+
"strictMode": {
|
|
161
|
+
"type": "boolean",
|
|
162
|
+
"default": false,
|
|
163
|
+
"description": "Treat validation warnings as errors."
|
|
164
|
+
},
|
|
165
|
+
"checkDependencies": {
|
|
166
|
+
"type": "boolean",
|
|
167
|
+
"default": true,
|
|
168
|
+
"description": "Validate skill dependencies exist before install."
|
|
169
|
+
},
|
|
170
|
+
"checkVersion": {
|
|
171
|
+
"type": "boolean",
|
|
172
|
+
"default": true,
|
|
173
|
+
"description": "Validate skill version compatibility with CLEO."
|
|
174
|
+
},
|
|
175
|
+
"minVersion": {
|
|
176
|
+
"type": "string",
|
|
177
|
+
"pattern": "^\\d+\\.\\d+\\.\\d+$",
|
|
178
|
+
"default": "1.0.0",
|
|
179
|
+
"description": "Minimum required SkillsMP API version."
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
},
|
|
183
|
+
|
|
184
|
+
"logging": {
|
|
185
|
+
"type": "object",
|
|
186
|
+
"description": "Logging configuration for SkillsMP operations.",
|
|
187
|
+
"additionalProperties": false,
|
|
188
|
+
"properties": {
|
|
189
|
+
"enabled": {
|
|
190
|
+
"type": "boolean",
|
|
191
|
+
"default": true,
|
|
192
|
+
"description": "Enable logging of install/update operations."
|
|
193
|
+
},
|
|
194
|
+
"level": {
|
|
195
|
+
"type": "string",
|
|
196
|
+
"enum": ["error", "warn", "info", "debug"],
|
|
197
|
+
"default": "info",
|
|
198
|
+
"description": "Logging verbosity level."
|
|
199
|
+
},
|
|
200
|
+
"file": {
|
|
201
|
+
"type": "string",
|
|
202
|
+
"default": ".cleo/skillsmp.log",
|
|
203
|
+
"description": "Log file path (relative to project root)."
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
}
|
|
208
|
+
}
|