@teamix-evo/registry 0.1.0 → 0.2.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.
- package/LICENSE +21 -0
- package/README.md +123 -0
- package/dist/index.cjs +384 -13
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +796 -24
- package/dist/index.d.ts +796 -24
- package/dist/index.js +366 -12
- package/dist/index.js.map +1 -1
- package/package.json +10 -10
package/dist/index.d.ts
CHANGED
|
@@ -10,7 +10,18 @@ declare const UpdateStrategySchema: z.ZodEnum<["frozen", "regenerable", "managed
|
|
|
10
10
|
/**
|
|
11
11
|
* Resource type discriminator.
|
|
12
12
|
*/
|
|
13
|
-
declare const ResourceTypeSchema: z.ZodEnum<["doc", "tokens", "ai-rules", "config"]>;
|
|
13
|
+
declare const ResourceTypeSchema: z.ZodEnum<["doc", "tokens", "ai-rules", "config", "skill"]>;
|
|
14
|
+
/**
|
|
15
|
+
* Supported AI IDE identifiers for skill resources.
|
|
16
|
+
* Qoder and Claude Code share the same SKILL.md format; differ only by install path.
|
|
17
|
+
*/
|
|
18
|
+
declare const SkillIdeSchema: z.ZodEnum<["qoder", "claude"]>;
|
|
19
|
+
/**
|
|
20
|
+
* Skill installation scope.
|
|
21
|
+
* - project: install under project root (.qoder/skills/, .claude/skills/)
|
|
22
|
+
* - global: install under user home (~/.qoder/skills/, ~/.claude/skills/)
|
|
23
|
+
*/
|
|
24
|
+
declare const SkillScopeSchema: z.ZodEnum<["project", "global"]>;
|
|
14
25
|
/**
|
|
15
26
|
* A single resource entry within a variant manifest.
|
|
16
27
|
*/
|
|
@@ -18,10 +29,13 @@ declare const ResourceSchema: z.ZodObject<{
|
|
|
18
29
|
/** Unique identifier for the resource within the manifest */
|
|
19
30
|
id: z.ZodString;
|
|
20
31
|
/** Resource type */
|
|
21
|
-
type: z.ZodEnum<["doc", "tokens", "ai-rules", "config"]>;
|
|
32
|
+
type: z.ZodEnum<["doc", "tokens", "ai-rules", "config", "skill"]>;
|
|
22
33
|
/** Source path (relative to variant root), typically a template */
|
|
23
34
|
source: z.ZodString;
|
|
24
|
-
/**
|
|
35
|
+
/**
|
|
36
|
+
* Target path (relative to project root) where the resource is installed.
|
|
37
|
+
* For type="skill" this is ignored: the path is computed from skill name + ide + scope.
|
|
38
|
+
*/
|
|
25
39
|
target: z.ZodString;
|
|
26
40
|
/** How the resource is updated */
|
|
27
41
|
updateStrategy: z.ZodEnum<["frozen", "regenerable", "managed"]>;
|
|
@@ -31,24 +45,32 @@ declare const ResourceSchema: z.ZodObject<{
|
|
|
31
45
|
managedRegions: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
32
46
|
/** Whether to recursively process directory contents */
|
|
33
47
|
recursive: z.ZodOptional<z.ZodBoolean>;
|
|
48
|
+
/** Supported IDEs (only meaningful when type="skill"; defaults to all when omitted) */
|
|
49
|
+
ides: z.ZodOptional<z.ZodArray<z.ZodEnum<["qoder", "claude"]>, "many">>;
|
|
50
|
+
/** Default install scope (only meaningful when type="skill"; user can override at install time) */
|
|
51
|
+
scope: z.ZodOptional<z.ZodEnum<["project", "global"]>>;
|
|
34
52
|
}, "strip", z.ZodTypeAny, {
|
|
35
53
|
id: string;
|
|
36
|
-
type: "doc" | "tokens" | "ai-rules" | "config";
|
|
54
|
+
type: "doc" | "tokens" | "ai-rules" | "config" | "skill";
|
|
37
55
|
source: string;
|
|
38
56
|
target: string;
|
|
39
57
|
updateStrategy: "frozen" | "regenerable" | "managed";
|
|
40
58
|
template?: boolean | undefined;
|
|
41
59
|
managedRegions?: string[] | undefined;
|
|
42
60
|
recursive?: boolean | undefined;
|
|
61
|
+
ides?: ("qoder" | "claude")[] | undefined;
|
|
62
|
+
scope?: "project" | "global" | undefined;
|
|
43
63
|
}, {
|
|
44
64
|
id: string;
|
|
45
|
-
type: "doc" | "tokens" | "ai-rules" | "config";
|
|
65
|
+
type: "doc" | "tokens" | "ai-rules" | "config" | "skill";
|
|
46
66
|
source: string;
|
|
47
67
|
target: string;
|
|
48
68
|
updateStrategy: "frozen" | "regenerable" | "managed";
|
|
49
69
|
template?: boolean | undefined;
|
|
50
70
|
managedRegions?: string[] | undefined;
|
|
51
71
|
recursive?: boolean | undefined;
|
|
72
|
+
ides?: ("qoder" | "claude")[] | undefined;
|
|
73
|
+
scope?: "project" | "global" | undefined;
|
|
52
74
|
}>;
|
|
53
75
|
/**
|
|
54
76
|
* Variant manifest schema — describes a variant package and its resources.
|
|
@@ -68,11 +90,11 @@ declare const VariantManifestSchema: z.ZodObject<{
|
|
|
68
90
|
version: z.ZodString;
|
|
69
91
|
/** Engine compatibility */
|
|
70
92
|
engines: z.ZodObject<{
|
|
71
|
-
|
|
93
|
+
'teamix-evo': z.ZodString;
|
|
72
94
|
}, "strip", z.ZodTypeAny, {
|
|
73
|
-
|
|
95
|
+
'teamix-evo': string;
|
|
74
96
|
}, {
|
|
75
|
-
|
|
97
|
+
'teamix-evo': string;
|
|
76
98
|
}>;
|
|
77
99
|
/** Supported IDE identifiers */
|
|
78
100
|
ide: z.ZodArray<z.ZodString, "many">;
|
|
@@ -81,10 +103,13 @@ declare const VariantManifestSchema: z.ZodObject<{
|
|
|
81
103
|
/** Unique identifier for the resource within the manifest */
|
|
82
104
|
id: z.ZodString;
|
|
83
105
|
/** Resource type */
|
|
84
|
-
type: z.ZodEnum<["doc", "tokens", "ai-rules", "config"]>;
|
|
106
|
+
type: z.ZodEnum<["doc", "tokens", "ai-rules", "config", "skill"]>;
|
|
85
107
|
/** Source path (relative to variant root), typically a template */
|
|
86
108
|
source: z.ZodString;
|
|
87
|
-
/**
|
|
109
|
+
/**
|
|
110
|
+
* Target path (relative to project root) where the resource is installed.
|
|
111
|
+
* For type="skill" this is ignored: the path is computed from skill name + ide + scope.
|
|
112
|
+
*/
|
|
88
113
|
target: z.ZodString;
|
|
89
114
|
/** How the resource is updated */
|
|
90
115
|
updateStrategy: z.ZodEnum<["frozen", "regenerable", "managed"]>;
|
|
@@ -94,24 +119,32 @@ declare const VariantManifestSchema: z.ZodObject<{
|
|
|
94
119
|
managedRegions: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
95
120
|
/** Whether to recursively process directory contents */
|
|
96
121
|
recursive: z.ZodOptional<z.ZodBoolean>;
|
|
122
|
+
/** Supported IDEs (only meaningful when type="skill"; defaults to all when omitted) */
|
|
123
|
+
ides: z.ZodOptional<z.ZodArray<z.ZodEnum<["qoder", "claude"]>, "many">>;
|
|
124
|
+
/** Default install scope (only meaningful when type="skill"; user can override at install time) */
|
|
125
|
+
scope: z.ZodOptional<z.ZodEnum<["project", "global"]>>;
|
|
97
126
|
}, "strip", z.ZodTypeAny, {
|
|
98
127
|
id: string;
|
|
99
|
-
type: "doc" | "tokens" | "ai-rules" | "config";
|
|
128
|
+
type: "doc" | "tokens" | "ai-rules" | "config" | "skill";
|
|
100
129
|
source: string;
|
|
101
130
|
target: string;
|
|
102
131
|
updateStrategy: "frozen" | "regenerable" | "managed";
|
|
103
132
|
template?: boolean | undefined;
|
|
104
133
|
managedRegions?: string[] | undefined;
|
|
105
134
|
recursive?: boolean | undefined;
|
|
135
|
+
ides?: ("qoder" | "claude")[] | undefined;
|
|
136
|
+
scope?: "project" | "global" | undefined;
|
|
106
137
|
}, {
|
|
107
138
|
id: string;
|
|
108
|
-
type: "doc" | "tokens" | "ai-rules" | "config";
|
|
139
|
+
type: "doc" | "tokens" | "ai-rules" | "config" | "skill";
|
|
109
140
|
source: string;
|
|
110
141
|
target: string;
|
|
111
142
|
updateStrategy: "frozen" | "regenerable" | "managed";
|
|
112
143
|
template?: boolean | undefined;
|
|
113
144
|
managedRegions?: string[] | undefined;
|
|
114
145
|
recursive?: boolean | undefined;
|
|
146
|
+
ides?: ("qoder" | "claude")[] | undefined;
|
|
147
|
+
scope?: "project" | "global" | undefined;
|
|
115
148
|
}>, "many">;
|
|
116
149
|
}, "strip", z.ZodTypeAny, {
|
|
117
150
|
schemaVersion: 1;
|
|
@@ -121,18 +154,20 @@ declare const VariantManifestSchema: z.ZodObject<{
|
|
|
121
154
|
description: string;
|
|
122
155
|
version: string;
|
|
123
156
|
engines: {
|
|
124
|
-
|
|
157
|
+
'teamix-evo': string;
|
|
125
158
|
};
|
|
126
159
|
ide: string[];
|
|
127
160
|
resources: {
|
|
128
161
|
id: string;
|
|
129
|
-
type: "doc" | "tokens" | "ai-rules" | "config";
|
|
162
|
+
type: "doc" | "tokens" | "ai-rules" | "config" | "skill";
|
|
130
163
|
source: string;
|
|
131
164
|
target: string;
|
|
132
165
|
updateStrategy: "frozen" | "regenerable" | "managed";
|
|
133
166
|
template?: boolean | undefined;
|
|
134
167
|
managedRegions?: string[] | undefined;
|
|
135
168
|
recursive?: boolean | undefined;
|
|
169
|
+
ides?: ("qoder" | "claude")[] | undefined;
|
|
170
|
+
scope?: "project" | "global" | undefined;
|
|
136
171
|
}[];
|
|
137
172
|
$schema?: string | undefined;
|
|
138
173
|
}, {
|
|
@@ -143,36 +178,579 @@ declare const VariantManifestSchema: z.ZodObject<{
|
|
|
143
178
|
description: string;
|
|
144
179
|
version: string;
|
|
145
180
|
engines: {
|
|
146
|
-
|
|
181
|
+
'teamix-evo': string;
|
|
147
182
|
};
|
|
148
183
|
ide: string[];
|
|
149
184
|
resources: {
|
|
150
185
|
id: string;
|
|
151
|
-
type: "doc" | "tokens" | "ai-rules" | "config";
|
|
186
|
+
type: "doc" | "tokens" | "ai-rules" | "config" | "skill";
|
|
152
187
|
source: string;
|
|
153
188
|
target: string;
|
|
154
189
|
updateStrategy: "frozen" | "regenerable" | "managed";
|
|
155
190
|
template?: boolean | undefined;
|
|
156
191
|
managedRegions?: string[] | undefined;
|
|
157
192
|
recursive?: boolean | undefined;
|
|
193
|
+
ides?: ("qoder" | "claude")[] | undefined;
|
|
194
|
+
scope?: "project" | "global" | undefined;
|
|
195
|
+
}[];
|
|
196
|
+
$schema?: string | undefined;
|
|
197
|
+
}>;
|
|
198
|
+
/**
|
|
199
|
+
* A single skill entry within a skills package manifest.
|
|
200
|
+
*/
|
|
201
|
+
declare const SkillEntrySchema: z.ZodObject<{
|
|
202
|
+
/** Skill identifier (matches name/folder) */
|
|
203
|
+
id: z.ZodString;
|
|
204
|
+
/** Skill name — must match the directory name and frontmatter `name` */
|
|
205
|
+
name: z.ZodString;
|
|
206
|
+
/** One-line description for skill discovery */
|
|
207
|
+
description: z.ZodString;
|
|
208
|
+
/** Semver version */
|
|
209
|
+
version: z.ZodString;
|
|
210
|
+
/** Source path relative to package root — file or directory */
|
|
211
|
+
source: z.ZodString;
|
|
212
|
+
/** Supported IDEs (defaults to both when omitted) */
|
|
213
|
+
ides: z.ZodDefault<z.ZodArray<z.ZodEnum<["qoder", "claude"]>, "many">>;
|
|
214
|
+
/** Update strategy (defaults to managed) */
|
|
215
|
+
updateStrategy: z.ZodDefault<z.ZodEnum<["frozen", "regenerable", "managed"]>>;
|
|
216
|
+
/** Managed region IDs to maintain on update */
|
|
217
|
+
managedRegions: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
218
|
+
/** Whether the source is a Handlebars template */
|
|
219
|
+
template: z.ZodOptional<z.ZodBoolean>;
|
|
220
|
+
}, "strip", z.ZodTypeAny, {
|
|
221
|
+
id: string;
|
|
222
|
+
source: string;
|
|
223
|
+
updateStrategy: "frozen" | "regenerable" | "managed";
|
|
224
|
+
ides: ("qoder" | "claude")[];
|
|
225
|
+
description: string;
|
|
226
|
+
version: string;
|
|
227
|
+
name: string;
|
|
228
|
+
template?: boolean | undefined;
|
|
229
|
+
managedRegions?: string[] | undefined;
|
|
230
|
+
}, {
|
|
231
|
+
id: string;
|
|
232
|
+
source: string;
|
|
233
|
+
description: string;
|
|
234
|
+
version: string;
|
|
235
|
+
name: string;
|
|
236
|
+
updateStrategy?: "frozen" | "regenerable" | "managed" | undefined;
|
|
237
|
+
template?: boolean | undefined;
|
|
238
|
+
managedRegions?: string[] | undefined;
|
|
239
|
+
ides?: ("qoder" | "claude")[] | undefined;
|
|
240
|
+
}>;
|
|
241
|
+
/**
|
|
242
|
+
* Skills package manifest schema — top-level manifest of `@teamix-evo/skills`.
|
|
243
|
+
* Unlike design which is variant-based, skills are flat (no variants).
|
|
244
|
+
*/
|
|
245
|
+
declare const SkillsPackageManifestSchema: z.ZodObject<{
|
|
246
|
+
$schema: z.ZodOptional<z.ZodString>;
|
|
247
|
+
schemaVersion: z.ZodLiteral<1>;
|
|
248
|
+
/** Always "skills" for this package */
|
|
249
|
+
package: z.ZodLiteral<"skills">;
|
|
250
|
+
/** Semver version of the skills package */
|
|
251
|
+
version: z.ZodString;
|
|
252
|
+
/** Engine compatibility */
|
|
253
|
+
engines: z.ZodObject<{
|
|
254
|
+
'teamix-evo': z.ZodString;
|
|
255
|
+
}, "strip", z.ZodTypeAny, {
|
|
256
|
+
'teamix-evo': string;
|
|
257
|
+
}, {
|
|
258
|
+
'teamix-evo': string;
|
|
259
|
+
}>;
|
|
260
|
+
/** Flat list of skills shipped by this package */
|
|
261
|
+
skills: z.ZodArray<z.ZodObject<{
|
|
262
|
+
/** Skill identifier (matches name/folder) */
|
|
263
|
+
id: z.ZodString;
|
|
264
|
+
/** Skill name — must match the directory name and frontmatter `name` */
|
|
265
|
+
name: z.ZodString;
|
|
266
|
+
/** One-line description for skill discovery */
|
|
267
|
+
description: z.ZodString;
|
|
268
|
+
/** Semver version */
|
|
269
|
+
version: z.ZodString;
|
|
270
|
+
/** Source path relative to package root — file or directory */
|
|
271
|
+
source: z.ZodString;
|
|
272
|
+
/** Supported IDEs (defaults to both when omitted) */
|
|
273
|
+
ides: z.ZodDefault<z.ZodArray<z.ZodEnum<["qoder", "claude"]>, "many">>;
|
|
274
|
+
/** Update strategy (defaults to managed) */
|
|
275
|
+
updateStrategy: z.ZodDefault<z.ZodEnum<["frozen", "regenerable", "managed"]>>;
|
|
276
|
+
/** Managed region IDs to maintain on update */
|
|
277
|
+
managedRegions: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
278
|
+
/** Whether the source is a Handlebars template */
|
|
279
|
+
template: z.ZodOptional<z.ZodBoolean>;
|
|
280
|
+
}, "strip", z.ZodTypeAny, {
|
|
281
|
+
id: string;
|
|
282
|
+
source: string;
|
|
283
|
+
updateStrategy: "frozen" | "regenerable" | "managed";
|
|
284
|
+
ides: ("qoder" | "claude")[];
|
|
285
|
+
description: string;
|
|
286
|
+
version: string;
|
|
287
|
+
name: string;
|
|
288
|
+
template?: boolean | undefined;
|
|
289
|
+
managedRegions?: string[] | undefined;
|
|
290
|
+
}, {
|
|
291
|
+
id: string;
|
|
292
|
+
source: string;
|
|
293
|
+
description: string;
|
|
294
|
+
version: string;
|
|
295
|
+
name: string;
|
|
296
|
+
updateStrategy?: "frozen" | "regenerable" | "managed" | undefined;
|
|
297
|
+
template?: boolean | undefined;
|
|
298
|
+
managedRegions?: string[] | undefined;
|
|
299
|
+
ides?: ("qoder" | "claude")[] | undefined;
|
|
300
|
+
}>, "many">;
|
|
301
|
+
}, "strip", z.ZodTypeAny, {
|
|
302
|
+
schemaVersion: 1;
|
|
303
|
+
package: "skills";
|
|
304
|
+
version: string;
|
|
305
|
+
engines: {
|
|
306
|
+
'teamix-evo': string;
|
|
307
|
+
};
|
|
308
|
+
skills: {
|
|
309
|
+
id: string;
|
|
310
|
+
source: string;
|
|
311
|
+
updateStrategy: "frozen" | "regenerable" | "managed";
|
|
312
|
+
ides: ("qoder" | "claude")[];
|
|
313
|
+
description: string;
|
|
314
|
+
version: string;
|
|
315
|
+
name: string;
|
|
316
|
+
template?: boolean | undefined;
|
|
317
|
+
managedRegions?: string[] | undefined;
|
|
318
|
+
}[];
|
|
319
|
+
$schema?: string | undefined;
|
|
320
|
+
}, {
|
|
321
|
+
schemaVersion: 1;
|
|
322
|
+
package: "skills";
|
|
323
|
+
version: string;
|
|
324
|
+
engines: {
|
|
325
|
+
'teamix-evo': string;
|
|
326
|
+
};
|
|
327
|
+
skills: {
|
|
328
|
+
id: string;
|
|
329
|
+
source: string;
|
|
330
|
+
description: string;
|
|
331
|
+
version: string;
|
|
332
|
+
name: string;
|
|
333
|
+
updateStrategy?: "frozen" | "regenerable" | "managed" | undefined;
|
|
334
|
+
template?: boolean | undefined;
|
|
335
|
+
managedRegions?: string[] | undefined;
|
|
336
|
+
ides?: ("qoder" | "claude")[] | undefined;
|
|
337
|
+
}[];
|
|
338
|
+
$schema?: string | undefined;
|
|
339
|
+
}>;
|
|
340
|
+
/**
|
|
341
|
+
* UI entry types.
|
|
342
|
+
* - component: a React component (e.g. button.tsx)
|
|
343
|
+
* - hook: a React hook (e.g. use-controllable.ts)
|
|
344
|
+
* - util: a utility function (e.g. cn.ts)
|
|
345
|
+
* - block: a higher-level composition (login-form, dashboard-shell). v0.x.
|
|
346
|
+
*/
|
|
347
|
+
declare const UiEntryTypeSchema: z.ZodEnum<["component", "hook", "util", "block"]>;
|
|
348
|
+
/**
|
|
349
|
+
* Alias keys used to resolve where an entry file lands in the user's project.
|
|
350
|
+
* Each key maps to a path configured in `config.json` `packages.ui.aliases`.
|
|
351
|
+
*/
|
|
352
|
+
declare const UiAliasSchema: z.ZodEnum<["components", "hooks", "utils", "lib"]>;
|
|
353
|
+
/**
|
|
354
|
+
* A single file shipped by a UI entry.
|
|
355
|
+
* Multiple files form one logical entry (rare, but supported).
|
|
356
|
+
*/
|
|
357
|
+
declare const UiEntryFileSchema: z.ZodObject<{
|
|
358
|
+
/** Source path relative to the ui package root (e.g. "src/components/button/button.tsx") */
|
|
359
|
+
source: z.ZodString;
|
|
360
|
+
/** Which alias this file resolves under in the consumer project */
|
|
361
|
+
targetAlias: z.ZodEnum<["components", "hooks", "utils", "lib"]>;
|
|
362
|
+
/** Filename written under the alias directory (e.g. "button.tsx") */
|
|
363
|
+
targetName: z.ZodString;
|
|
364
|
+
}, "strip", z.ZodTypeAny, {
|
|
365
|
+
source: string;
|
|
366
|
+
targetAlias: "components" | "hooks" | "utils" | "lib";
|
|
367
|
+
targetName: string;
|
|
368
|
+
}, {
|
|
369
|
+
source: string;
|
|
370
|
+
targetAlias: "components" | "hooks" | "utils" | "lib";
|
|
371
|
+
targetName: string;
|
|
372
|
+
}>;
|
|
373
|
+
/**
|
|
374
|
+
* A single UI entry (component / hook / util / block).
|
|
375
|
+
*/
|
|
376
|
+
declare const UiEntrySchema: z.ZodObject<{
|
|
377
|
+
/** Unique entry identifier within the ui package (e.g. "button") */
|
|
378
|
+
id: z.ZodString;
|
|
379
|
+
/** Display name (e.g. "Button") */
|
|
380
|
+
name: z.ZodString;
|
|
381
|
+
/** Entry type */
|
|
382
|
+
type: z.ZodEnum<["component", "hook", "util", "block"]>;
|
|
383
|
+
/** One-line description for entry discovery and AI guidance */
|
|
384
|
+
description: z.ZodString;
|
|
385
|
+
/** Files this entry ships (typically 1) */
|
|
386
|
+
files: z.ZodArray<z.ZodObject<{
|
|
387
|
+
/** Source path relative to the ui package root (e.g. "src/components/button/button.tsx") */
|
|
388
|
+
source: z.ZodString;
|
|
389
|
+
/** Which alias this file resolves under in the consumer project */
|
|
390
|
+
targetAlias: z.ZodEnum<["components", "hooks", "utils", "lib"]>;
|
|
391
|
+
/** Filename written under the alias directory (e.g. "button.tsx") */
|
|
392
|
+
targetName: z.ZodString;
|
|
393
|
+
}, "strip", z.ZodTypeAny, {
|
|
394
|
+
source: string;
|
|
395
|
+
targetAlias: "components" | "hooks" | "utils" | "lib";
|
|
396
|
+
targetName: string;
|
|
397
|
+
}, {
|
|
398
|
+
source: string;
|
|
399
|
+
targetAlias: "components" | "hooks" | "utils" | "lib";
|
|
400
|
+
targetName: string;
|
|
401
|
+
}>, "many">;
|
|
402
|
+
/**
|
|
403
|
+
* Optional path to an AI-readable meta document (frontmatter + Markdown).
|
|
404
|
+
* When set, CLI install drops it at `.teamix-evo/design/components/<id>.meta.md`
|
|
405
|
+
* for design's ai-rules to consume.
|
|
406
|
+
*/
|
|
407
|
+
meta: z.ZodOptional<z.ZodString>;
|
|
408
|
+
/** Other UI entries this one depends on (e.g. "button" depends on "cn") */
|
|
409
|
+
registryDependencies: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
410
|
+
/** npm dependencies required by this entry (name → semver range) */
|
|
411
|
+
dependencies: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
412
|
+
/**
|
|
413
|
+
* How CLI handles this entry on `ui upgrade`.
|
|
414
|
+
* Defaults to `frozen` — user-owned source code, untouched after first install.
|
|
415
|
+
* Upgrade is handled by AI + skill flow (no CLI rewrite). See PLAN §10.9.
|
|
416
|
+
*/
|
|
417
|
+
updateStrategy: z.ZodDefault<z.ZodEnum<["frozen", "regenerable", "managed"]>>;
|
|
418
|
+
/**
|
|
419
|
+
* Whether the source file should be passed through Handlebars before write.
|
|
420
|
+
* Most entries don't need templating (use import-rewrite transformer instead).
|
|
421
|
+
*/
|
|
422
|
+
template: z.ZodOptional<z.ZodBoolean>;
|
|
423
|
+
/**
|
|
424
|
+
* Maturity / lifecycle status of this entry. Defaults to `stable`.
|
|
425
|
+
* See {@link UiEntryStatusSchema} for semantics.
|
|
426
|
+
*/
|
|
427
|
+
status: z.ZodDefault<z.ZodEnum<["stable", "experimental", "deprecated"]>>;
|
|
428
|
+
/**
|
|
429
|
+
* Free-text rationale shown to consumers when `status` is `deprecated`.
|
|
430
|
+
* Should explain why the entry is going away and what replaces it.
|
|
431
|
+
*/
|
|
432
|
+
deprecatedReason: z.ZodOptional<z.ZodString>;
|
|
433
|
+
/**
|
|
434
|
+
* If this entry is `deprecated`, the id of the entry that supersedes it.
|
|
435
|
+
* Consumers (and AI) should migrate to `replacedBy` rather than this entry.
|
|
436
|
+
*/
|
|
437
|
+
replacedBy: z.ZodOptional<z.ZodString>;
|
|
438
|
+
}, "strip", z.ZodTypeAny, {
|
|
439
|
+
id: string;
|
|
440
|
+
type: "component" | "hook" | "util" | "block";
|
|
441
|
+
updateStrategy: "frozen" | "regenerable" | "managed";
|
|
442
|
+
status: "stable" | "experimental" | "deprecated";
|
|
443
|
+
description: string;
|
|
444
|
+
name: string;
|
|
445
|
+
files: {
|
|
446
|
+
source: string;
|
|
447
|
+
targetAlias: "components" | "hooks" | "utils" | "lib";
|
|
448
|
+
targetName: string;
|
|
449
|
+
}[];
|
|
450
|
+
template?: boolean | undefined;
|
|
451
|
+
meta?: string | undefined;
|
|
452
|
+
registryDependencies?: string[] | undefined;
|
|
453
|
+
dependencies?: Record<string, string> | undefined;
|
|
454
|
+
deprecatedReason?: string | undefined;
|
|
455
|
+
replacedBy?: string | undefined;
|
|
456
|
+
}, {
|
|
457
|
+
id: string;
|
|
458
|
+
type: "component" | "hook" | "util" | "block";
|
|
459
|
+
description: string;
|
|
460
|
+
name: string;
|
|
461
|
+
files: {
|
|
462
|
+
source: string;
|
|
463
|
+
targetAlias: "components" | "hooks" | "utils" | "lib";
|
|
464
|
+
targetName: string;
|
|
465
|
+
}[];
|
|
466
|
+
updateStrategy?: "frozen" | "regenerable" | "managed" | undefined;
|
|
467
|
+
template?: boolean | undefined;
|
|
468
|
+
status?: "stable" | "experimental" | "deprecated" | undefined;
|
|
469
|
+
meta?: string | undefined;
|
|
470
|
+
registryDependencies?: string[] | undefined;
|
|
471
|
+
dependencies?: Record<string, string> | undefined;
|
|
472
|
+
deprecatedReason?: string | undefined;
|
|
473
|
+
replacedBy?: string | undefined;
|
|
474
|
+
}>;
|
|
475
|
+
/**
|
|
476
|
+
* UI package manifest schema — top-level manifest of `@teamix-evo/ui`.
|
|
477
|
+
* Like skills, UI is flat (no variants); brand differences are absorbed by
|
|
478
|
+
* design tokens at the `var(--primary)` layer.
|
|
479
|
+
*/
|
|
480
|
+
declare const UiPackageManifestSchema: z.ZodObject<{
|
|
481
|
+
$schema: z.ZodOptional<z.ZodString>;
|
|
482
|
+
schemaVersion: z.ZodLiteral<1>;
|
|
483
|
+
/** Always "ui" for this package */
|
|
484
|
+
package: z.ZodLiteral<"ui">;
|
|
485
|
+
/** Semver version of the ui package */
|
|
486
|
+
version: z.ZodString;
|
|
487
|
+
/** Engine compatibility */
|
|
488
|
+
engines: z.ZodObject<{
|
|
489
|
+
'teamix-evo': z.ZodString;
|
|
490
|
+
}, "strip", z.ZodTypeAny, {
|
|
491
|
+
'teamix-evo': string;
|
|
492
|
+
}, {
|
|
493
|
+
'teamix-evo': string;
|
|
494
|
+
}>;
|
|
495
|
+
/** Flat list of entries shipped by this package */
|
|
496
|
+
entries: z.ZodArray<z.ZodObject<{
|
|
497
|
+
/** Unique entry identifier within the ui package (e.g. "button") */
|
|
498
|
+
id: z.ZodString;
|
|
499
|
+
/** Display name (e.g. "Button") */
|
|
500
|
+
name: z.ZodString;
|
|
501
|
+
/** Entry type */
|
|
502
|
+
type: z.ZodEnum<["component", "hook", "util", "block"]>;
|
|
503
|
+
/** One-line description for entry discovery and AI guidance */
|
|
504
|
+
description: z.ZodString;
|
|
505
|
+
/** Files this entry ships (typically 1) */
|
|
506
|
+
files: z.ZodArray<z.ZodObject<{
|
|
507
|
+
/** Source path relative to the ui package root (e.g. "src/components/button/button.tsx") */
|
|
508
|
+
source: z.ZodString;
|
|
509
|
+
/** Which alias this file resolves under in the consumer project */
|
|
510
|
+
targetAlias: z.ZodEnum<["components", "hooks", "utils", "lib"]>;
|
|
511
|
+
/** Filename written under the alias directory (e.g. "button.tsx") */
|
|
512
|
+
targetName: z.ZodString;
|
|
513
|
+
}, "strip", z.ZodTypeAny, {
|
|
514
|
+
source: string;
|
|
515
|
+
targetAlias: "components" | "hooks" | "utils" | "lib";
|
|
516
|
+
targetName: string;
|
|
517
|
+
}, {
|
|
518
|
+
source: string;
|
|
519
|
+
targetAlias: "components" | "hooks" | "utils" | "lib";
|
|
520
|
+
targetName: string;
|
|
521
|
+
}>, "many">;
|
|
522
|
+
/**
|
|
523
|
+
* Optional path to an AI-readable meta document (frontmatter + Markdown).
|
|
524
|
+
* When set, CLI install drops it at `.teamix-evo/design/components/<id>.meta.md`
|
|
525
|
+
* for design's ai-rules to consume.
|
|
526
|
+
*/
|
|
527
|
+
meta: z.ZodOptional<z.ZodString>;
|
|
528
|
+
/** Other UI entries this one depends on (e.g. "button" depends on "cn") */
|
|
529
|
+
registryDependencies: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
530
|
+
/** npm dependencies required by this entry (name → semver range) */
|
|
531
|
+
dependencies: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
532
|
+
/**
|
|
533
|
+
* How CLI handles this entry on `ui upgrade`.
|
|
534
|
+
* Defaults to `frozen` — user-owned source code, untouched after first install.
|
|
535
|
+
* Upgrade is handled by AI + skill flow (no CLI rewrite). See PLAN §10.9.
|
|
536
|
+
*/
|
|
537
|
+
updateStrategy: z.ZodDefault<z.ZodEnum<["frozen", "regenerable", "managed"]>>;
|
|
538
|
+
/**
|
|
539
|
+
* Whether the source file should be passed through Handlebars before write.
|
|
540
|
+
* Most entries don't need templating (use import-rewrite transformer instead).
|
|
541
|
+
*/
|
|
542
|
+
template: z.ZodOptional<z.ZodBoolean>;
|
|
543
|
+
/**
|
|
544
|
+
* Maturity / lifecycle status of this entry. Defaults to `stable`.
|
|
545
|
+
* See {@link UiEntryStatusSchema} for semantics.
|
|
546
|
+
*/
|
|
547
|
+
status: z.ZodDefault<z.ZodEnum<["stable", "experimental", "deprecated"]>>;
|
|
548
|
+
/**
|
|
549
|
+
* Free-text rationale shown to consumers when `status` is `deprecated`.
|
|
550
|
+
* Should explain why the entry is going away and what replaces it.
|
|
551
|
+
*/
|
|
552
|
+
deprecatedReason: z.ZodOptional<z.ZodString>;
|
|
553
|
+
/**
|
|
554
|
+
* If this entry is `deprecated`, the id of the entry that supersedes it.
|
|
555
|
+
* Consumers (and AI) should migrate to `replacedBy` rather than this entry.
|
|
556
|
+
*/
|
|
557
|
+
replacedBy: z.ZodOptional<z.ZodString>;
|
|
558
|
+
}, "strip", z.ZodTypeAny, {
|
|
559
|
+
id: string;
|
|
560
|
+
type: "component" | "hook" | "util" | "block";
|
|
561
|
+
updateStrategy: "frozen" | "regenerable" | "managed";
|
|
562
|
+
status: "stable" | "experimental" | "deprecated";
|
|
563
|
+
description: string;
|
|
564
|
+
name: string;
|
|
565
|
+
files: {
|
|
566
|
+
source: string;
|
|
567
|
+
targetAlias: "components" | "hooks" | "utils" | "lib";
|
|
568
|
+
targetName: string;
|
|
569
|
+
}[];
|
|
570
|
+
template?: boolean | undefined;
|
|
571
|
+
meta?: string | undefined;
|
|
572
|
+
registryDependencies?: string[] | undefined;
|
|
573
|
+
dependencies?: Record<string, string> | undefined;
|
|
574
|
+
deprecatedReason?: string | undefined;
|
|
575
|
+
replacedBy?: string | undefined;
|
|
576
|
+
}, {
|
|
577
|
+
id: string;
|
|
578
|
+
type: "component" | "hook" | "util" | "block";
|
|
579
|
+
description: string;
|
|
580
|
+
name: string;
|
|
581
|
+
files: {
|
|
582
|
+
source: string;
|
|
583
|
+
targetAlias: "components" | "hooks" | "utils" | "lib";
|
|
584
|
+
targetName: string;
|
|
585
|
+
}[];
|
|
586
|
+
updateStrategy?: "frozen" | "regenerable" | "managed" | undefined;
|
|
587
|
+
template?: boolean | undefined;
|
|
588
|
+
status?: "stable" | "experimental" | "deprecated" | undefined;
|
|
589
|
+
meta?: string | undefined;
|
|
590
|
+
registryDependencies?: string[] | undefined;
|
|
591
|
+
dependencies?: Record<string, string> | undefined;
|
|
592
|
+
deprecatedReason?: string | undefined;
|
|
593
|
+
replacedBy?: string | undefined;
|
|
594
|
+
}>, "many">;
|
|
595
|
+
}, "strip", z.ZodTypeAny, {
|
|
596
|
+
entries: {
|
|
597
|
+
id: string;
|
|
598
|
+
type: "component" | "hook" | "util" | "block";
|
|
599
|
+
updateStrategy: "frozen" | "regenerable" | "managed";
|
|
600
|
+
status: "stable" | "experimental" | "deprecated";
|
|
601
|
+
description: string;
|
|
602
|
+
name: string;
|
|
603
|
+
files: {
|
|
604
|
+
source: string;
|
|
605
|
+
targetAlias: "components" | "hooks" | "utils" | "lib";
|
|
606
|
+
targetName: string;
|
|
607
|
+
}[];
|
|
608
|
+
template?: boolean | undefined;
|
|
609
|
+
meta?: string | undefined;
|
|
610
|
+
registryDependencies?: string[] | undefined;
|
|
611
|
+
dependencies?: Record<string, string> | undefined;
|
|
612
|
+
deprecatedReason?: string | undefined;
|
|
613
|
+
replacedBy?: string | undefined;
|
|
158
614
|
}[];
|
|
615
|
+
schemaVersion: 1;
|
|
616
|
+
package: "ui";
|
|
617
|
+
version: string;
|
|
618
|
+
engines: {
|
|
619
|
+
'teamix-evo': string;
|
|
620
|
+
};
|
|
621
|
+
$schema?: string | undefined;
|
|
622
|
+
}, {
|
|
623
|
+
entries: {
|
|
624
|
+
id: string;
|
|
625
|
+
type: "component" | "hook" | "util" | "block";
|
|
626
|
+
description: string;
|
|
627
|
+
name: string;
|
|
628
|
+
files: {
|
|
629
|
+
source: string;
|
|
630
|
+
targetAlias: "components" | "hooks" | "utils" | "lib";
|
|
631
|
+
targetName: string;
|
|
632
|
+
}[];
|
|
633
|
+
updateStrategy?: "frozen" | "regenerable" | "managed" | undefined;
|
|
634
|
+
template?: boolean | undefined;
|
|
635
|
+
status?: "stable" | "experimental" | "deprecated" | undefined;
|
|
636
|
+
meta?: string | undefined;
|
|
637
|
+
registryDependencies?: string[] | undefined;
|
|
638
|
+
dependencies?: Record<string, string> | undefined;
|
|
639
|
+
deprecatedReason?: string | undefined;
|
|
640
|
+
replacedBy?: string | undefined;
|
|
641
|
+
}[];
|
|
642
|
+
schemaVersion: 1;
|
|
643
|
+
package: "ui";
|
|
644
|
+
version: string;
|
|
645
|
+
engines: {
|
|
646
|
+
'teamix-evo': string;
|
|
647
|
+
};
|
|
159
648
|
$schema?: string | undefined;
|
|
160
649
|
}>;
|
|
161
650
|
|
|
651
|
+
/**
|
|
652
|
+
* Tailwind CSS major version that the project consumes.
|
|
653
|
+
* Used by integration tooling (skills) to choose the correct token entry file.
|
|
654
|
+
*/
|
|
655
|
+
declare const TailwindVersionSchema: z.ZodEnum<["v3", "v4"]>;
|
|
656
|
+
/**
|
|
657
|
+
* Aliases for ui entry write-back paths in the consumer project.
|
|
658
|
+
* Keys mirror shadcn `components.json` aliases for familiarity.
|
|
659
|
+
*/
|
|
660
|
+
declare const UiAliasesSchema: z.ZodObject<{
|
|
661
|
+
components: z.ZodString;
|
|
662
|
+
hooks: z.ZodString;
|
|
663
|
+
utils: z.ZodString;
|
|
664
|
+
lib: z.ZodString;
|
|
665
|
+
}, "strip", z.ZodTypeAny, {
|
|
666
|
+
components: string;
|
|
667
|
+
hooks: string;
|
|
668
|
+
utils: string;
|
|
669
|
+
lib: string;
|
|
670
|
+
}, {
|
|
671
|
+
components: string;
|
|
672
|
+
hooks: string;
|
|
673
|
+
utils: string;
|
|
674
|
+
lib: string;
|
|
675
|
+
}>;
|
|
162
676
|
/**
|
|
163
677
|
* Package entry within a project config.
|
|
678
|
+
*
|
|
679
|
+
* Some fields only apply to specific packages:
|
|
680
|
+
* - `tailwind` — design only
|
|
681
|
+
* - `ides` / `scope` — skills only
|
|
682
|
+
* - `aliases` / `iconLibrary` / `tsx` / `rsc` — ui only
|
|
683
|
+
*
|
|
684
|
+
* All package-specific fields are optional at the schema level so a single
|
|
685
|
+
* `PackageEntrySchema` can describe every package family.
|
|
164
686
|
*/
|
|
165
687
|
declare const PackageEntrySchema: z.ZodObject<{
|
|
166
|
-
/** Variant identifier (e.g. "opentrek") */
|
|
688
|
+
/** Variant identifier (e.g. "opentrek"; use "_flat" for skills/ui) */
|
|
167
689
|
variant: z.ZodString;
|
|
168
690
|
/** Semver version string */
|
|
169
691
|
version: z.ZodString;
|
|
692
|
+
/** Tailwind CSS version this project uses (only meaningful for design package). */
|
|
693
|
+
tailwind: z.ZodOptional<z.ZodEnum<["v3", "v4"]>>;
|
|
694
|
+
/** IDEs this package was installed for (only meaningful for skills package). */
|
|
695
|
+
ides: z.ZodOptional<z.ZodArray<z.ZodEnum<["qoder", "claude"]>, "many">>;
|
|
696
|
+
/** Install scope (only meaningful for skills package). */
|
|
697
|
+
scope: z.ZodOptional<z.ZodEnum<["project", "global"]>>;
|
|
698
|
+
/** Path aliases for ui entry installation (only meaningful for ui package). */
|
|
699
|
+
aliases: z.ZodOptional<z.ZodObject<{
|
|
700
|
+
components: z.ZodString;
|
|
701
|
+
hooks: z.ZodString;
|
|
702
|
+
utils: z.ZodString;
|
|
703
|
+
lib: z.ZodString;
|
|
704
|
+
}, "strip", z.ZodTypeAny, {
|
|
705
|
+
components: string;
|
|
706
|
+
hooks: string;
|
|
707
|
+
utils: string;
|
|
708
|
+
lib: string;
|
|
709
|
+
}, {
|
|
710
|
+
components: string;
|
|
711
|
+
hooks: string;
|
|
712
|
+
utils: string;
|
|
713
|
+
lib: string;
|
|
714
|
+
}>>;
|
|
715
|
+
/**
|
|
716
|
+
* Default icon library declared by the project (only meaningful for ui).
|
|
717
|
+
* Declarative only — does NOT trigger code rewrites; ui entries hardcode imports.
|
|
718
|
+
*/
|
|
719
|
+
iconLibrary: z.ZodOptional<z.ZodString>;
|
|
720
|
+
/** Whether the project uses TSX (true) or JSX (false). ui-specific. */
|
|
721
|
+
tsx: z.ZodOptional<z.ZodBoolean>;
|
|
722
|
+
/** Whether to emit React Server Components markers (`"use client"`). ui-specific. */
|
|
723
|
+
rsc: z.ZodOptional<z.ZodBoolean>;
|
|
170
724
|
}, "strip", z.ZodTypeAny, {
|
|
171
725
|
variant: string;
|
|
172
726
|
version: string;
|
|
727
|
+
ides?: ("qoder" | "claude")[] | undefined;
|
|
728
|
+
scope?: "project" | "global" | undefined;
|
|
729
|
+
tailwind?: "v3" | "v4" | undefined;
|
|
730
|
+
aliases?: {
|
|
731
|
+
components: string;
|
|
732
|
+
hooks: string;
|
|
733
|
+
utils: string;
|
|
734
|
+
lib: string;
|
|
735
|
+
} | undefined;
|
|
736
|
+
iconLibrary?: string | undefined;
|
|
737
|
+
tsx?: boolean | undefined;
|
|
738
|
+
rsc?: boolean | undefined;
|
|
173
739
|
}, {
|
|
174
740
|
variant: string;
|
|
175
741
|
version: string;
|
|
742
|
+
ides?: ("qoder" | "claude")[] | undefined;
|
|
743
|
+
scope?: "project" | "global" | undefined;
|
|
744
|
+
tailwind?: "v3" | "v4" | undefined;
|
|
745
|
+
aliases?: {
|
|
746
|
+
components: string;
|
|
747
|
+
hooks: string;
|
|
748
|
+
utils: string;
|
|
749
|
+
lib: string;
|
|
750
|
+
} | undefined;
|
|
751
|
+
iconLibrary?: string | undefined;
|
|
752
|
+
tsx?: boolean | undefined;
|
|
753
|
+
rsc?: boolean | undefined;
|
|
176
754
|
}>;
|
|
177
755
|
/**
|
|
178
756
|
* Project configuration schema — teamix-evo config.json at project root.
|
|
@@ -184,16 +762,72 @@ declare const ProjectConfigSchema: z.ZodObject<{
|
|
|
184
762
|
ide: z.ZodString;
|
|
185
763
|
/** Installed packages keyed by package name */
|
|
186
764
|
packages: z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
187
|
-
/** Variant identifier (e.g. "opentrek") */
|
|
765
|
+
/** Variant identifier (e.g. "opentrek"; use "_flat" for skills/ui) */
|
|
188
766
|
variant: z.ZodString;
|
|
189
767
|
/** Semver version string */
|
|
190
768
|
version: z.ZodString;
|
|
769
|
+
/** Tailwind CSS version this project uses (only meaningful for design package). */
|
|
770
|
+
tailwind: z.ZodOptional<z.ZodEnum<["v3", "v4"]>>;
|
|
771
|
+
/** IDEs this package was installed for (only meaningful for skills package). */
|
|
772
|
+
ides: z.ZodOptional<z.ZodArray<z.ZodEnum<["qoder", "claude"]>, "many">>;
|
|
773
|
+
/** Install scope (only meaningful for skills package). */
|
|
774
|
+
scope: z.ZodOptional<z.ZodEnum<["project", "global"]>>;
|
|
775
|
+
/** Path aliases for ui entry installation (only meaningful for ui package). */
|
|
776
|
+
aliases: z.ZodOptional<z.ZodObject<{
|
|
777
|
+
components: z.ZodString;
|
|
778
|
+
hooks: z.ZodString;
|
|
779
|
+
utils: z.ZodString;
|
|
780
|
+
lib: z.ZodString;
|
|
781
|
+
}, "strip", z.ZodTypeAny, {
|
|
782
|
+
components: string;
|
|
783
|
+
hooks: string;
|
|
784
|
+
utils: string;
|
|
785
|
+
lib: string;
|
|
786
|
+
}, {
|
|
787
|
+
components: string;
|
|
788
|
+
hooks: string;
|
|
789
|
+
utils: string;
|
|
790
|
+
lib: string;
|
|
791
|
+
}>>;
|
|
792
|
+
/**
|
|
793
|
+
* Default icon library declared by the project (only meaningful for ui).
|
|
794
|
+
* Declarative only — does NOT trigger code rewrites; ui entries hardcode imports.
|
|
795
|
+
*/
|
|
796
|
+
iconLibrary: z.ZodOptional<z.ZodString>;
|
|
797
|
+
/** Whether the project uses TSX (true) or JSX (false). ui-specific. */
|
|
798
|
+
tsx: z.ZodOptional<z.ZodBoolean>;
|
|
799
|
+
/** Whether to emit React Server Components markers (`"use client"`). ui-specific. */
|
|
800
|
+
rsc: z.ZodOptional<z.ZodBoolean>;
|
|
191
801
|
}, "strip", z.ZodTypeAny, {
|
|
192
802
|
variant: string;
|
|
193
803
|
version: string;
|
|
804
|
+
ides?: ("qoder" | "claude")[] | undefined;
|
|
805
|
+
scope?: "project" | "global" | undefined;
|
|
806
|
+
tailwind?: "v3" | "v4" | undefined;
|
|
807
|
+
aliases?: {
|
|
808
|
+
components: string;
|
|
809
|
+
hooks: string;
|
|
810
|
+
utils: string;
|
|
811
|
+
lib: string;
|
|
812
|
+
} | undefined;
|
|
813
|
+
iconLibrary?: string | undefined;
|
|
814
|
+
tsx?: boolean | undefined;
|
|
815
|
+
rsc?: boolean | undefined;
|
|
194
816
|
}, {
|
|
195
817
|
variant: string;
|
|
196
818
|
version: string;
|
|
819
|
+
ides?: ("qoder" | "claude")[] | undefined;
|
|
820
|
+
scope?: "project" | "global" | undefined;
|
|
821
|
+
tailwind?: "v3" | "v4" | undefined;
|
|
822
|
+
aliases?: {
|
|
823
|
+
components: string;
|
|
824
|
+
hooks: string;
|
|
825
|
+
utils: string;
|
|
826
|
+
lib: string;
|
|
827
|
+
} | undefined;
|
|
828
|
+
iconLibrary?: string | undefined;
|
|
829
|
+
tsx?: boolean | undefined;
|
|
830
|
+
rsc?: boolean | undefined;
|
|
197
831
|
}>>;
|
|
198
832
|
}, "strip", z.ZodTypeAny, {
|
|
199
833
|
schemaVersion: 1;
|
|
@@ -201,6 +835,18 @@ declare const ProjectConfigSchema: z.ZodObject<{
|
|
|
201
835
|
packages: Record<string, {
|
|
202
836
|
variant: string;
|
|
203
837
|
version: string;
|
|
838
|
+
ides?: ("qoder" | "claude")[] | undefined;
|
|
839
|
+
scope?: "project" | "global" | undefined;
|
|
840
|
+
tailwind?: "v3" | "v4" | undefined;
|
|
841
|
+
aliases?: {
|
|
842
|
+
components: string;
|
|
843
|
+
hooks: string;
|
|
844
|
+
utils: string;
|
|
845
|
+
lib: string;
|
|
846
|
+
} | undefined;
|
|
847
|
+
iconLibrary?: string | undefined;
|
|
848
|
+
tsx?: boolean | undefined;
|
|
849
|
+
rsc?: boolean | undefined;
|
|
204
850
|
}>;
|
|
205
851
|
$schema?: string | undefined;
|
|
206
852
|
}, {
|
|
@@ -209,32 +855,56 @@ declare const ProjectConfigSchema: z.ZodObject<{
|
|
|
209
855
|
packages: Record<string, {
|
|
210
856
|
variant: string;
|
|
211
857
|
version: string;
|
|
858
|
+
ides?: ("qoder" | "claude")[] | undefined;
|
|
859
|
+
scope?: "project" | "global" | undefined;
|
|
860
|
+
tailwind?: "v3" | "v4" | undefined;
|
|
861
|
+
aliases?: {
|
|
862
|
+
components: string;
|
|
863
|
+
hooks: string;
|
|
864
|
+
utils: string;
|
|
865
|
+
lib: string;
|
|
866
|
+
} | undefined;
|
|
867
|
+
iconLibrary?: string | undefined;
|
|
868
|
+
tsx?: boolean | undefined;
|
|
869
|
+
rsc?: boolean | undefined;
|
|
212
870
|
}>;
|
|
213
871
|
$schema?: string | undefined;
|
|
214
872
|
}>;
|
|
215
873
|
|
|
216
874
|
/**
|
|
217
875
|
* An installed resource entry — tracks individual resource installation state.
|
|
876
|
+
*
|
|
877
|
+
* For type="skill" resources, the same logical skill may produce multiple installed
|
|
878
|
+
* entries (one per ide × scope combination); the optional `ide`/`scope` fields
|
|
879
|
+
* disambiguate them.
|
|
218
880
|
*/
|
|
219
881
|
declare const InstalledResourceSchema: z.ZodObject<{
|
|
220
882
|
/** Resource identifier matching the variant manifest */
|
|
221
883
|
id: z.ZodString;
|
|
222
|
-
/** Target path where the resource was installed */
|
|
884
|
+
/** Target path where the resource was installed (absolute or project-relative) */
|
|
223
885
|
target: z.ZodString;
|
|
224
886
|
/** Content hash for change detection (e.g. "sha256:...") */
|
|
225
887
|
hash: z.ZodString;
|
|
226
888
|
/** Update strategy that was applied */
|
|
227
889
|
strategy: z.ZodEnum<["frozen", "regenerable", "managed"]>;
|
|
890
|
+
/** IDE this resource was installed for (skill resources only) */
|
|
891
|
+
ide: z.ZodOptional<z.ZodEnum<["qoder", "claude"]>>;
|
|
892
|
+
/** Install scope (skill resources only) */
|
|
893
|
+
scope: z.ZodOptional<z.ZodEnum<["project", "global"]>>;
|
|
228
894
|
}, "strip", z.ZodTypeAny, {
|
|
229
895
|
id: string;
|
|
230
896
|
target: string;
|
|
231
897
|
hash: string;
|
|
232
898
|
strategy: "frozen" | "regenerable" | "managed";
|
|
899
|
+
scope?: "project" | "global" | undefined;
|
|
900
|
+
ide?: "qoder" | "claude" | undefined;
|
|
233
901
|
}, {
|
|
234
902
|
id: string;
|
|
235
903
|
target: string;
|
|
236
904
|
hash: string;
|
|
237
905
|
strategy: "frozen" | "regenerable" | "managed";
|
|
906
|
+
scope?: "project" | "global" | undefined;
|
|
907
|
+
ide?: "qoder" | "claude" | undefined;
|
|
238
908
|
}>;
|
|
239
909
|
/**
|
|
240
910
|
* An installed package entry — tracks a single package installation.
|
|
@@ -242,7 +912,7 @@ declare const InstalledResourceSchema: z.ZodObject<{
|
|
|
242
912
|
declare const InstalledPackageSchema: z.ZodObject<{
|
|
243
913
|
/** Full package name (e.g. "@teamix-evo/design") */
|
|
244
914
|
package: z.ZodString;
|
|
245
|
-
/** Variant identifier */
|
|
915
|
+
/** Variant identifier (use "_flat" for non-variant packages such as skills) */
|
|
246
916
|
variant: z.ZodString;
|
|
247
917
|
/** Installed version */
|
|
248
918
|
version: z.ZodString;
|
|
@@ -252,22 +922,30 @@ declare const InstalledPackageSchema: z.ZodObject<{
|
|
|
252
922
|
resources: z.ZodArray<z.ZodObject<{
|
|
253
923
|
/** Resource identifier matching the variant manifest */
|
|
254
924
|
id: z.ZodString;
|
|
255
|
-
/** Target path where the resource was installed */
|
|
925
|
+
/** Target path where the resource was installed (absolute or project-relative) */
|
|
256
926
|
target: z.ZodString;
|
|
257
927
|
/** Content hash for change detection (e.g. "sha256:...") */
|
|
258
928
|
hash: z.ZodString;
|
|
259
929
|
/** Update strategy that was applied */
|
|
260
930
|
strategy: z.ZodEnum<["frozen", "regenerable", "managed"]>;
|
|
931
|
+
/** IDE this resource was installed for (skill resources only) */
|
|
932
|
+
ide: z.ZodOptional<z.ZodEnum<["qoder", "claude"]>>;
|
|
933
|
+
/** Install scope (skill resources only) */
|
|
934
|
+
scope: z.ZodOptional<z.ZodEnum<["project", "global"]>>;
|
|
261
935
|
}, "strip", z.ZodTypeAny, {
|
|
262
936
|
id: string;
|
|
263
937
|
target: string;
|
|
264
938
|
hash: string;
|
|
265
939
|
strategy: "frozen" | "regenerable" | "managed";
|
|
940
|
+
scope?: "project" | "global" | undefined;
|
|
941
|
+
ide?: "qoder" | "claude" | undefined;
|
|
266
942
|
}, {
|
|
267
943
|
id: string;
|
|
268
944
|
target: string;
|
|
269
945
|
hash: string;
|
|
270
946
|
strategy: "frozen" | "regenerable" | "managed";
|
|
947
|
+
scope?: "project" | "global" | undefined;
|
|
948
|
+
ide?: "qoder" | "claude" | undefined;
|
|
271
949
|
}>, "many">;
|
|
272
950
|
}, "strip", z.ZodTypeAny, {
|
|
273
951
|
package: string;
|
|
@@ -278,6 +956,8 @@ declare const InstalledPackageSchema: z.ZodObject<{
|
|
|
278
956
|
target: string;
|
|
279
957
|
hash: string;
|
|
280
958
|
strategy: "frozen" | "regenerable" | "managed";
|
|
959
|
+
scope?: "project" | "global" | undefined;
|
|
960
|
+
ide?: "qoder" | "claude" | undefined;
|
|
281
961
|
}[];
|
|
282
962
|
installedAt: string;
|
|
283
963
|
}, {
|
|
@@ -289,6 +969,8 @@ declare const InstalledPackageSchema: z.ZodObject<{
|
|
|
289
969
|
target: string;
|
|
290
970
|
hash: string;
|
|
291
971
|
strategy: "frozen" | "regenerable" | "managed";
|
|
972
|
+
scope?: "project" | "global" | undefined;
|
|
973
|
+
ide?: "qoder" | "claude" | undefined;
|
|
292
974
|
}[];
|
|
293
975
|
installedAt: string;
|
|
294
976
|
}>;
|
|
@@ -302,7 +984,7 @@ declare const InstalledManifestSchema: z.ZodObject<{
|
|
|
302
984
|
installed: z.ZodArray<z.ZodObject<{
|
|
303
985
|
/** Full package name (e.g. "@teamix-evo/design") */
|
|
304
986
|
package: z.ZodString;
|
|
305
|
-
/** Variant identifier */
|
|
987
|
+
/** Variant identifier (use "_flat" for non-variant packages such as skills) */
|
|
306
988
|
variant: z.ZodString;
|
|
307
989
|
/** Installed version */
|
|
308
990
|
version: z.ZodString;
|
|
@@ -312,22 +994,30 @@ declare const InstalledManifestSchema: z.ZodObject<{
|
|
|
312
994
|
resources: z.ZodArray<z.ZodObject<{
|
|
313
995
|
/** Resource identifier matching the variant manifest */
|
|
314
996
|
id: z.ZodString;
|
|
315
|
-
/** Target path where the resource was installed */
|
|
997
|
+
/** Target path where the resource was installed (absolute or project-relative) */
|
|
316
998
|
target: z.ZodString;
|
|
317
999
|
/** Content hash for change detection (e.g. "sha256:...") */
|
|
318
1000
|
hash: z.ZodString;
|
|
319
1001
|
/** Update strategy that was applied */
|
|
320
1002
|
strategy: z.ZodEnum<["frozen", "regenerable", "managed"]>;
|
|
1003
|
+
/** IDE this resource was installed for (skill resources only) */
|
|
1004
|
+
ide: z.ZodOptional<z.ZodEnum<["qoder", "claude"]>>;
|
|
1005
|
+
/** Install scope (skill resources only) */
|
|
1006
|
+
scope: z.ZodOptional<z.ZodEnum<["project", "global"]>>;
|
|
321
1007
|
}, "strip", z.ZodTypeAny, {
|
|
322
1008
|
id: string;
|
|
323
1009
|
target: string;
|
|
324
1010
|
hash: string;
|
|
325
1011
|
strategy: "frozen" | "regenerable" | "managed";
|
|
1012
|
+
scope?: "project" | "global" | undefined;
|
|
1013
|
+
ide?: "qoder" | "claude" | undefined;
|
|
326
1014
|
}, {
|
|
327
1015
|
id: string;
|
|
328
1016
|
target: string;
|
|
329
1017
|
hash: string;
|
|
330
1018
|
strategy: "frozen" | "regenerable" | "managed";
|
|
1019
|
+
scope?: "project" | "global" | undefined;
|
|
1020
|
+
ide?: "qoder" | "claude" | undefined;
|
|
331
1021
|
}>, "many">;
|
|
332
1022
|
}, "strip", z.ZodTypeAny, {
|
|
333
1023
|
package: string;
|
|
@@ -338,6 +1028,8 @@ declare const InstalledManifestSchema: z.ZodObject<{
|
|
|
338
1028
|
target: string;
|
|
339
1029
|
hash: string;
|
|
340
1030
|
strategy: "frozen" | "regenerable" | "managed";
|
|
1031
|
+
scope?: "project" | "global" | undefined;
|
|
1032
|
+
ide?: "qoder" | "claude" | undefined;
|
|
341
1033
|
}[];
|
|
342
1034
|
installedAt: string;
|
|
343
1035
|
}, {
|
|
@@ -349,6 +1041,8 @@ declare const InstalledManifestSchema: z.ZodObject<{
|
|
|
349
1041
|
target: string;
|
|
350
1042
|
hash: string;
|
|
351
1043
|
strategy: "frozen" | "regenerable" | "managed";
|
|
1044
|
+
scope?: "project" | "global" | undefined;
|
|
1045
|
+
ide?: "qoder" | "claude" | undefined;
|
|
352
1046
|
}[];
|
|
353
1047
|
installedAt: string;
|
|
354
1048
|
}>, "many">;
|
|
@@ -363,6 +1057,8 @@ declare const InstalledManifestSchema: z.ZodObject<{
|
|
|
363
1057
|
target: string;
|
|
364
1058
|
hash: string;
|
|
365
1059
|
strategy: "frozen" | "regenerable" | "managed";
|
|
1060
|
+
scope?: "project" | "global" | undefined;
|
|
1061
|
+
ide?: "qoder" | "claude" | undefined;
|
|
366
1062
|
}[];
|
|
367
1063
|
installedAt: string;
|
|
368
1064
|
}[];
|
|
@@ -377,6 +1073,8 @@ declare const InstalledManifestSchema: z.ZodObject<{
|
|
|
377
1073
|
target: string;
|
|
378
1074
|
hash: string;
|
|
379
1075
|
strategy: "frozen" | "regenerable" | "managed";
|
|
1076
|
+
scope?: "project" | "global" | undefined;
|
|
1077
|
+
ide?: "qoder" | "claude" | undefined;
|
|
380
1078
|
}[];
|
|
381
1079
|
installedAt: string;
|
|
382
1080
|
}[];
|
|
@@ -386,12 +1084,34 @@ declare const InstalledManifestSchema: z.ZodObject<{
|
|
|
386
1084
|
type UpdateStrategy = z.infer<typeof UpdateStrategySchema>;
|
|
387
1085
|
/** Resource type discriminator */
|
|
388
1086
|
type ResourceType = z.infer<typeof ResourceTypeSchema>;
|
|
1087
|
+
/** AI IDE identifier supported by skills (qoder | claude) */
|
|
1088
|
+
type SkillIde = z.infer<typeof SkillIdeSchema>;
|
|
1089
|
+
/** Skill installation scope (project | global) */
|
|
1090
|
+
type SkillScope = z.infer<typeof SkillScopeSchema>;
|
|
1091
|
+
/** UI entry type discriminator */
|
|
1092
|
+
type UiEntryType = z.infer<typeof UiEntryTypeSchema>;
|
|
1093
|
+
/** UI write-back alias key (components | hooks | utils | lib) */
|
|
1094
|
+
type UiAlias = z.infer<typeof UiAliasSchema>;
|
|
389
1095
|
/** A single resource entry within a variant manifest */
|
|
390
1096
|
type Resource = z.infer<typeof ResourceSchema>;
|
|
391
1097
|
/** Variant manifest describing a package variant and its resources */
|
|
392
1098
|
type VariantManifest = z.infer<typeof VariantManifestSchema>;
|
|
1099
|
+
/** A single skill entry in a skills package manifest */
|
|
1100
|
+
type SkillEntry = z.infer<typeof SkillEntrySchema>;
|
|
1101
|
+
/** Skills package manifest (top-level manifest of @teamix-evo/skills) */
|
|
1102
|
+
type SkillsPackageManifest = z.infer<typeof SkillsPackageManifestSchema>;
|
|
1103
|
+
/** A single file shipped by a UI entry */
|
|
1104
|
+
type UiEntryFile = z.infer<typeof UiEntryFileSchema>;
|
|
1105
|
+
/** A single UI entry (component / hook / util / block) */
|
|
1106
|
+
type UiEntry = z.infer<typeof UiEntrySchema>;
|
|
1107
|
+
/** UI package manifest (top-level manifest of @teamix-evo/ui) */
|
|
1108
|
+
type UiPackageManifest = z.infer<typeof UiPackageManifestSchema>;
|
|
1109
|
+
/** Path aliases for UI entry installation in the consumer project */
|
|
1110
|
+
type UiAliases = z.infer<typeof UiAliasesSchema>;
|
|
393
1111
|
/** A package entry in the project config */
|
|
394
1112
|
type PackageEntry = z.infer<typeof PackageEntrySchema>;
|
|
1113
|
+
/** Tailwind CSS major version ("v3" | "v4") */
|
|
1114
|
+
type TailwindVersion = z.infer<typeof TailwindVersionSchema>;
|
|
395
1115
|
/** Project configuration (config.json) */
|
|
396
1116
|
type ProjectConfig = z.infer<typeof ProjectConfigSchema>;
|
|
397
1117
|
/** An installed resource tracking entry */
|
|
@@ -431,6 +1151,29 @@ type Result<T> = {
|
|
|
431
1151
|
* @throws Error if the file cannot be read or the manifest is invalid
|
|
432
1152
|
*/
|
|
433
1153
|
declare function loadVariantManifest(packageDir: string): Promise<VariantManifest>;
|
|
1154
|
+
/**
|
|
1155
|
+
* Load and validate the top-level manifest of a skills package.
|
|
1156
|
+
*
|
|
1157
|
+
* Reads `manifest.json` from the given directory and validates it against
|
|
1158
|
+
* the SkillsPackageManifest schema (flat list of skills, no variants).
|
|
1159
|
+
*
|
|
1160
|
+
* @param packageDir - Absolute or relative path to the skills package directory
|
|
1161
|
+
* @returns The validated SkillsPackageManifest
|
|
1162
|
+
* @throws Error if the file cannot be read or the manifest is invalid
|
|
1163
|
+
*/
|
|
1164
|
+
declare function loadSkillsPackageManifest(packageDir: string): Promise<SkillsPackageManifest>;
|
|
1165
|
+
/**
|
|
1166
|
+
* Load and validate the top-level manifest of a UI package.
|
|
1167
|
+
*
|
|
1168
|
+
* Reads `manifest.json` from the given directory and validates it against
|
|
1169
|
+
* the UiPackageManifest schema (flat list of entries, no variants).
|
|
1170
|
+
* Also performs registryDependencies graph validation (existence + no cycles).
|
|
1171
|
+
*
|
|
1172
|
+
* @param packageDir - Absolute or relative path to the ui package directory
|
|
1173
|
+
* @returns The validated UiPackageManifest
|
|
1174
|
+
* @throws Error if the file cannot be read, the manifest is invalid, or the dep graph is broken
|
|
1175
|
+
*/
|
|
1176
|
+
declare function loadUiPackageManifest(packageDir: string): Promise<UiPackageManifest>;
|
|
434
1177
|
|
|
435
1178
|
/**
|
|
436
1179
|
* Validate unknown data against the VariantManifest schema.
|
|
@@ -445,6 +1188,35 @@ declare function validateConfig(data: unknown): Result<ProjectConfig>;
|
|
|
445
1188
|
* Validate unknown data against the InstalledManifest schema.
|
|
446
1189
|
*/
|
|
447
1190
|
declare function validateInstalled(data: unknown): Result<InstalledManifest>;
|
|
1191
|
+
/**
|
|
1192
|
+
* Validate unknown data against the SkillsPackageManifest schema.
|
|
1193
|
+
*/
|
|
1194
|
+
declare function validateSkillsPackage(data: unknown): Result<SkillsPackageManifest>;
|
|
1195
|
+
/**
|
|
1196
|
+
* Validate unknown data against the UiPackageManifest schema, then verify the
|
|
1197
|
+
* registryDependencies graph: every reference resolves and there are no cycles.
|
|
1198
|
+
*/
|
|
1199
|
+
declare function validateUiPackage(data: unknown): Result<UiPackageManifest>;
|
|
1200
|
+
/**
|
|
1201
|
+
* Validate the registryDependencies graph among ui entries.
|
|
1202
|
+
* Returns a list of issue strings (empty when the graph is sound).
|
|
1203
|
+
*
|
|
1204
|
+
* Issues detected:
|
|
1205
|
+
* - Duplicate entry id
|
|
1206
|
+
* - Reference to an unknown entry id
|
|
1207
|
+
* - Cyclic dependency
|
|
1208
|
+
*/
|
|
1209
|
+
declare function validateUiDependencyGraph(entries: UiEntry[]): string[];
|
|
1210
|
+
/**
|
|
1211
|
+
* Topologically sort a subset of ui entries so that dependencies come before
|
|
1212
|
+
* dependents. Used by `ui add` to determine install order.
|
|
1213
|
+
*
|
|
1214
|
+
* @param entries full list of entries (the package manifest's `entries`)
|
|
1215
|
+
* @param requested ids the user explicitly asked to install
|
|
1216
|
+
* @returns ordered list of entry ids (includes transitive deps, dedup'd)
|
|
1217
|
+
* @throws Error if a requested id or transitive dep is missing or graph has cycles
|
|
1218
|
+
*/
|
|
1219
|
+
declare function resolveUiEntryOrder(entries: UiEntry[], requested: string[]): string[];
|
|
448
1220
|
|
|
449
1221
|
/**
|
|
450
1222
|
* Parse all managed regions from document content.
|
|
@@ -502,4 +1274,4 @@ interface UpdateActionOptions {
|
|
|
502
1274
|
*/
|
|
503
1275
|
declare function getUpdateAction(strategy: UpdateStrategy, options: UpdateActionOptions): UpdateAction;
|
|
504
1276
|
|
|
505
|
-
export { type InstalledManifest, InstalledManifestSchema, type InstalledPackage, InstalledPackageSchema, type InstalledResource, InstalledResourceSchema, type ManagedRegion, type PackageEntry, PackageEntrySchema, type ProjectConfig, ProjectConfigSchema, type Resource, ResourceSchema, type ResourceType, ResourceTypeSchema, type Result, type UpdateAction, type UpdateActionOptions, type UpdateStrategy, UpdateStrategySchema, type VariantManifest, VariantManifestSchema, getUpdateAction, hasManagedRegion, loadVariantManifest, parseManagedRegions, replaceManagedRegion, shouldUpdate, validateConfig, validateInstalled, validateManifest };
|
|
1277
|
+
export { type InstalledManifest, InstalledManifestSchema, type InstalledPackage, InstalledPackageSchema, type InstalledResource, InstalledResourceSchema, type ManagedRegion, type PackageEntry, PackageEntrySchema, type ProjectConfig, ProjectConfigSchema, type Resource, ResourceSchema, type ResourceType, ResourceTypeSchema, type Result, type SkillEntry, SkillEntrySchema, type SkillIde, SkillIdeSchema, type SkillScope, SkillScopeSchema, type SkillsPackageManifest, SkillsPackageManifestSchema, type TailwindVersion, TailwindVersionSchema, type UiAlias, UiAliasSchema, type UiAliases, UiAliasesSchema, type UiEntry, type UiEntryFile, UiEntryFileSchema, UiEntrySchema, type UiEntryType, UiEntryTypeSchema, type UiPackageManifest, UiPackageManifestSchema, type UpdateAction, type UpdateActionOptions, type UpdateStrategy, UpdateStrategySchema, type VariantManifest, VariantManifestSchema, getUpdateAction, hasManagedRegion, loadSkillsPackageManifest, loadUiPackageManifest, loadVariantManifest, parseManagedRegions, replaceManagedRegion, resolveUiEntryOrder, shouldUpdate, validateConfig, validateInstalled, validateManifest, validateSkillsPackage, validateUiDependencyGraph, validateUiPackage };
|