@haus-tech/haus-workflow 0.3.0 → 0.5.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/CHANGELOG.md +12 -0
- package/dist/cli.js +18 -0
- package/library/catalog/allowed-stacks.json +7 -2
- package/library/catalog/manifest.json +180 -8
- package/package.json +1 -1
- package/tests/fixtures/catalog/manifest.json +95 -4
- package/tests/fixtures/catalog/skills/react-router-v7-patterns/SKILL.md +9 -0
- package/tests/fixtures/catalog/skills/sanity-patterns/SKILL.md +9 -0
- package/tests/fixtures/catalog/skills/strapi-patterns/SKILL.md +9 -0
- package/tests/fixtures/catalog/skills/typescript5-patterns/SKILL.md +9 -0
- /package/tests/fixtures/catalog/skills/{typescript6-patterns → prisma-patterns}/SKILL.md +0 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,17 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [0.5.0](https://github.com/WeAreHausTech/haus-workflow/compare/v0.4.0...v0.5.0) (2026-05-28)
|
|
4
|
+
|
|
5
|
+
### Features
|
|
6
|
+
|
|
7
|
+
* **scanner:** detect sanity, strapi, prisma (T12-T14) ([d2f3235](https://github.com/WeAreHausTech/haus-workflow/commit/d2f32359de33f85176085dfcd5c68685b2d4a5fc))
|
|
8
|
+
|
|
9
|
+
## [0.4.0](https://github.com/WeAreHausTech/haus-workflow/compare/v0.3.0...v0.4.0) (2026-05-28)
|
|
10
|
+
|
|
11
|
+
### Features
|
|
12
|
+
|
|
13
|
+
* **scanner:** detect react-router-v7, tailwind, shadcn; rename typescript6 → typescript5 (T8-T11) ([d98d813](https://github.com/WeAreHausTech/haus-workflow/commit/d98d813c7e52df68ae7f55ceb23bd9016e2d8308))
|
|
14
|
+
|
|
3
15
|
## [0.3.0](https://github.com/WeAreHausTech/haus-workflow/compare/v0.2.2...v0.3.0) (2026-05-28)
|
|
4
16
|
|
|
5
17
|
### Features
|
package/dist/cli.js
CHANGED
|
@@ -1418,6 +1418,9 @@ function detectRoles(deps, files) {
|
|
|
1418
1418
|
if (deps.includes("next") || files.some((f) => f.includes("next.config."))) roles.add("next-app");
|
|
1419
1419
|
if (deps.includes("react")) roles.add("react-app");
|
|
1420
1420
|
if (deps.includes("vite") || files.some((f) => f.includes("vite.config."))) roles.add("vite-app");
|
|
1421
|
+
if (deps.includes("react-router") && deps.includes("@react-router/node")) roles.add("react-router-app");
|
|
1422
|
+
if (deps.includes("sanity")) roles.add("sanity-studio");
|
|
1423
|
+
if (deps.includes("@strapi/strapi") || deps.some((d) => d.startsWith("@strapi/"))) roles.add("strapi-app");
|
|
1421
1424
|
if (deps.includes("@vendure/core")) roles.add("vendure-app");
|
|
1422
1425
|
if (deps.some((d) => d.startsWith("@haus/vendure-")) || files.some((f) => f.includes("vendure-config")))
|
|
1423
1426
|
roles.add("vendure-plugin");
|
|
@@ -1461,6 +1464,21 @@ async function detectStacks(root, deps, files, packageManager) {
|
|
|
1461
1464
|
if (deps.includes("react")) add("frontend", "react19");
|
|
1462
1465
|
if (deps.includes("vue")) add("frontend", "vue");
|
|
1463
1466
|
if (deps.includes("vite")) add("frontend", "vite8");
|
|
1467
|
+
if (deps.includes("react-router") && deps.includes("@react-router/node")) add("frontend", "react-router-v7");
|
|
1468
|
+
if (deps.includes("tailwindcss") || files.some((f) => f.includes("tailwind.config."))) {
|
|
1469
|
+
add("frontend", "tailwindcss");
|
|
1470
|
+
}
|
|
1471
|
+
if (files.some((f) => f.endsWith("components.json")) && deps.includes("class-variance-authority")) {
|
|
1472
|
+
add("frontend", "shadcn");
|
|
1473
|
+
}
|
|
1474
|
+
if (deps.includes("typescript")) add("tooling", "typescript5");
|
|
1475
|
+
if (deps.includes("sanity") || deps.includes("next-sanity") || deps.includes("@sanity/client")) {
|
|
1476
|
+
add("backend", "sanity");
|
|
1477
|
+
}
|
|
1478
|
+
if (deps.includes("@strapi/strapi") || deps.some((d) => d.startsWith("@strapi/"))) {
|
|
1479
|
+
add("backend", "strapi");
|
|
1480
|
+
}
|
|
1481
|
+
if (deps.includes("prisma") || deps.includes("@prisma/client")) add("backend", "prisma");
|
|
1464
1482
|
if (deps.includes("@vendure/core")) add("backend", "vendure3");
|
|
1465
1483
|
if (deps.includes("@nestjs/core")) add("backend", "nestjs");
|
|
1466
1484
|
if (await hasNeedle(root, files, "NestFactory")) add("backend", "nestjs");
|
|
@@ -28,7 +28,7 @@
|
|
|
28
28
|
"turbo",
|
|
29
29
|
"nextjs",
|
|
30
30
|
"react19",
|
|
31
|
-
"
|
|
31
|
+
"typescript5",
|
|
32
32
|
"vite8",
|
|
33
33
|
"tanstack-query",
|
|
34
34
|
"tanstack-router",
|
|
@@ -71,6 +71,11 @@
|
|
|
71
71
|
"wisest",
|
|
72
72
|
"vitest",
|
|
73
73
|
"jest",
|
|
74
|
-
"redis"
|
|
74
|
+
"redis",
|
|
75
|
+
"sanity",
|
|
76
|
+
"strapi",
|
|
77
|
+
"prisma",
|
|
78
|
+
"cms",
|
|
79
|
+
"database"
|
|
75
80
|
]
|
|
76
81
|
}
|
|
@@ -107,12 +107,12 @@
|
|
|
107
107
|
"installMode": "copy-selected"
|
|
108
108
|
},
|
|
109
109
|
{
|
|
110
|
-
"id": "haus.
|
|
111
|
-
"version": "1.
|
|
110
|
+
"id": "haus.typescript5-patterns",
|
|
111
|
+
"version": "1.1.0",
|
|
112
112
|
"source": "haus",
|
|
113
113
|
"type": "skill",
|
|
114
|
-
"path": "skills/
|
|
115
|
-
"title": "Haus TypeScript patterns",
|
|
114
|
+
"path": "skills/typescript5-patterns",
|
|
115
|
+
"title": "Haus TypeScript 5 patterns",
|
|
116
116
|
"purpose": "Guide TypeScript contract and migration-safe typing changes.",
|
|
117
117
|
"whenToUse": "Use for shared types, DTOs, interface boundaries, and type-safe refactors.",
|
|
118
118
|
"whenNotToUse": "Do not use for runtime-only changes without type-contract impact.",
|
|
@@ -137,6 +137,9 @@
|
|
|
137
137
|
"shared-package"
|
|
138
138
|
],
|
|
139
139
|
"requiresAny": [
|
|
140
|
+
{
|
|
141
|
+
"stack": "typescript5"
|
|
142
|
+
},
|
|
140
143
|
{
|
|
141
144
|
"stack": "typescript"
|
|
142
145
|
},
|
|
@@ -188,6 +191,172 @@
|
|
|
188
191
|
"tokenEstimate": 1800,
|
|
189
192
|
"installMode": "copy-selected"
|
|
190
193
|
},
|
|
194
|
+
{
|
|
195
|
+
"id": "haus.react-router-v7-patterns",
|
|
196
|
+
"version": "1.0.0",
|
|
197
|
+
"source": "haus",
|
|
198
|
+
"type": "skill",
|
|
199
|
+
"path": "skills/react-router-v7-patterns",
|
|
200
|
+
"title": "Haus React Router v7 patterns",
|
|
201
|
+
"purpose": "Guide React Router v7 SSR route, loader, and action boundary changes.",
|
|
202
|
+
"whenToUse": "Use for routes, loaders, actions, and SSR config in React Router v7 apps.",
|
|
203
|
+
"whenNotToUse": "Do not use for Next.js App Router or Remix v1 codebases.",
|
|
204
|
+
"references": [
|
|
205
|
+
"references/conventions.md",
|
|
206
|
+
"references/scope.md",
|
|
207
|
+
"references/workflow.md",
|
|
208
|
+
"https://reactrouter.com/start/framework/installation"
|
|
209
|
+
],
|
|
210
|
+
"tokenBudget": 1200,
|
|
211
|
+
"tags": [
|
|
212
|
+
"frontend",
|
|
213
|
+
"react",
|
|
214
|
+
"typescript"
|
|
215
|
+
],
|
|
216
|
+
"repoRoles": [
|
|
217
|
+
"react-router-app",
|
|
218
|
+
"react-app"
|
|
219
|
+
],
|
|
220
|
+
"requiresAny": [
|
|
221
|
+
{
|
|
222
|
+
"stack": "react-router-v7"
|
|
223
|
+
},
|
|
224
|
+
{
|
|
225
|
+
"role": "react-router-app"
|
|
226
|
+
},
|
|
227
|
+
{
|
|
228
|
+
"dependency": "@react-router/node"
|
|
229
|
+
}
|
|
230
|
+
],
|
|
231
|
+
"ecosystem": "react",
|
|
232
|
+
"tokenEstimate": 2000,
|
|
233
|
+
"installMode": "copy-selected"
|
|
234
|
+
},
|
|
235
|
+
{
|
|
236
|
+
"id": "haus.sanity-patterns",
|
|
237
|
+
"version": "1.0.0",
|
|
238
|
+
"source": "haus",
|
|
239
|
+
"type": "skill",
|
|
240
|
+
"path": "skills/sanity-patterns",
|
|
241
|
+
"title": "Haus Sanity patterns",
|
|
242
|
+
"purpose": "Guide Sanity v3/v5 schema, Studio config, GROQ query, and Next.js integration changes.",
|
|
243
|
+
"whenToUse": "Use for Sanity schema, Studio plugin, GROQ query, or next-sanity integration updates.",
|
|
244
|
+
"whenNotToUse": "Do not use for Strapi, WordPress, or other CMS work.",
|
|
245
|
+
"references": [
|
|
246
|
+
"references/conventions.md",
|
|
247
|
+
"references/scope.md",
|
|
248
|
+
"references/workflow.md",
|
|
249
|
+
"https://www.sanity.io/docs"
|
|
250
|
+
],
|
|
251
|
+
"tokenBudget": 1200,
|
|
252
|
+
"tags": [
|
|
253
|
+
"sanity",
|
|
254
|
+
"backend",
|
|
255
|
+
"cms"
|
|
256
|
+
],
|
|
257
|
+
"repoRoles": [
|
|
258
|
+
"sanity-studio",
|
|
259
|
+
"next-app"
|
|
260
|
+
],
|
|
261
|
+
"requiresAny": [
|
|
262
|
+
{
|
|
263
|
+
"stack": "sanity"
|
|
264
|
+
},
|
|
265
|
+
{
|
|
266
|
+
"role": "sanity-studio"
|
|
267
|
+
},
|
|
268
|
+
{
|
|
269
|
+
"dependency": "sanity"
|
|
270
|
+
},
|
|
271
|
+
{
|
|
272
|
+
"dependency": "next-sanity"
|
|
273
|
+
}
|
|
274
|
+
],
|
|
275
|
+
"ecosystem": "cms",
|
|
276
|
+
"tokenEstimate": 2000,
|
|
277
|
+
"installMode": "copy-selected"
|
|
278
|
+
},
|
|
279
|
+
{
|
|
280
|
+
"id": "haus.strapi-patterns",
|
|
281
|
+
"version": "1.0.0",
|
|
282
|
+
"source": "haus",
|
|
283
|
+
"type": "skill",
|
|
284
|
+
"path": "skills/strapi-patterns",
|
|
285
|
+
"title": "Haus Strapi patterns",
|
|
286
|
+
"purpose": "Guide Strapi v5 content type, controller, service, and policy changes.",
|
|
287
|
+
"whenToUse": "Use for Strapi content type schemas, controllers, services, and policies in v5.",
|
|
288
|
+
"whenNotToUse": "Do not use for Sanity, WordPress, or other CMS work.",
|
|
289
|
+
"references": [
|
|
290
|
+
"references/conventions.md",
|
|
291
|
+
"references/scope.md",
|
|
292
|
+
"references/workflow.md",
|
|
293
|
+
"https://docs.strapi.io/dev-docs/intro"
|
|
294
|
+
],
|
|
295
|
+
"tokenBudget": 1200,
|
|
296
|
+
"tags": [
|
|
297
|
+
"strapi",
|
|
298
|
+
"backend",
|
|
299
|
+
"cms"
|
|
300
|
+
],
|
|
301
|
+
"repoRoles": [
|
|
302
|
+
"strapi-app"
|
|
303
|
+
],
|
|
304
|
+
"requiresAny": [
|
|
305
|
+
{
|
|
306
|
+
"stack": "strapi"
|
|
307
|
+
},
|
|
308
|
+
{
|
|
309
|
+
"role": "strapi-app"
|
|
310
|
+
},
|
|
311
|
+
{
|
|
312
|
+
"dependency": "@strapi/strapi"
|
|
313
|
+
}
|
|
314
|
+
],
|
|
315
|
+
"ecosystem": "cms",
|
|
316
|
+
"tokenEstimate": 2000,
|
|
317
|
+
"installMode": "copy-selected"
|
|
318
|
+
},
|
|
319
|
+
{
|
|
320
|
+
"id": "haus.prisma-patterns",
|
|
321
|
+
"version": "1.0.0",
|
|
322
|
+
"source": "haus",
|
|
323
|
+
"type": "skill",
|
|
324
|
+
"path": "skills/prisma-patterns",
|
|
325
|
+
"title": "Haus Prisma patterns",
|
|
326
|
+
"purpose": "Guide Prisma schema, migration, and query-safe ORM changes.",
|
|
327
|
+
"whenToUse": "Use for prisma/schema.prisma updates, migrations, and PrismaClient query changes.",
|
|
328
|
+
"whenNotToUse": "Do not use for non-Prisma ORM tasks or pure DB schema work without Prisma.",
|
|
329
|
+
"references": [
|
|
330
|
+
"references/conventions.md",
|
|
331
|
+
"references/scope.md",
|
|
332
|
+
"references/workflow.md",
|
|
333
|
+
"https://www.prisma.io/docs"
|
|
334
|
+
],
|
|
335
|
+
"tokenBudget": 1200,
|
|
336
|
+
"tags": [
|
|
337
|
+
"prisma",
|
|
338
|
+
"backend",
|
|
339
|
+
"database"
|
|
340
|
+
],
|
|
341
|
+
"repoRoles": [
|
|
342
|
+
"next-app",
|
|
343
|
+
"nestjs-api"
|
|
344
|
+
],
|
|
345
|
+
"requiresAny": [
|
|
346
|
+
{
|
|
347
|
+
"stack": "prisma"
|
|
348
|
+
},
|
|
349
|
+
{
|
|
350
|
+
"dependency": "@prisma/client"
|
|
351
|
+
},
|
|
352
|
+
{
|
|
353
|
+
"dependency": "prisma"
|
|
354
|
+
}
|
|
355
|
+
],
|
|
356
|
+
"ecosystem": "database",
|
|
357
|
+
"tokenEstimate": 2000,
|
|
358
|
+
"installMode": "copy-selected"
|
|
359
|
+
},
|
|
191
360
|
{
|
|
192
361
|
"id": "haus.vendure-plugin-patterns",
|
|
193
362
|
"version": "1.0.0",
|
|
@@ -521,7 +690,7 @@
|
|
|
521
690
|
"tags": [
|
|
522
691
|
"nestjs",
|
|
523
692
|
"graphql",
|
|
524
|
-
"
|
|
693
|
+
"typescript5"
|
|
525
694
|
],
|
|
526
695
|
"repoRoles": [
|
|
527
696
|
"nestjs-api"
|
|
@@ -663,7 +832,7 @@
|
|
|
663
832
|
},
|
|
664
833
|
{
|
|
665
834
|
"id": "haus.radix-shadcn-patterns",
|
|
666
|
-
"version": "1.
|
|
835
|
+
"version": "1.1.0",
|
|
667
836
|
"source": "haus",
|
|
668
837
|
"type": "skill",
|
|
669
838
|
"path": "skills/radix-shadcn-patterns",
|
|
@@ -689,6 +858,9 @@
|
|
|
689
858
|
"react-app"
|
|
690
859
|
],
|
|
691
860
|
"requiresAny": [
|
|
861
|
+
{
|
|
862
|
+
"stack": "shadcn"
|
|
863
|
+
},
|
|
692
864
|
{
|
|
693
865
|
"dependency": "@radix-ui/react-dialog"
|
|
694
866
|
},
|
|
@@ -857,7 +1029,7 @@
|
|
|
857
1029
|
},
|
|
858
1030
|
{
|
|
859
1031
|
"id": "haus.wordpress-acf-elementor-jetengine-patterns",
|
|
860
|
-
"version": "1.
|
|
1032
|
+
"version": "1.1.0",
|
|
861
1033
|
"source": "haus",
|
|
862
1034
|
"type": "skill",
|
|
863
1035
|
"path": "skills/wordpress-acf-elementor-jetengine-patterns",
|
|
@@ -976,7 +1148,7 @@
|
|
|
976
1148
|
},
|
|
977
1149
|
{
|
|
978
1150
|
"id": "haus.database-patterns",
|
|
979
|
-
"version": "1.
|
|
1151
|
+
"version": "1.1.0",
|
|
980
1152
|
"source": "haus",
|
|
981
1153
|
"type": "skill",
|
|
982
1154
|
"path": "skills/database-patterns",
|
package/package.json
CHANGED
|
@@ -58,11 +58,11 @@
|
|
|
58
58
|
"installMode": "copy-selected"
|
|
59
59
|
},
|
|
60
60
|
{
|
|
61
|
-
"id": "haus.
|
|
61
|
+
"id": "haus.typescript5-patterns",
|
|
62
62
|
"source": "haus",
|
|
63
63
|
"type": "skill",
|
|
64
|
-
"path": "skills/
|
|
65
|
-
"title": "Haus TypeScript patterns",
|
|
64
|
+
"path": "skills/typescript5-patterns",
|
|
65
|
+
"title": "Haus TypeScript 5 patterns",
|
|
66
66
|
"purpose": "Guide TypeScript contract and migration-safe typing changes.",
|
|
67
67
|
"whenToUse": "Use for shared types, DTOs, interface boundaries, and type-safe refactors.",
|
|
68
68
|
"whenNotToUse": "Do not use for runtime-only changes without type-contract impact.",
|
|
@@ -78,6 +78,7 @@
|
|
|
78
78
|
"shared-package"
|
|
79
79
|
],
|
|
80
80
|
"requiresAny": [
|
|
81
|
+
{ "stack": "typescript5" },
|
|
81
82
|
{ "stack": "typescript" },
|
|
82
83
|
{ "dependency": "typescript" }
|
|
83
84
|
],
|
|
@@ -105,6 +106,95 @@
|
|
|
105
106
|
"tokenEstimate": 1800,
|
|
106
107
|
"installMode": "copy-selected"
|
|
107
108
|
},
|
|
109
|
+
{
|
|
110
|
+
"id": "haus.react-router-v7-patterns",
|
|
111
|
+
"source": "haus",
|
|
112
|
+
"type": "skill",
|
|
113
|
+
"path": "skills/react-router-v7-patterns",
|
|
114
|
+
"title": "Haus React Router v7 patterns",
|
|
115
|
+
"purpose": "Guide React Router v7 SSR route, loader, and action boundary changes.",
|
|
116
|
+
"whenToUse": "Use for routes, loaders, actions, and SSR config in React Router v7 apps.",
|
|
117
|
+
"whenNotToUse": "Do not use for Next.js App Router or Remix v1 codebases.",
|
|
118
|
+
"references": ["references/scope.md", "references/workflow.md", "https://reactrouter.com/start/framework/installation"],
|
|
119
|
+
"tokenBudget": 1200,
|
|
120
|
+
"tags": ["frontend", "react", "typescript"],
|
|
121
|
+
"repoRoles": ["react-router-app", "react-app"],
|
|
122
|
+
"requiresAny": [
|
|
123
|
+
{ "stack": "react-router-v7" },
|
|
124
|
+
{ "role": "react-router-app" },
|
|
125
|
+
{ "dependency": "@react-router/node" }
|
|
126
|
+
],
|
|
127
|
+
"ecosystem": "react",
|
|
128
|
+
"tokenEstimate": 2000,
|
|
129
|
+
"installMode": "copy-selected"
|
|
130
|
+
},
|
|
131
|
+
{
|
|
132
|
+
"id": "haus.sanity-patterns",
|
|
133
|
+
"source": "haus",
|
|
134
|
+
"type": "skill",
|
|
135
|
+
"path": "skills/sanity-patterns",
|
|
136
|
+
"title": "Haus Sanity patterns",
|
|
137
|
+
"purpose": "Guide Sanity v3/v5 schema, Studio config, GROQ query, and Next.js integration changes.",
|
|
138
|
+
"whenToUse": "Use for Sanity schema, Studio plugin, GROQ query, or next-sanity integration updates.",
|
|
139
|
+
"whenNotToUse": "Do not use for Strapi, WordPress, or other CMS work.",
|
|
140
|
+
"references": ["references/scope.md", "references/workflow.md", "https://www.sanity.io/docs"],
|
|
141
|
+
"tokenBudget": 1200,
|
|
142
|
+
"tags": ["sanity", "backend", "cms"],
|
|
143
|
+
"repoRoles": ["sanity-studio", "next-app"],
|
|
144
|
+
"requiresAny": [
|
|
145
|
+
{ "stack": "sanity" },
|
|
146
|
+
{ "role": "sanity-studio" },
|
|
147
|
+
{ "dependency": "sanity" },
|
|
148
|
+
{ "dependency": "next-sanity" }
|
|
149
|
+
],
|
|
150
|
+
"ecosystem": "cms",
|
|
151
|
+
"tokenEstimate": 2000,
|
|
152
|
+
"installMode": "copy-selected"
|
|
153
|
+
},
|
|
154
|
+
{
|
|
155
|
+
"id": "haus.strapi-patterns",
|
|
156
|
+
"source": "haus",
|
|
157
|
+
"type": "skill",
|
|
158
|
+
"path": "skills/strapi-patterns",
|
|
159
|
+
"title": "Haus Strapi patterns",
|
|
160
|
+
"purpose": "Guide Strapi v5 content type, controller, service, and policy changes.",
|
|
161
|
+
"whenToUse": "Use for Strapi content type schemas, controllers, services, and policies in v5.",
|
|
162
|
+
"whenNotToUse": "Do not use for Sanity, WordPress, or other CMS work.",
|
|
163
|
+
"references": ["references/scope.md", "references/workflow.md", "https://docs.strapi.io/dev-docs/intro"],
|
|
164
|
+
"tokenBudget": 1200,
|
|
165
|
+
"tags": ["strapi", "backend", "cms"],
|
|
166
|
+
"repoRoles": ["strapi-app"],
|
|
167
|
+
"requiresAny": [
|
|
168
|
+
{ "stack": "strapi" },
|
|
169
|
+
{ "role": "strapi-app" },
|
|
170
|
+
{ "dependency": "@strapi/strapi" }
|
|
171
|
+
],
|
|
172
|
+
"ecosystem": "cms",
|
|
173
|
+
"tokenEstimate": 2000,
|
|
174
|
+
"installMode": "copy-selected"
|
|
175
|
+
},
|
|
176
|
+
{
|
|
177
|
+
"id": "haus.prisma-patterns",
|
|
178
|
+
"source": "haus",
|
|
179
|
+
"type": "skill",
|
|
180
|
+
"path": "skills/prisma-patterns",
|
|
181
|
+
"title": "Haus Prisma patterns",
|
|
182
|
+
"purpose": "Guide Prisma schema, migration, and query-safe ORM changes.",
|
|
183
|
+
"whenToUse": "Use for prisma/schema.prisma updates, migrations, and PrismaClient query changes.",
|
|
184
|
+
"whenNotToUse": "Do not use for non-Prisma ORM tasks or pure DB schema work without Prisma.",
|
|
185
|
+
"references": ["references/scope.md", "references/workflow.md", "https://www.prisma.io/docs"],
|
|
186
|
+
"tokenBudget": 1200,
|
|
187
|
+
"tags": ["prisma", "backend", "database"],
|
|
188
|
+
"repoRoles": ["next-app", "nestjs-api"],
|
|
189
|
+
"requiresAny": [
|
|
190
|
+
{ "stack": "prisma" },
|
|
191
|
+
{ "dependency": "@prisma/client" },
|
|
192
|
+
{ "dependency": "prisma" }
|
|
193
|
+
],
|
|
194
|
+
"ecosystem": "database",
|
|
195
|
+
"tokenEstimate": 2000,
|
|
196
|
+
"installMode": "copy-selected"
|
|
197
|
+
},
|
|
108
198
|
{
|
|
109
199
|
"id": "haus.vendure-plugin-patterns",
|
|
110
200
|
"source": "haus",
|
|
@@ -300,7 +390,7 @@
|
|
|
300
390
|
"whenNotToUse": "Do not use for REST-only controller tasks.",
|
|
301
391
|
"references": ["references/scope.md", "references/workflow.md", "https://docs.nestjs.com/"],
|
|
302
392
|
"tokenBudget": 1200,
|
|
303
|
-
"tags": ["nestjs", "graphql", "
|
|
393
|
+
"tags": ["nestjs", "graphql", "typescript5"],
|
|
304
394
|
"repoRoles": ["nestjs-api"],
|
|
305
395
|
"requiresAny": [
|
|
306
396
|
{ "stack": "nestjs" },
|
|
@@ -391,6 +481,7 @@
|
|
|
391
481
|
"tags": ["radix", "shadcn", "react19"],
|
|
392
482
|
"repoRoles": ["next-app", "react-app"],
|
|
393
483
|
"requiresAny": [
|
|
484
|
+
{ "stack": "shadcn" },
|
|
394
485
|
{ "dependency": "@radix-ui/react-dialog" },
|
|
395
486
|
{ "dependency": "@radix-ui/themes" },
|
|
396
487
|
{ "dependency": "shadcn-ui" },
|
|
File without changes
|