@haus-tech/haus-workflow 0.4.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 +6 -0
- package/dist/cli.js +9 -0
- package/library/catalog/allowed-stacks.json +6 -1
- package/library/catalog/manifest.json +125 -0
- package/package.json +1 -1
- package/tests/fixtures/catalog/manifest.json +67 -0
- package/tests/fixtures/catalog/skills/prisma-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/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,11 @@
|
|
|
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
|
+
|
|
3
9
|
## [0.4.0](https://github.com/WeAreHausTech/haus-workflow/compare/v0.3.0...v0.4.0) (2026-05-28)
|
|
4
10
|
|
|
5
11
|
### Features
|
package/dist/cli.js
CHANGED
|
@@ -1419,6 +1419,8 @@ function detectRoles(deps, files) {
|
|
|
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
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");
|
|
1422
1424
|
if (deps.includes("@vendure/core")) roles.add("vendure-app");
|
|
1423
1425
|
if (deps.some((d) => d.startsWith("@haus/vendure-")) || files.some((f) => f.includes("vendure-config")))
|
|
1424
1426
|
roles.add("vendure-plugin");
|
|
@@ -1470,6 +1472,13 @@ async function detectStacks(root, deps, files, packageManager) {
|
|
|
1470
1472
|
add("frontend", "shadcn");
|
|
1471
1473
|
}
|
|
1472
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");
|
|
1473
1482
|
if (deps.includes("@vendure/core")) add("backend", "vendure3");
|
|
1474
1483
|
if (deps.includes("@nestjs/core")) add("backend", "nestjs");
|
|
1475
1484
|
if (await hasNeedle(root, files, "NestFactory")) add("backend", "nestjs");
|
|
@@ -232,6 +232,131 @@
|
|
|
232
232
|
"tokenEstimate": 2000,
|
|
233
233
|
"installMode": "copy-selected"
|
|
234
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
|
+
},
|
|
235
360
|
{
|
|
236
361
|
"id": "haus.vendure-plugin-patterns",
|
|
237
362
|
"version": "1.0.0",
|
package/package.json
CHANGED
|
@@ -128,6 +128,73 @@
|
|
|
128
128
|
"tokenEstimate": 2000,
|
|
129
129
|
"installMode": "copy-selected"
|
|
130
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
|
+
},
|
|
131
198
|
{
|
|
132
199
|
"id": "haus.vendure-plugin-patterns",
|
|
133
200
|
"source": "haus",
|