@haus-tech/haus-workflow 0.1.0 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +143 -0
- package/README.md +35 -26
- package/dist/cli.js +319 -111
- package/library/catalog/allowed-stacks.json +4 -1
- package/library/catalog/haus-lock.schema.json +2 -41
- package/library/catalog/manifest.json +836 -198
- package/package.json +5 -4
- package/tests/fixtures/catalog/manifest.json +83 -38
- package/tests/fixtures/catalog/skills/jest-patterns/SKILL.md +9 -0
- package/tests/fixtures/catalog/skills/vitest-patterns/SKILL.md +9 -0
|
@@ -1,20 +1,28 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": "0.1.0",
|
|
3
|
-
"_note": "Stable fixture for CLI tests. Decoupled from production catalog repo. Update manually when catalog schema changes.",
|
|
4
3
|
"items": [
|
|
5
4
|
{
|
|
6
5
|
"id": "haus.global-engineering-rules",
|
|
6
|
+
"version": "1.0.0",
|
|
7
7
|
"source": "haus",
|
|
8
8
|
"type": "skill",
|
|
9
|
-
"path": "
|
|
9
|
+
"path": "skills/global-engineering-rules",
|
|
10
10
|
"title": "Haus global engineering rules",
|
|
11
11
|
"purpose": "Provide baseline deterministic engineering, validation, and security guardrails.",
|
|
12
12
|
"whenToUse": "Use as default baseline in supported Haus workflows.",
|
|
13
13
|
"whenNotToUse": "Do not use for unsupported stacks or non-development workflows.",
|
|
14
|
-
"references": [
|
|
15
|
-
|
|
14
|
+
"references": [
|
|
15
|
+
"references/conventions.md"
|
|
16
|
+
],
|
|
17
|
+
"safetyNotes": [
|
|
18
|
+
"Never read secrets or customer exports."
|
|
19
|
+
],
|
|
16
20
|
"tokenBudget": 1800,
|
|
17
|
-
"tags": [
|
|
21
|
+
"tags": [
|
|
22
|
+
"haus",
|
|
23
|
+
"quality",
|
|
24
|
+
"security"
|
|
25
|
+
],
|
|
18
26
|
"repoRoles": [],
|
|
19
27
|
"requiresAny": [],
|
|
20
28
|
"tokenEstimate": 1800,
|
|
@@ -23,52 +31,103 @@
|
|
|
23
31
|
},
|
|
24
32
|
{
|
|
25
33
|
"id": "haus.nextjs-patterns",
|
|
34
|
+
"version": "1.0.0",
|
|
26
35
|
"source": "haus",
|
|
27
36
|
"type": "skill",
|
|
28
|
-
"path": "
|
|
37
|
+
"path": "skills/nextjs-patterns",
|
|
29
38
|
"title": "Haus Next.js patterns",
|
|
30
39
|
"purpose": "Guide Next.js route, server/client boundary, and middleware-safe changes.",
|
|
31
40
|
"whenToUse": "Use for App Router pages, layouts, route handlers, and middleware behavior updates.",
|
|
32
41
|
"whenNotToUse": "Do not use for backend-only or non-Next framework tasks.",
|
|
33
|
-
"references": [
|
|
42
|
+
"references": [
|
|
43
|
+
"references/conventions.md",
|
|
44
|
+
"references/scope.md",
|
|
45
|
+
"references/workflow.md",
|
|
46
|
+
"https://nextjs.org/llms.txt"
|
|
47
|
+
],
|
|
34
48
|
"tokenBudget": 1200,
|
|
35
|
-
"tags": [
|
|
36
|
-
|
|
37
|
-
|
|
49
|
+
"tags": [
|
|
50
|
+
"frontend",
|
|
51
|
+
"nextjs",
|
|
52
|
+
"react",
|
|
53
|
+
"typescript"
|
|
54
|
+
],
|
|
55
|
+
"repoRoles": [
|
|
56
|
+
"next-app"
|
|
57
|
+
],
|
|
58
|
+
"requiresAny": [
|
|
59
|
+
{
|
|
60
|
+
"stack": "nextjs"
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
"dependency": "next"
|
|
64
|
+
}
|
|
65
|
+
],
|
|
38
66
|
"ecosystem": "nextjs",
|
|
39
67
|
"tokenEstimate": 2600,
|
|
40
68
|
"installMode": "copy-selected"
|
|
41
69
|
},
|
|
42
70
|
{
|
|
43
71
|
"id": "haus.react19-patterns",
|
|
72
|
+
"version": "1.0.0",
|
|
44
73
|
"source": "haus",
|
|
45
74
|
"type": "skill",
|
|
46
|
-
"path": "
|
|
75
|
+
"path": "skills/react19-patterns",
|
|
47
76
|
"title": "Haus React 19 patterns",
|
|
48
77
|
"purpose": "Guide React component, hook, and state-boundary changes.",
|
|
49
78
|
"whenToUse": "Use for React component behavior, hooks, and UI state flow updates.",
|
|
50
79
|
"whenNotToUse": "Do not use for backend-only changes or framework routing config tasks.",
|
|
51
|
-
"references": [
|
|
80
|
+
"references": [
|
|
81
|
+
"references/conventions.md",
|
|
82
|
+
"references/scope.md",
|
|
83
|
+
"references/workflow.md",
|
|
84
|
+
"https://react.dev/"
|
|
85
|
+
],
|
|
52
86
|
"tokenBudget": 1200,
|
|
53
|
-
"tags": [
|
|
54
|
-
|
|
55
|
-
|
|
87
|
+
"tags": [
|
|
88
|
+
"frontend",
|
|
89
|
+
"react",
|
|
90
|
+
"typescript"
|
|
91
|
+
],
|
|
92
|
+
"repoRoles": [
|
|
93
|
+
"react-app",
|
|
94
|
+
"next-app",
|
|
95
|
+
"design-system"
|
|
96
|
+
],
|
|
97
|
+
"requiresAny": [
|
|
98
|
+
{
|
|
99
|
+
"stack": "react19"
|
|
100
|
+
},
|
|
101
|
+
{
|
|
102
|
+
"dependency": "react"
|
|
103
|
+
}
|
|
104
|
+
],
|
|
56
105
|
"ecosystem": "react",
|
|
57
106
|
"tokenEstimate": 2200,
|
|
58
107
|
"installMode": "copy-selected"
|
|
59
108
|
},
|
|
60
109
|
{
|
|
61
110
|
"id": "haus.typescript6-patterns",
|
|
111
|
+
"version": "1.0.0",
|
|
62
112
|
"source": "haus",
|
|
63
113
|
"type": "skill",
|
|
64
|
-
"path": "
|
|
114
|
+
"path": "skills/typescript6-patterns",
|
|
65
115
|
"title": "Haus TypeScript patterns",
|
|
66
116
|
"purpose": "Guide TypeScript contract and migration-safe typing changes.",
|
|
67
117
|
"whenToUse": "Use for shared types, DTOs, interface boundaries, and type-safe refactors.",
|
|
68
118
|
"whenNotToUse": "Do not use for runtime-only changes without type-contract impact.",
|
|
69
|
-
"references": [
|
|
119
|
+
"references": [
|
|
120
|
+
"references/conventions.md",
|
|
121
|
+
"references/scope.md",
|
|
122
|
+
"references/workflow.md",
|
|
123
|
+
"https://www.typescriptlang.org/docs/handbook/"
|
|
124
|
+
],
|
|
70
125
|
"tokenBudget": 1200,
|
|
71
|
-
"tags": [
|
|
126
|
+
"tags": [
|
|
127
|
+
"typescript",
|
|
128
|
+
"frontend",
|
|
129
|
+
"backend"
|
|
130
|
+
],
|
|
72
131
|
"repoRoles": [
|
|
73
132
|
"next-app",
|
|
74
133
|
"react-app",
|
|
@@ -78,28 +137,52 @@
|
|
|
78
137
|
"shared-package"
|
|
79
138
|
],
|
|
80
139
|
"requiresAny": [
|
|
81
|
-
{
|
|
82
|
-
|
|
140
|
+
{
|
|
141
|
+
"stack": "typescript"
|
|
142
|
+
},
|
|
143
|
+
{
|
|
144
|
+
"dependency": "typescript"
|
|
145
|
+
}
|
|
83
146
|
],
|
|
84
147
|
"tokenEstimate": 2200,
|
|
85
|
-
"installMode": "copy-selected"
|
|
148
|
+
"installMode": "copy-selected",
|
|
149
|
+
"ecosystem": "typescript"
|
|
86
150
|
},
|
|
87
151
|
{
|
|
88
152
|
"id": "haus.vite8-patterns",
|
|
153
|
+
"version": "1.0.0",
|
|
89
154
|
"source": "haus",
|
|
90
155
|
"type": "skill",
|
|
91
|
-
"path": "
|
|
156
|
+
"path": "skills/vite8-patterns",
|
|
92
157
|
"title": "Haus Vite 8 patterns",
|
|
93
158
|
"purpose": "Guide Vite config, plugin wiring, and deterministic build pipeline changes.",
|
|
94
159
|
"whenToUse": "Use for vite config, alias/plugin, and build mode behavior updates.",
|
|
95
160
|
"whenNotToUse": "Do not use for framework feature logic without build pipeline impact.",
|
|
96
|
-
"references": [
|
|
161
|
+
"references": [
|
|
162
|
+
"references/conventions.md",
|
|
163
|
+
"references/scope.md",
|
|
164
|
+
"references/workflow.md",
|
|
165
|
+
"https://vite.dev/guide",
|
|
166
|
+
"https://vitest.dev/guide"
|
|
167
|
+
],
|
|
97
168
|
"tokenBudget": 1200,
|
|
98
|
-
"tags": [
|
|
99
|
-
|
|
169
|
+
"tags": [
|
|
170
|
+
"vite8",
|
|
171
|
+
"frontend",
|
|
172
|
+
"typescript"
|
|
173
|
+
],
|
|
174
|
+
"repoRoles": [
|
|
175
|
+
"vite-app",
|
|
176
|
+
"react-app",
|
|
177
|
+
"vue-app"
|
|
178
|
+
],
|
|
100
179
|
"requiresAny": [
|
|
101
|
-
{
|
|
102
|
-
|
|
180
|
+
{
|
|
181
|
+
"stack": "vite8"
|
|
182
|
+
},
|
|
183
|
+
{
|
|
184
|
+
"dependency": "vite"
|
|
185
|
+
}
|
|
103
186
|
],
|
|
104
187
|
"ecosystem": "vite",
|
|
105
188
|
"tokenEstimate": 1800,
|
|
@@ -107,21 +190,42 @@
|
|
|
107
190
|
},
|
|
108
191
|
{
|
|
109
192
|
"id": "haus.vendure-plugin-patterns",
|
|
193
|
+
"version": "1.0.0",
|
|
110
194
|
"source": "haus",
|
|
111
195
|
"type": "skill",
|
|
112
|
-
"path": "
|
|
196
|
+
"path": "skills/vendure-plugin-patterns",
|
|
113
197
|
"title": "Haus Vendure plugin patterns",
|
|
114
198
|
"purpose": "Guide Vendure plugin boundary, schema, and migration-safe development.",
|
|
115
199
|
"whenToUse": "Use for Vendure plugin resolvers, services, entities, and plugin migrations.",
|
|
116
200
|
"whenNotToUse": "Do not use for storefront-only UI changes or non-Vendure APIs.",
|
|
117
|
-
"references": [
|
|
201
|
+
"references": [
|
|
202
|
+
"references/conventions.md",
|
|
203
|
+
"references/scope.md",
|
|
204
|
+
"references/workflow.md",
|
|
205
|
+
"https://docs.vendure.io/llms.txt"
|
|
206
|
+
],
|
|
118
207
|
"tokenBudget": 1200,
|
|
119
|
-
"tags": [
|
|
120
|
-
|
|
208
|
+
"tags": [
|
|
209
|
+
"backend",
|
|
210
|
+
"vendure",
|
|
211
|
+
"nestjs",
|
|
212
|
+
"graphql",
|
|
213
|
+
"typescript"
|
|
214
|
+
],
|
|
215
|
+
"repoRoles": [
|
|
216
|
+
"vendure-plugin",
|
|
217
|
+
"vendure-app"
|
|
218
|
+
],
|
|
121
219
|
"requiresAny": [
|
|
122
|
-
{
|
|
123
|
-
|
|
124
|
-
|
|
220
|
+
{
|
|
221
|
+
"stack": "vendure3"
|
|
222
|
+
},
|
|
223
|
+
{
|
|
224
|
+
"dependency": "@vendure/core"
|
|
225
|
+
},
|
|
226
|
+
{
|
|
227
|
+
"packageNamePattern": "@haus/vendure-*"
|
|
228
|
+
}
|
|
125
229
|
],
|
|
126
230
|
"ecosystem": "vendure",
|
|
127
231
|
"tokenEstimate": 3400,
|
|
@@ -129,20 +233,37 @@
|
|
|
129
233
|
},
|
|
130
234
|
{
|
|
131
235
|
"id": "haus.laravel-patterns",
|
|
236
|
+
"version": "1.0.0",
|
|
132
237
|
"source": "haus",
|
|
133
238
|
"type": "skill",
|
|
134
|
-
"path": "
|
|
239
|
+
"path": "skills/laravel-patterns",
|
|
135
240
|
"title": "Haus Laravel patterns",
|
|
136
241
|
"purpose": "Guide Laravel domain, routing, policy, and persistence changes.",
|
|
137
242
|
"whenToUse": "Use for Laravel controllers/services/models/jobs/policies and route changes.",
|
|
138
243
|
"whenNotToUse": "Do not use for Nova-only admin resource customization tasks.",
|
|
139
|
-
"references": [
|
|
244
|
+
"references": [
|
|
245
|
+
"references/conventions.md",
|
|
246
|
+
"references/scope.md",
|
|
247
|
+
"references/workflow.md",
|
|
248
|
+
"https://laravel.com/docs"
|
|
249
|
+
],
|
|
140
250
|
"tokenBudget": 1200,
|
|
141
|
-
"tags": [
|
|
142
|
-
|
|
251
|
+
"tags": [
|
|
252
|
+
"backend",
|
|
253
|
+
"laravel",
|
|
254
|
+
"php"
|
|
255
|
+
],
|
|
256
|
+
"repoRoles": [
|
|
257
|
+
"laravel-app",
|
|
258
|
+
"laravel-nova-app"
|
|
259
|
+
],
|
|
143
260
|
"requiresAny": [
|
|
144
|
-
{
|
|
145
|
-
|
|
261
|
+
{
|
|
262
|
+
"stack": "laravel"
|
|
263
|
+
},
|
|
264
|
+
{
|
|
265
|
+
"dependency": "laravel/framework"
|
|
266
|
+
}
|
|
146
267
|
],
|
|
147
268
|
"ecosystem": "laravel",
|
|
148
269
|
"tokenEstimate": 2800,
|
|
@@ -150,20 +271,37 @@
|
|
|
150
271
|
},
|
|
151
272
|
{
|
|
152
273
|
"id": "haus.wordpress-patterns",
|
|
274
|
+
"version": "1.0.0",
|
|
153
275
|
"source": "haus",
|
|
154
276
|
"type": "skill",
|
|
155
|
-
"path": "
|
|
277
|
+
"path": "skills/wordpress-patterns",
|
|
156
278
|
"title": "Haus WordPress patterns",
|
|
157
279
|
"purpose": "Guide WordPress hook/template/plugin/theme runtime changes.",
|
|
158
280
|
"whenToUse": "Use for WordPress hook/filter/template/plugin/theme behavior updates.",
|
|
159
281
|
"whenNotToUse": "Do not use for Bedrock-only config bootstrap or non-WP backend tasks.",
|
|
160
|
-
"references": [
|
|
282
|
+
"references": [
|
|
283
|
+
"references/conventions.md",
|
|
284
|
+
"references/scope.md",
|
|
285
|
+
"references/workflow.md",
|
|
286
|
+
"https://developer.wordpress.org/"
|
|
287
|
+
],
|
|
161
288
|
"tokenBudget": 1200,
|
|
162
|
-
"tags": [
|
|
163
|
-
|
|
289
|
+
"tags": [
|
|
290
|
+
"backend",
|
|
291
|
+
"wordpress",
|
|
292
|
+
"php"
|
|
293
|
+
],
|
|
294
|
+
"repoRoles": [
|
|
295
|
+
"wordpress-site",
|
|
296
|
+
"wordpress-bedrock-site"
|
|
297
|
+
],
|
|
164
298
|
"requiresAny": [
|
|
165
|
-
{
|
|
166
|
-
|
|
299
|
+
{
|
|
300
|
+
"stack": "wordpress"
|
|
301
|
+
},
|
|
302
|
+
{
|
|
303
|
+
"dependency": "roots/bedrock"
|
|
304
|
+
}
|
|
167
305
|
],
|
|
168
306
|
"ecosystem": "wordpress",
|
|
169
307
|
"tokenEstimate": 3000,
|
|
@@ -171,49 +309,88 @@
|
|
|
171
309
|
},
|
|
172
310
|
{
|
|
173
311
|
"id": "haus.dotnet-patterns",
|
|
312
|
+
"version": "1.0.0",
|
|
174
313
|
"source": "haus",
|
|
175
314
|
"type": "skill",
|
|
176
|
-
"path": "
|
|
315
|
+
"path": "skills/dotnet-patterns",
|
|
177
316
|
"title": "Haus .NET patterns",
|
|
178
317
|
"purpose": "Guide .NET API/service/domain/persistence layer changes.",
|
|
179
318
|
"whenToUse": "Use for .NET service and endpoint behavior changes with domain impact.",
|
|
180
319
|
"whenNotToUse": "Do not use for frontend-only or non-.NET runtime tasks.",
|
|
181
|
-
"references": [
|
|
320
|
+
"references": [
|
|
321
|
+
"references/conventions.md",
|
|
322
|
+
"references/scope.md",
|
|
323
|
+
"references/workflow.md"
|
|
324
|
+
],
|
|
182
325
|
"tokenBudget": 1200,
|
|
183
|
-
"tags": [
|
|
184
|
-
|
|
185
|
-
|
|
326
|
+
"tags": [
|
|
327
|
+
"backend",
|
|
328
|
+
"dotnet",
|
|
329
|
+
"csharp"
|
|
330
|
+
],
|
|
331
|
+
"repoRoles": [
|
|
332
|
+
"dotnet-service"
|
|
333
|
+
],
|
|
334
|
+
"requiresAny": [
|
|
335
|
+
{
|
|
336
|
+
"stack": "dotnet"
|
|
337
|
+
}
|
|
338
|
+
],
|
|
186
339
|
"ecosystem": "dotnet",
|
|
187
340
|
"tokenEstimate": 2600,
|
|
188
341
|
"installMode": "copy-selected"
|
|
189
342
|
},
|
|
190
343
|
{
|
|
191
344
|
"id": "haus.playwright-patterns",
|
|
345
|
+
"version": "1.0.0",
|
|
192
346
|
"source": "haus",
|
|
193
347
|
"type": "skill",
|
|
194
|
-
"path": "
|
|
348
|
+
"path": "skills/playwright-patterns",
|
|
195
349
|
"title": "Haus Playwright workflow",
|
|
196
350
|
"purpose": "Guide deterministic E2E browser test flow changes.",
|
|
197
351
|
"whenToUse": "Use for Playwright specs, fixtures, and browser test stability work.",
|
|
198
352
|
"whenNotToUse": "Do not use for unit-only test tasks without browser automation.",
|
|
199
|
-
"references": [
|
|
353
|
+
"references": [
|
|
354
|
+
"references/conventions.md",
|
|
355
|
+
"references/scope.md",
|
|
356
|
+
"references/workflow.md",
|
|
357
|
+
"https://playwright.dev/docs/intro"
|
|
358
|
+
],
|
|
200
359
|
"tokenBudget": 1200,
|
|
201
|
-
"tags": [
|
|
202
|
-
|
|
360
|
+
"tags": [
|
|
361
|
+
"testing",
|
|
362
|
+
"playwright"
|
|
363
|
+
],
|
|
364
|
+
"repoRoles": [
|
|
365
|
+
"next-app",
|
|
366
|
+
"react-app",
|
|
367
|
+
"vue-app",
|
|
368
|
+
"test-suite"
|
|
369
|
+
],
|
|
203
370
|
"requiresAny": [
|
|
204
|
-
{
|
|
205
|
-
|
|
371
|
+
{
|
|
372
|
+
"stack": "playwright"
|
|
373
|
+
},
|
|
374
|
+
{
|
|
375
|
+
"dependency": "@playwright/test"
|
|
376
|
+
}
|
|
206
377
|
],
|
|
207
378
|
"tokenEstimate": 2200,
|
|
208
|
-
"installMode": "copy-selected"
|
|
379
|
+
"installMode": "copy-selected",
|
|
380
|
+
"ecosystem": "playwright"
|
|
209
381
|
},
|
|
210
382
|
{
|
|
211
383
|
"id": "haus.code-reviewer-agent",
|
|
384
|
+
"version": "1.0.0",
|
|
212
385
|
"source": "haus",
|
|
213
386
|
"type": "agent",
|
|
214
|
-
"path": "
|
|
387
|
+
"path": "agents/code-reviewer.md",
|
|
215
388
|
"title": "Haus code reviewer agent",
|
|
216
|
-
"tags": [
|
|
389
|
+
"tags": [
|
|
390
|
+
"review",
|
|
391
|
+
"quality",
|
|
392
|
+
"security"
|
|
393
|
+
],
|
|
217
394
|
"repoRoles": [],
|
|
218
395
|
"requiresAny": [],
|
|
219
396
|
"tokenEstimate": 1400,
|
|
@@ -222,11 +399,16 @@
|
|
|
222
399
|
},
|
|
223
400
|
{
|
|
224
401
|
"id": "haus.test-reviewer-agent",
|
|
402
|
+
"version": "1.0.0",
|
|
225
403
|
"source": "haus",
|
|
226
404
|
"type": "agent",
|
|
227
|
-
"path": "
|
|
405
|
+
"path": "agents/test-reviewer.md",
|
|
228
406
|
"title": "Haus test reviewer agent",
|
|
229
|
-
"tags": [
|
|
407
|
+
"tags": [
|
|
408
|
+
"review",
|
|
409
|
+
"testing",
|
|
410
|
+
"quality"
|
|
411
|
+
],
|
|
230
412
|
"repoRoles": [],
|
|
231
413
|
"requiresAny": [],
|
|
232
414
|
"tokenEstimate": 1400,
|
|
@@ -234,11 +416,15 @@
|
|
|
234
416
|
},
|
|
235
417
|
{
|
|
236
418
|
"id": "haus.security-reviewer-agent",
|
|
419
|
+
"version": "1.0.0",
|
|
237
420
|
"source": "haus",
|
|
238
421
|
"type": "agent",
|
|
239
|
-
"path": "
|
|
422
|
+
"path": "agents/security-reviewer.md",
|
|
240
423
|
"title": "Haus security reviewer agent",
|
|
241
|
-
"tags": [
|
|
424
|
+
"tags": [
|
|
425
|
+
"review",
|
|
426
|
+
"security"
|
|
427
|
+
],
|
|
242
428
|
"repoRoles": [],
|
|
243
429
|
"requiresAny": [],
|
|
244
430
|
"tokenEstimate": 1400,
|
|
@@ -246,11 +432,16 @@
|
|
|
246
432
|
},
|
|
247
433
|
{
|
|
248
434
|
"id": "haus.docs-researcher-agent",
|
|
435
|
+
"version": "1.0.0",
|
|
249
436
|
"source": "haus",
|
|
250
437
|
"type": "agent",
|
|
251
|
-
"path": "
|
|
438
|
+
"path": "agents/docs-researcher.md",
|
|
252
439
|
"title": "Haus docs researcher agent",
|
|
253
|
-
"tags": [
|
|
440
|
+
"tags": [
|
|
441
|
+
"review",
|
|
442
|
+
"quality",
|
|
443
|
+
"workflow"
|
|
444
|
+
],
|
|
254
445
|
"repoRoles": [],
|
|
255
446
|
"requiresAny": [],
|
|
256
447
|
"tokenEstimate": 1200,
|
|
@@ -258,11 +449,16 @@
|
|
|
258
449
|
},
|
|
259
450
|
{
|
|
260
451
|
"id": "haus.planner-agent",
|
|
452
|
+
"version": "1.0.0",
|
|
261
453
|
"source": "haus",
|
|
262
454
|
"type": "agent",
|
|
263
|
-
"path": "
|
|
455
|
+
"path": "agents/planner.md",
|
|
264
456
|
"title": "Haus planner agent",
|
|
265
|
-
"tags": [
|
|
457
|
+
"tags": [
|
|
458
|
+
"workflow",
|
|
459
|
+
"quality",
|
|
460
|
+
"review"
|
|
461
|
+
],
|
|
266
462
|
"repoRoles": [],
|
|
267
463
|
"requiresAny": [],
|
|
268
464
|
"tokenEstimate": 1200,
|
|
@@ -270,20 +466,36 @@
|
|
|
270
466
|
},
|
|
271
467
|
{
|
|
272
468
|
"id": "haus.vendure-app-patterns",
|
|
469
|
+
"version": "1.0.0",
|
|
273
470
|
"source": "haus",
|
|
274
471
|
"type": "skill",
|
|
275
|
-
"path": "
|
|
472
|
+
"path": "skills/vendure-app-patterns",
|
|
276
473
|
"title": "Haus Vendure app patterns",
|
|
277
474
|
"purpose": "Guide Vendure app-level config, worker, bootstrap, and plugin wiring changes.",
|
|
278
475
|
"whenToUse": "Use for Vendure app config, worker, bootstrap, and system wiring updates.",
|
|
279
476
|
"whenNotToUse": "Do not use for isolated shared plugin package tasks.",
|
|
280
|
-
"references": [
|
|
477
|
+
"references": [
|
|
478
|
+
"references/conventions.md",
|
|
479
|
+
"references/scope.md",
|
|
480
|
+
"references/workflow.md",
|
|
481
|
+
"https://docs.vendure.io/llms.txt"
|
|
482
|
+
],
|
|
281
483
|
"tokenBudget": 1200,
|
|
282
|
-
"tags": [
|
|
283
|
-
|
|
484
|
+
"tags": [
|
|
485
|
+
"vendure3",
|
|
486
|
+
"nestjs",
|
|
487
|
+
"graphql"
|
|
488
|
+
],
|
|
489
|
+
"repoRoles": [
|
|
490
|
+
"vendure-app"
|
|
491
|
+
],
|
|
284
492
|
"requiresAny": [
|
|
285
|
-
{
|
|
286
|
-
|
|
493
|
+
{
|
|
494
|
+
"stack": "vendure3"
|
|
495
|
+
},
|
|
496
|
+
{
|
|
497
|
+
"dependency": "@vendure/core"
|
|
498
|
+
}
|
|
287
499
|
],
|
|
288
500
|
"ecosystem": "vendure",
|
|
289
501
|
"tokenEstimate": 3200,
|
|
@@ -291,21 +503,39 @@
|
|
|
291
503
|
},
|
|
292
504
|
{
|
|
293
505
|
"id": "haus.nestjs-graphql-patterns",
|
|
506
|
+
"version": "1.0.0",
|
|
294
507
|
"source": "haus",
|
|
295
508
|
"type": "skill",
|
|
296
|
-
"path": "
|
|
509
|
+
"path": "skills/nestjs-graphql-patterns",
|
|
297
510
|
"title": "Haus NestJS GraphQL patterns",
|
|
298
511
|
"purpose": "Guide resolver/module/guard/DTO-safe GraphQL implementation in NestJS.",
|
|
299
512
|
"whenToUse": "Use for NestJS GraphQL resolver, module, DTO/input, and guard changes.",
|
|
300
513
|
"whenNotToUse": "Do not use for REST-only controller tasks.",
|
|
301
|
-
"references": [
|
|
514
|
+
"references": [
|
|
515
|
+
"references/conventions.md",
|
|
516
|
+
"references/scope.md",
|
|
517
|
+
"references/workflow.md",
|
|
518
|
+
"https://docs.nestjs.com/"
|
|
519
|
+
],
|
|
302
520
|
"tokenBudget": 1200,
|
|
303
|
-
"tags": [
|
|
304
|
-
|
|
521
|
+
"tags": [
|
|
522
|
+
"nestjs",
|
|
523
|
+
"graphql",
|
|
524
|
+
"typescript6"
|
|
525
|
+
],
|
|
526
|
+
"repoRoles": [
|
|
527
|
+
"nestjs-api"
|
|
528
|
+
],
|
|
305
529
|
"requiresAny": [
|
|
306
|
-
{
|
|
307
|
-
|
|
308
|
-
|
|
530
|
+
{
|
|
531
|
+
"stack": "nestjs"
|
|
532
|
+
},
|
|
533
|
+
{
|
|
534
|
+
"dependency": "@nestjs/core"
|
|
535
|
+
},
|
|
536
|
+
{
|
|
537
|
+
"dependency": "@nestjs/graphql"
|
|
538
|
+
}
|
|
309
539
|
],
|
|
310
540
|
"ecosystem": "nestjs",
|
|
311
541
|
"tokenEstimate": 2600,
|
|
@@ -313,21 +543,38 @@
|
|
|
313
543
|
},
|
|
314
544
|
{
|
|
315
545
|
"id": "haus.nx21-monorepo-patterns",
|
|
546
|
+
"version": "1.0.0",
|
|
316
547
|
"source": "haus",
|
|
317
548
|
"type": "skill",
|
|
318
|
-
"path": "
|
|
549
|
+
"path": "skills/nx21-monorepo-patterns",
|
|
319
550
|
"title": "Haus Nx 21 monorepo patterns",
|
|
320
551
|
"purpose": "Guide Nx project graph, target pipeline, and workspace boundaries.",
|
|
321
552
|
"whenToUse": "Use for Nx workspace graph, target, and generator configuration updates.",
|
|
322
553
|
"whenNotToUse": "Do not use for app-only feature edits without workspace impact.",
|
|
323
|
-
"references": [
|
|
554
|
+
"references": [
|
|
555
|
+
"references/conventions.md",
|
|
556
|
+
"references/scope.md",
|
|
557
|
+
"references/workflow.md",
|
|
558
|
+
"https://nx.dev/docs"
|
|
559
|
+
],
|
|
324
560
|
"tokenBudget": 1200,
|
|
325
|
-
"tags": [
|
|
326
|
-
|
|
561
|
+
"tags": [
|
|
562
|
+
"nx21",
|
|
563
|
+
"yarn4"
|
|
564
|
+
],
|
|
565
|
+
"repoRoles": [
|
|
566
|
+
"nx-monorepo"
|
|
567
|
+
],
|
|
327
568
|
"requiresAny": [
|
|
328
|
-
{
|
|
329
|
-
|
|
330
|
-
|
|
569
|
+
{
|
|
570
|
+
"role": "nx-monorepo"
|
|
571
|
+
},
|
|
572
|
+
{
|
|
573
|
+
"dependency": "nx"
|
|
574
|
+
},
|
|
575
|
+
{
|
|
576
|
+
"packageNamePattern": "@nx/*"
|
|
577
|
+
}
|
|
331
578
|
],
|
|
332
579
|
"ecosystem": "nx",
|
|
333
580
|
"tokenEstimate": 2200,
|
|
@@ -335,20 +582,35 @@
|
|
|
335
582
|
},
|
|
336
583
|
{
|
|
337
584
|
"id": "haus.turbo-monorepo-patterns",
|
|
585
|
+
"version": "1.0.0",
|
|
338
586
|
"source": "haus",
|
|
339
587
|
"type": "skill",
|
|
340
|
-
"path": "
|
|
588
|
+
"path": "skills/turbo-monorepo-patterns",
|
|
341
589
|
"title": "Haus Turbo monorepo patterns",
|
|
342
590
|
"purpose": "Guide Turbo pipeline and cache-safe monorepo orchestration changes.",
|
|
343
591
|
"whenToUse": "Use for turbo pipeline graph and package task orchestration updates.",
|
|
344
592
|
"whenNotToUse": "Do not use for package-local feature edits without pipeline impact.",
|
|
345
|
-
"references": [
|
|
593
|
+
"references": [
|
|
594
|
+
"references/conventions.md",
|
|
595
|
+
"references/scope.md",
|
|
596
|
+
"references/workflow.md",
|
|
597
|
+
"https://turbo.build/repo/docs"
|
|
598
|
+
],
|
|
346
599
|
"tokenBudget": 1200,
|
|
347
|
-
"tags": [
|
|
348
|
-
|
|
600
|
+
"tags": [
|
|
601
|
+
"turbo",
|
|
602
|
+
"yarn4"
|
|
603
|
+
],
|
|
604
|
+
"repoRoles": [
|
|
605
|
+
"turbo-monorepo"
|
|
606
|
+
],
|
|
349
607
|
"requiresAny": [
|
|
350
|
-
{
|
|
351
|
-
|
|
608
|
+
{
|
|
609
|
+
"role": "turbo-monorepo"
|
|
610
|
+
},
|
|
611
|
+
{
|
|
612
|
+
"dependency": "turbo"
|
|
613
|
+
}
|
|
352
614
|
],
|
|
353
615
|
"ecosystem": "turbo",
|
|
354
616
|
"tokenEstimate": 2200,
|
|
@@ -356,22 +618,44 @@
|
|
|
356
618
|
},
|
|
357
619
|
{
|
|
358
620
|
"id": "haus.tanstack-query-router-patterns",
|
|
621
|
+
"version": "1.0.0",
|
|
359
622
|
"source": "haus",
|
|
360
623
|
"type": "skill",
|
|
361
|
-
"path": "
|
|
624
|
+
"path": "skills/tanstack-query-router-patterns",
|
|
362
625
|
"title": "Haus TanStack query/router patterns",
|
|
363
626
|
"purpose": "Guide query key, invalidation, and route loader/data-flow changes.",
|
|
364
627
|
"whenToUse": "Use for TanStack query cache behavior and TanStack router flow updates.",
|
|
365
628
|
"whenNotToUse": "Do not use for styling-only component changes.",
|
|
366
|
-
"references": [
|
|
629
|
+
"references": [
|
|
630
|
+
"references/conventions.md",
|
|
631
|
+
"references/scope.md",
|
|
632
|
+
"references/workflow.md",
|
|
633
|
+
"https://tanstack.com/query/latest/docs",
|
|
634
|
+
"https://tanstack.com/router/latest/docs"
|
|
635
|
+
],
|
|
367
636
|
"tokenBudget": 1200,
|
|
368
|
-
"tags": [
|
|
369
|
-
|
|
637
|
+
"tags": [
|
|
638
|
+
"tanstack-query",
|
|
639
|
+
"tanstack-router",
|
|
640
|
+
"react19"
|
|
641
|
+
],
|
|
642
|
+
"repoRoles": [
|
|
643
|
+
"next-app",
|
|
644
|
+
"react-app"
|
|
645
|
+
],
|
|
370
646
|
"requiresAny": [
|
|
371
|
-
{
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
{
|
|
647
|
+
{
|
|
648
|
+
"dependency": "@tanstack/react-query"
|
|
649
|
+
},
|
|
650
|
+
{
|
|
651
|
+
"dependency": "@tanstack/react-router"
|
|
652
|
+
},
|
|
653
|
+
{
|
|
654
|
+
"dependency": "@tanstack/query-core"
|
|
655
|
+
},
|
|
656
|
+
{
|
|
657
|
+
"packageNamePattern": "@tanstack/*"
|
|
658
|
+
}
|
|
375
659
|
],
|
|
376
660
|
"ecosystem": "react",
|
|
377
661
|
"tokenEstimate": 2200,
|
|
@@ -379,23 +663,47 @@
|
|
|
379
663
|
},
|
|
380
664
|
{
|
|
381
665
|
"id": "haus.radix-shadcn-patterns",
|
|
666
|
+
"version": "1.0.0",
|
|
382
667
|
"source": "haus",
|
|
383
668
|
"type": "skill",
|
|
384
|
-
"path": "
|
|
669
|
+
"path": "skills/radix-shadcn-patterns",
|
|
385
670
|
"title": "Haus Radix shadcn patterns",
|
|
386
671
|
"purpose": "Guide accessible UI primitive and wrapper behavior changes.",
|
|
387
672
|
"whenToUse": "Use for Radix primitive usage and shadcn wrapper updates.",
|
|
388
673
|
"whenNotToUse": "Do not use for backend/domain logic changes.",
|
|
389
|
-
"references": [
|
|
674
|
+
"references": [
|
|
675
|
+
"references/conventions.md",
|
|
676
|
+
"references/scope.md",
|
|
677
|
+
"references/workflow.md",
|
|
678
|
+
"https://ui.shadcn.com/docs",
|
|
679
|
+
"https://www.radix-ui.com/primitives/docs"
|
|
680
|
+
],
|
|
390
681
|
"tokenBudget": 1200,
|
|
391
|
-
"tags": [
|
|
392
|
-
|
|
682
|
+
"tags": [
|
|
683
|
+
"radix",
|
|
684
|
+
"shadcn",
|
|
685
|
+
"react19"
|
|
686
|
+
],
|
|
687
|
+
"repoRoles": [
|
|
688
|
+
"next-app",
|
|
689
|
+
"react-app"
|
|
690
|
+
],
|
|
393
691
|
"requiresAny": [
|
|
394
|
-
{
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
{
|
|
398
|
-
|
|
692
|
+
{
|
|
693
|
+
"dependency": "@radix-ui/react-dialog"
|
|
694
|
+
},
|
|
695
|
+
{
|
|
696
|
+
"dependency": "@radix-ui/themes"
|
|
697
|
+
},
|
|
698
|
+
{
|
|
699
|
+
"dependency": "shadcn-ui"
|
|
700
|
+
},
|
|
701
|
+
{
|
|
702
|
+
"dependency": "@shadcn/ui"
|
|
703
|
+
},
|
|
704
|
+
{
|
|
705
|
+
"packageNamePattern": "@radix-ui/*"
|
|
706
|
+
}
|
|
399
707
|
],
|
|
400
708
|
"ecosystem": "react",
|
|
401
709
|
"tokenEstimate": 1800,
|
|
@@ -403,42 +711,76 @@
|
|
|
403
711
|
},
|
|
404
712
|
{
|
|
405
713
|
"id": "haus.tailwind-scss-patterns",
|
|
714
|
+
"version": "1.0.0",
|
|
406
715
|
"source": "haus",
|
|
407
716
|
"type": "skill",
|
|
408
|
-
"path": "
|
|
717
|
+
"path": "skills/tailwind-scss-patterns",
|
|
409
718
|
"title": "Haus Tailwind SCSS patterns",
|
|
410
719
|
"purpose": "Guide style-system-safe Tailwind and SCSS module changes.",
|
|
411
720
|
"whenToUse": "Use for Tailwind token/utility and SCSS module behavior updates.",
|
|
412
721
|
"whenNotToUse": "Do not use for non-style backend/service changes.",
|
|
413
|
-
"references": [
|
|
722
|
+
"references": [
|
|
723
|
+
"references/conventions.md",
|
|
724
|
+
"references/scope.md",
|
|
725
|
+
"references/workflow.md",
|
|
726
|
+
"https://tailwindcss.com/docs"
|
|
727
|
+
],
|
|
414
728
|
"tokenBudget": 1200,
|
|
415
|
-
"tags": [
|
|
416
|
-
|
|
729
|
+
"tags": [
|
|
730
|
+
"tailwind",
|
|
731
|
+
"scss",
|
|
732
|
+
"react19"
|
|
733
|
+
],
|
|
734
|
+
"repoRoles": [
|
|
735
|
+
"next-app",
|
|
736
|
+
"react-app",
|
|
737
|
+
"vite-app"
|
|
738
|
+
],
|
|
417
739
|
"requiresAny": [
|
|
418
|
-
{
|
|
419
|
-
|
|
420
|
-
|
|
740
|
+
{
|
|
741
|
+
"dependency": "tailwindcss"
|
|
742
|
+
},
|
|
743
|
+
{
|
|
744
|
+
"dependency": "sass"
|
|
745
|
+
},
|
|
746
|
+
{
|
|
747
|
+
"dependency": "scss"
|
|
748
|
+
}
|
|
421
749
|
],
|
|
422
|
-
"ecosystem": "
|
|
750
|
+
"ecosystem": "tailwind",
|
|
423
751
|
"tokenEstimate": 1800,
|
|
424
752
|
"installMode": "copy-selected"
|
|
425
753
|
},
|
|
426
754
|
{
|
|
427
755
|
"id": "haus.vue-patterns",
|
|
756
|
+
"version": "1.0.0",
|
|
428
757
|
"source": "haus",
|
|
429
758
|
"type": "skill",
|
|
430
|
-
"path": "
|
|
759
|
+
"path": "skills/vue-patterns",
|
|
431
760
|
"title": "Haus Vue patterns",
|
|
432
761
|
"purpose": "Guide Vue component/composable/state behavior changes.",
|
|
433
762
|
"whenToUse": "Use for Vue component, composable, route, and state-boundary updates.",
|
|
434
763
|
"whenNotToUse": "Do not use for React/Next-only component work.",
|
|
435
|
-
"references": [
|
|
764
|
+
"references": [
|
|
765
|
+
"references/conventions.md",
|
|
766
|
+
"references/scope.md",
|
|
767
|
+
"references/workflow.md",
|
|
768
|
+
"https://vuejs.org/guide"
|
|
769
|
+
],
|
|
436
770
|
"tokenBudget": 1200,
|
|
437
|
-
"tags": [
|
|
438
|
-
|
|
771
|
+
"tags": [
|
|
772
|
+
"vue"
|
|
773
|
+
],
|
|
774
|
+
"repoRoles": [
|
|
775
|
+
"vue-app"
|
|
776
|
+
],
|
|
439
777
|
"requiresAny": [
|
|
440
|
-
{
|
|
441
|
-
|
|
778
|
+
{
|
|
779
|
+
"stack": "vue"
|
|
780
|
+
},
|
|
781
|
+
{
|
|
782
|
+
"dependency": "vue"
|
|
783
|
+
}
|
|
442
784
|
],
|
|
443
785
|
"ecosystem": "vue",
|
|
444
786
|
"tokenEstimate": 2000,
|
|
@@ -446,19 +788,32 @@
|
|
|
446
788
|
},
|
|
447
789
|
{
|
|
448
790
|
"id": "haus.laravel-nova-patterns",
|
|
791
|
+
"version": "1.0.0",
|
|
449
792
|
"source": "haus",
|
|
450
793
|
"type": "skill",
|
|
451
|
-
"path": "
|
|
794
|
+
"path": "skills/laravel-nova-patterns",
|
|
452
795
|
"title": "Haus Laravel Nova patterns",
|
|
453
796
|
"purpose": "Guide Nova admin resources, actions, and policy-safe field behavior.",
|
|
454
797
|
"whenToUse": "Use for Laravel Nova resources, actions, filters, and admin UI behavior.",
|
|
455
798
|
"whenNotToUse": "Do not use for customer-facing API/domain-only changes.",
|
|
456
|
-
"references": [
|
|
799
|
+
"references": [
|
|
800
|
+
"references/conventions.md",
|
|
801
|
+
"references/scope.md",
|
|
802
|
+
"references/workflow.md",
|
|
803
|
+
"https://laravel.com/docs"
|
|
804
|
+
],
|
|
457
805
|
"tokenBudget": 1200,
|
|
458
|
-
"tags": [
|
|
459
|
-
|
|
806
|
+
"tags": [
|
|
807
|
+
"laravel-nova",
|
|
808
|
+
"laravel"
|
|
809
|
+
],
|
|
810
|
+
"repoRoles": [
|
|
811
|
+
"laravel-nova-app"
|
|
812
|
+
],
|
|
460
813
|
"requiresAny": [
|
|
461
|
-
{
|
|
814
|
+
{
|
|
815
|
+
"dependency": "laravel/nova"
|
|
816
|
+
}
|
|
462
817
|
],
|
|
463
818
|
"ecosystem": "laravel",
|
|
464
819
|
"tokenEstimate": 2600,
|
|
@@ -466,20 +821,35 @@
|
|
|
466
821
|
},
|
|
467
822
|
{
|
|
468
823
|
"id": "haus.wordpress-bedrock-patterns",
|
|
824
|
+
"version": "1.0.0",
|
|
469
825
|
"source": "haus",
|
|
470
826
|
"type": "skill",
|
|
471
|
-
"path": "
|
|
827
|
+
"path": "skills/wordpress-bedrock-patterns",
|
|
472
828
|
"title": "Haus WordPress Bedrock patterns",
|
|
473
829
|
"purpose": "Guide Bedrock config/bootstrap and environment-aware WP deployment layout.",
|
|
474
830
|
"whenToUse": "Use for Bedrock config, env loading, and boot path behavior updates.",
|
|
475
831
|
"whenNotToUse": "Do not use for hook/template-only WordPress runtime changes.",
|
|
476
|
-
"references": [
|
|
832
|
+
"references": [
|
|
833
|
+
"references/conventions.md",
|
|
834
|
+
"references/scope.md",
|
|
835
|
+
"references/workflow.md",
|
|
836
|
+
"https://developer.wordpress.org/"
|
|
837
|
+
],
|
|
477
838
|
"tokenBudget": 1200,
|
|
478
|
-
"tags": [
|
|
479
|
-
|
|
839
|
+
"tags": [
|
|
840
|
+
"wordpress",
|
|
841
|
+
"bedrock"
|
|
842
|
+
],
|
|
843
|
+
"repoRoles": [
|
|
844
|
+
"wordpress-bedrock-site"
|
|
845
|
+
],
|
|
480
846
|
"requiresAny": [
|
|
481
|
-
{
|
|
482
|
-
|
|
847
|
+
{
|
|
848
|
+
"role": "wordpress-bedrock-site"
|
|
849
|
+
},
|
|
850
|
+
{
|
|
851
|
+
"dependency": "roots/bedrock"
|
|
852
|
+
}
|
|
483
853
|
],
|
|
484
854
|
"ecosystem": "wordpress",
|
|
485
855
|
"tokenEstimate": 2600,
|
|
@@ -487,21 +857,47 @@
|
|
|
487
857
|
},
|
|
488
858
|
{
|
|
489
859
|
"id": "haus.wordpress-acf-elementor-jetengine-patterns",
|
|
860
|
+
"version": "1.0.0",
|
|
490
861
|
"source": "haus",
|
|
491
862
|
"type": "skill",
|
|
492
|
-
"path": "
|
|
863
|
+
"path": "skills/wordpress-acf-elementor-jetengine-patterns",
|
|
493
864
|
"title": "Haus WordPress ACF Elementor JetEngine patterns",
|
|
494
865
|
"purpose": "Guide builder-field/meta-template wiring for ACF, Elementor Pro, and JetEngine.",
|
|
495
866
|
"whenToUse": "Use for ACF field groups and Elementor/JetEngine-driven dynamic template behavior.",
|
|
496
867
|
"whenNotToUse": "Do not use for generic WordPress hooks with no builder/meta impact.",
|
|
497
|
-
"references": [
|
|
868
|
+
"references": [
|
|
869
|
+
"references/conventions.md",
|
|
870
|
+
"references/scope.md",
|
|
871
|
+
"references/workflow.md",
|
|
872
|
+
"https://developer.wordpress.org/"
|
|
873
|
+
],
|
|
498
874
|
"tokenBudget": 1200,
|
|
499
|
-
"tags": [
|
|
500
|
-
|
|
875
|
+
"tags": [
|
|
876
|
+
"wordpress"
|
|
877
|
+
],
|
|
878
|
+
"repoRoles": [
|
|
879
|
+
"wordpress-bedrock-site",
|
|
880
|
+
"wordpress-vanilla-site"
|
|
881
|
+
],
|
|
501
882
|
"requiresAny": [
|
|
502
|
-
{
|
|
503
|
-
|
|
504
|
-
|
|
883
|
+
{
|
|
884
|
+
"role": "wordpress-bedrock-site"
|
|
885
|
+
},
|
|
886
|
+
{
|
|
887
|
+
"role": "wordpress-vanilla-site"
|
|
888
|
+
},
|
|
889
|
+
{
|
|
890
|
+
"stack": "wordpress"
|
|
891
|
+
},
|
|
892
|
+
{
|
|
893
|
+
"stack": "elementor"
|
|
894
|
+
},
|
|
895
|
+
{
|
|
896
|
+
"stack": "acf-pro"
|
|
897
|
+
},
|
|
898
|
+
{
|
|
899
|
+
"stack": "jetengine"
|
|
900
|
+
}
|
|
505
901
|
],
|
|
506
902
|
"ecosystem": "wordpress",
|
|
507
903
|
"tokenEstimate": 2600,
|
|
@@ -509,123 +905,305 @@
|
|
|
509
905
|
},
|
|
510
906
|
{
|
|
511
907
|
"id": "haus.dotnet-service-patterns",
|
|
908
|
+
"version": "1.0.0",
|
|
512
909
|
"source": "haus",
|
|
513
910
|
"type": "skill",
|
|
514
|
-
"path": "
|
|
911
|
+
"path": "skills/dotnet-service-patterns",
|
|
515
912
|
"title": "Haus dotnet service patterns",
|
|
516
913
|
"purpose": "Guide .NET service-layer contract and orchestration changes.",
|
|
517
914
|
"whenToUse": "Use for .NET service boundary, orchestration, and handler behavior updates.",
|
|
518
915
|
"whenNotToUse": "Do not use for route formatting-only tasks with no service impact.",
|
|
519
|
-
"references": [
|
|
916
|
+
"references": [
|
|
917
|
+
"references/conventions.md",
|
|
918
|
+
"references/scope.md",
|
|
919
|
+
"references/workflow.md"
|
|
920
|
+
],
|
|
520
921
|
"tokenBudget": 1200,
|
|
521
|
-
"tags": [
|
|
522
|
-
|
|
523
|
-
|
|
922
|
+
"tags": [
|
|
923
|
+
"dotnet"
|
|
924
|
+
],
|
|
925
|
+
"repoRoles": [
|
|
926
|
+
"dotnet-service"
|
|
927
|
+
],
|
|
928
|
+
"requiresAny": [
|
|
929
|
+
{
|
|
930
|
+
"stack": "dotnet"
|
|
931
|
+
},
|
|
932
|
+
{
|
|
933
|
+
"role": "dotnet-service"
|
|
934
|
+
}
|
|
935
|
+
],
|
|
524
936
|
"ecosystem": "dotnet",
|
|
525
937
|
"tokenEstimate": 2300,
|
|
526
938
|
"installMode": "copy-selected"
|
|
527
939
|
},
|
|
528
940
|
{
|
|
529
941
|
"id": "haus.auth-oidc-azure-bankid-patterns",
|
|
942
|
+
"version": "1.0.0",
|
|
530
943
|
"source": "haus",
|
|
531
944
|
"type": "skill",
|
|
532
|
-
"path": "
|
|
945
|
+
"path": "skills/auth-oidc-azure-bankid-patterns",
|
|
533
946
|
"title": "Haus auth patterns",
|
|
534
947
|
"purpose": "Guide identity-provider auth flow and claim/session lifecycle changes.",
|
|
535
948
|
"whenToUse": "Use for OIDC/Azure AD/BankID login, callback, token, and claim mapping updates.",
|
|
536
949
|
"whenNotToUse": "Do not use for profile CRUD without auth protocol change.",
|
|
537
|
-
"references": [
|
|
950
|
+
"references": [
|
|
951
|
+
"references/conventions.md",
|
|
952
|
+
"references/scope.md",
|
|
953
|
+
"references/workflow.md"
|
|
954
|
+
],
|
|
538
955
|
"tokenBudget": 1200,
|
|
539
|
-
"tags": [
|
|
956
|
+
"tags": [
|
|
957
|
+
"oidc",
|
|
958
|
+
"azure-ad",
|
|
959
|
+
"bankid"
|
|
960
|
+
],
|
|
540
961
|
"repoRoles": [],
|
|
541
962
|
"requiresAny": [
|
|
542
|
-
{
|
|
543
|
-
|
|
544
|
-
|
|
963
|
+
{
|
|
964
|
+
"stack": "oidc"
|
|
965
|
+
},
|
|
966
|
+
{
|
|
967
|
+
"stack": "azure-ad"
|
|
968
|
+
},
|
|
969
|
+
{
|
|
970
|
+
"stack": "bankid"
|
|
971
|
+
}
|
|
545
972
|
],
|
|
546
973
|
"tokenEstimate": 1700,
|
|
547
|
-
"installMode": "copy-selected"
|
|
974
|
+
"installMode": "copy-selected",
|
|
975
|
+
"ecosystem": "auth"
|
|
548
976
|
},
|
|
549
977
|
{
|
|
550
978
|
"id": "haus.database-patterns",
|
|
979
|
+
"version": "1.0.0",
|
|
551
980
|
"source": "haus",
|
|
552
981
|
"type": "skill",
|
|
553
|
-
"path": "
|
|
982
|
+
"path": "skills/database-patterns",
|
|
554
983
|
"title": "Haus database patterns",
|
|
555
984
|
"purpose": "Guide schema/query/index/search changes across supported data engines.",
|
|
556
985
|
"whenToUse": "Use for migrations, query behavior, indexing, and Elasticsearch mapping updates.",
|
|
557
986
|
"whenNotToUse": "Do not use for UI-only changes without persistence/search impact.",
|
|
558
|
-
"references": [
|
|
987
|
+
"references": [
|
|
988
|
+
"references/conventions.md",
|
|
989
|
+
"references/scope.md",
|
|
990
|
+
"references/workflow.md"
|
|
991
|
+
],
|
|
559
992
|
"tokenBudget": 1200,
|
|
560
|
-
"tags": [
|
|
993
|
+
"tags": [
|
|
994
|
+
"postgresql",
|
|
995
|
+
"mariadb",
|
|
996
|
+
"mssql",
|
|
997
|
+
"elasticsearch",
|
|
998
|
+
"redis"
|
|
999
|
+
],
|
|
561
1000
|
"repoRoles": [],
|
|
562
1001
|
"requiresAny": [
|
|
563
|
-
{
|
|
564
|
-
|
|
565
|
-
|
|
566
|
-
{
|
|
1002
|
+
{
|
|
1003
|
+
"stack": "postgresql"
|
|
1004
|
+
},
|
|
1005
|
+
{
|
|
1006
|
+
"stack": "mariadb"
|
|
1007
|
+
},
|
|
1008
|
+
{
|
|
1009
|
+
"stack": "mssql"
|
|
1010
|
+
},
|
|
1011
|
+
{
|
|
1012
|
+
"stack": "elasticsearch"
|
|
1013
|
+
},
|
|
1014
|
+
{
|
|
1015
|
+
"stack": "redis"
|
|
1016
|
+
}
|
|
567
1017
|
],
|
|
568
1018
|
"tokenEstimate": 1700,
|
|
569
|
-
"installMode": "copy-selected"
|
|
1019
|
+
"installMode": "copy-selected",
|
|
1020
|
+
"ecosystem": "database"
|
|
570
1021
|
},
|
|
571
1022
|
{
|
|
572
1023
|
"id": "haus.package-manager-yarn4-pnpm89",
|
|
1024
|
+
"version": "1.0.0",
|
|
573
1025
|
"source": "haus",
|
|
574
1026
|
"type": "skill",
|
|
575
|
-
"path": "
|
|
1027
|
+
"path": "skills/package-manager-yarn4-pnpm89",
|
|
576
1028
|
"title": "Haus package manager patterns",
|
|
577
1029
|
"purpose": "Guide deterministic dependency/workspace changes for Yarn4 and pnpm89.",
|
|
578
1030
|
"whenToUse": "Use for lockfile, workspace, and package manager configuration changes.",
|
|
579
1031
|
"whenNotToUse": "Do not use for feature-only code edits with no dependency/workspace impact.",
|
|
580
|
-
"references": [
|
|
1032
|
+
"references": [
|
|
1033
|
+
"references/conventions.md",
|
|
1034
|
+
"references/scope.md",
|
|
1035
|
+
"references/workflow.md"
|
|
1036
|
+
],
|
|
581
1037
|
"tokenBudget": 1200,
|
|
582
|
-
"tags": [
|
|
1038
|
+
"tags": [
|
|
1039
|
+
"yarn4",
|
|
1040
|
+
"pnpm89"
|
|
1041
|
+
],
|
|
583
1042
|
"repoRoles": [],
|
|
584
1043
|
"requiresAny": [
|
|
585
|
-
{
|
|
586
|
-
|
|
1044
|
+
{
|
|
1045
|
+
"stack": "yarn4"
|
|
1046
|
+
},
|
|
1047
|
+
{
|
|
1048
|
+
"stack": "pnpm89"
|
|
1049
|
+
}
|
|
587
1050
|
],
|
|
588
1051
|
"tokenEstimate": 1200,
|
|
589
|
-
"installMode": "copy-selected"
|
|
1052
|
+
"installMode": "copy-selected",
|
|
1053
|
+
"ecosystem": "packagemanager"
|
|
590
1054
|
},
|
|
591
1055
|
{
|
|
592
1056
|
"id": "haus.testing-library-patterns",
|
|
1057
|
+
"version": "1.0.0",
|
|
593
1058
|
"source": "haus",
|
|
594
1059
|
"type": "skill",
|
|
595
|
-
"path": "
|
|
1060
|
+
"path": "skills/testing-library-patterns",
|
|
596
1061
|
"title": "Haus testing library patterns",
|
|
597
1062
|
"purpose": "Guide user-visible behavior testing with Testing Library.",
|
|
598
1063
|
"whenToUse": "Use for component interaction tests with @testing-library tooling.",
|
|
599
1064
|
"whenNotToUse": "Do not use for full browser journey tests better served by Playwright.",
|
|
600
|
-
"references": [
|
|
1065
|
+
"references": [
|
|
1066
|
+
"references/conventions.md",
|
|
1067
|
+
"references/scope.md",
|
|
1068
|
+
"references/workflow.md",
|
|
1069
|
+
"https://vitest.dev/guide"
|
|
1070
|
+
],
|
|
601
1071
|
"tokenBudget": 1200,
|
|
602
|
-
"tags": [
|
|
1072
|
+
"tags": [
|
|
1073
|
+
"testing-library"
|
|
1074
|
+
],
|
|
603
1075
|
"repoRoles": [],
|
|
604
1076
|
"requiresAny": [
|
|
605
|
-
{
|
|
606
|
-
|
|
607
|
-
|
|
608
|
-
{
|
|
1077
|
+
{
|
|
1078
|
+
"stack": "testing-library"
|
|
1079
|
+
},
|
|
1080
|
+
{
|
|
1081
|
+
"dependency": "@testing-library/react"
|
|
1082
|
+
},
|
|
1083
|
+
{
|
|
1084
|
+
"dependency": "@testing-library/dom"
|
|
1085
|
+
},
|
|
1086
|
+
{
|
|
1087
|
+
"packageNamePattern": "@testing-library/*"
|
|
1088
|
+
}
|
|
1089
|
+
],
|
|
1090
|
+
"tokenEstimate": 1500,
|
|
1091
|
+
"installMode": "copy-selected",
|
|
1092
|
+
"ecosystem": "testing"
|
|
1093
|
+
},
|
|
1094
|
+
{
|
|
1095
|
+
"id": "haus.vitest-patterns",
|
|
1096
|
+
"version": "1.0.0",
|
|
1097
|
+
"source": "haus",
|
|
1098
|
+
"type": "skill",
|
|
1099
|
+
"path": "skills/vitest-patterns",
|
|
1100
|
+
"title": "Haus Vitest patterns",
|
|
1101
|
+
"purpose": "Guide Vitest unit/integration test structure, mocking, and coverage config.",
|
|
1102
|
+
"whenToUse": "Use when writing or modifying Vitest tests in TypeScript/JS frontends and Node services.",
|
|
1103
|
+
"whenNotToUse": "Do not use for Jest, Playwright, or PHPUnit test tasks.",
|
|
1104
|
+
"references": [
|
|
1105
|
+
"references/conventions.md",
|
|
1106
|
+
"references/scope.md",
|
|
1107
|
+
"references/workflow.md",
|
|
1108
|
+
"https://vitest.dev/guide/"
|
|
1109
|
+
],
|
|
1110
|
+
"tokenBudget": 1200,
|
|
1111
|
+
"tags": [
|
|
1112
|
+
"testing",
|
|
1113
|
+
"vitest",
|
|
1114
|
+
"typescript"
|
|
1115
|
+
],
|
|
1116
|
+
"repoRoles": [
|
|
1117
|
+
"next-app",
|
|
1118
|
+
"react-app",
|
|
1119
|
+
"vue-app",
|
|
1120
|
+
"vite-app",
|
|
1121
|
+
"vendure-app",
|
|
1122
|
+
"vendure-plugin"
|
|
1123
|
+
],
|
|
1124
|
+
"requiresAny": [
|
|
1125
|
+
{
|
|
1126
|
+
"stack": "vitest"
|
|
1127
|
+
},
|
|
1128
|
+
{
|
|
1129
|
+
"dependency": "vitest"
|
|
1130
|
+
}
|
|
1131
|
+
],
|
|
1132
|
+
"tokenEstimate": 1500,
|
|
1133
|
+
"installMode": "copy-selected"
|
|
1134
|
+
},
|
|
1135
|
+
{
|
|
1136
|
+
"id": "haus.jest-patterns",
|
|
1137
|
+
"version": "1.0.0",
|
|
1138
|
+
"source": "haus",
|
|
1139
|
+
"type": "skill",
|
|
1140
|
+
"path": "skills/jest-patterns",
|
|
1141
|
+
"title": "Haus Jest patterns",
|
|
1142
|
+
"purpose": "Guide Jest unit/integration test structure, mocking, and Nx-style setup.",
|
|
1143
|
+
"whenToUse": "Use when writing or modifying Jest tests, including Nx workspace projects.",
|
|
1144
|
+
"whenNotToUse": "Do not use for Vitest, Playwright, or PHPUnit test tasks.",
|
|
1145
|
+
"references": [
|
|
1146
|
+
"references/conventions.md",
|
|
1147
|
+
"references/scope.md",
|
|
1148
|
+
"references/workflow.md",
|
|
1149
|
+
"https://jestjs.io/docs/getting-started"
|
|
1150
|
+
],
|
|
1151
|
+
"tokenBudget": 1200,
|
|
1152
|
+
"tags": [
|
|
1153
|
+
"testing",
|
|
1154
|
+
"jest",
|
|
1155
|
+
"typescript"
|
|
1156
|
+
],
|
|
1157
|
+
"repoRoles": [
|
|
1158
|
+
"next-app",
|
|
1159
|
+
"react-app",
|
|
1160
|
+
"nx-monorepo"
|
|
1161
|
+
],
|
|
1162
|
+
"requiresAny": [
|
|
1163
|
+
{
|
|
1164
|
+
"stack": "jest"
|
|
1165
|
+
},
|
|
1166
|
+
{
|
|
1167
|
+
"dependency": "jest"
|
|
1168
|
+
},
|
|
1169
|
+
{
|
|
1170
|
+
"dependency": "jest-environment-jsdom"
|
|
1171
|
+
}
|
|
609
1172
|
],
|
|
610
1173
|
"tokenEstimate": 1500,
|
|
611
1174
|
"installMode": "copy-selected"
|
|
612
1175
|
},
|
|
613
1176
|
{
|
|
614
1177
|
"id": "haus.phpunit-patterns",
|
|
1178
|
+
"version": "1.0.0",
|
|
615
1179
|
"source": "haus",
|
|
616
1180
|
"type": "skill",
|
|
617
|
-
"path": "
|
|
1181
|
+
"path": "skills/phpunit-patterns",
|
|
618
1182
|
"title": "Haus PHPUnit patterns",
|
|
619
1183
|
"purpose": "Guide PHPUnit feature/unit test changes for PHP/Laravel behavior.",
|
|
620
1184
|
"whenToUse": "Use for PHPUnit tests tied to backend behavior updates.",
|
|
621
1185
|
"whenNotToUse": "Do not use for frontend/browser-only test tasks.",
|
|
622
|
-
"references": [
|
|
1186
|
+
"references": [
|
|
1187
|
+
"references/conventions.md",
|
|
1188
|
+
"references/scope.md",
|
|
1189
|
+
"references/workflow.md",
|
|
1190
|
+
"https://laravel.com/docs"
|
|
1191
|
+
],
|
|
623
1192
|
"tokenBudget": 1200,
|
|
624
|
-
"tags": [
|
|
625
|
-
|
|
1193
|
+
"tags": [
|
|
1194
|
+
"phpunit"
|
|
1195
|
+
],
|
|
1196
|
+
"repoRoles": [
|
|
1197
|
+
"laravel-app",
|
|
1198
|
+
"laravel-nova-app"
|
|
1199
|
+
],
|
|
626
1200
|
"requiresAny": [
|
|
627
|
-
{
|
|
628
|
-
|
|
1201
|
+
{
|
|
1202
|
+
"stack": "phpunit"
|
|
1203
|
+
},
|
|
1204
|
+
{
|
|
1205
|
+
"dependency": "phpunit/phpunit"
|
|
1206
|
+
}
|
|
629
1207
|
],
|
|
630
1208
|
"ecosystem": "laravel",
|
|
631
1209
|
"tokenEstimate": 1500,
|
|
@@ -633,64 +1211,124 @@
|
|
|
633
1211
|
},
|
|
634
1212
|
{
|
|
635
1213
|
"id": "haus.storybook-patterns",
|
|
1214
|
+
"version": "1.0.0",
|
|
636
1215
|
"source": "haus",
|
|
637
1216
|
"type": "skill",
|
|
638
|
-
"path": "
|
|
1217
|
+
"path": "skills/storybook-patterns",
|
|
639
1218
|
"title": "Haus Storybook patterns",
|
|
640
1219
|
"purpose": "Guide story coverage and component API documentation updates.",
|
|
641
1220
|
"whenToUse": "Use for component stories, args/controls, and Storybook config changes.",
|
|
642
1221
|
"whenNotToUse": "Do not use for backend/service-only development tasks.",
|
|
643
|
-
"references": [
|
|
1222
|
+
"references": [
|
|
1223
|
+
"references/conventions.md",
|
|
1224
|
+
"references/scope.md",
|
|
1225
|
+
"references/workflow.md",
|
|
1226
|
+
"https://storybook.js.org/docs"
|
|
1227
|
+
],
|
|
644
1228
|
"tokenBudget": 1200,
|
|
645
|
-
"tags": [
|
|
646
|
-
|
|
1229
|
+
"tags": [
|
|
1230
|
+
"storybook"
|
|
1231
|
+
],
|
|
1232
|
+
"repoRoles": [
|
|
1233
|
+
"react-app",
|
|
1234
|
+
"next-app",
|
|
1235
|
+
"vite-app"
|
|
1236
|
+
],
|
|
647
1237
|
"requiresAny": [
|
|
648
|
-
{
|
|
649
|
-
|
|
650
|
-
|
|
651
|
-
{
|
|
1238
|
+
{
|
|
1239
|
+
"stack": "storybook"
|
|
1240
|
+
},
|
|
1241
|
+
{
|
|
1242
|
+
"dependency": "storybook"
|
|
1243
|
+
},
|
|
1244
|
+
{
|
|
1245
|
+
"dependency": "@storybook/react"
|
|
1246
|
+
},
|
|
1247
|
+
{
|
|
1248
|
+
"packageNamePattern": "@storybook/*"
|
|
1249
|
+
}
|
|
652
1250
|
],
|
|
653
|
-
"ecosystem": "
|
|
1251
|
+
"ecosystem": "storybook",
|
|
654
1252
|
"tokenEstimate": 1500,
|
|
655
1253
|
"installMode": "copy-selected"
|
|
656
1254
|
},
|
|
657
1255
|
{
|
|
658
1256
|
"id": "haus.security-review",
|
|
1257
|
+
"version": "1.0.0",
|
|
659
1258
|
"source": "haus",
|
|
660
1259
|
"type": "skill",
|
|
661
|
-
"path": "
|
|
1260
|
+
"path": "skills/security-review",
|
|
662
1261
|
"title": "Haus security review",
|
|
663
1262
|
"purpose": "Route bounded security review with structured findings and explicit verification.",
|
|
664
1263
|
"whenToUse": "Use when the user requests security review, threat check, or hardening on a named scope.",
|
|
665
1264
|
"whenNotToUse": "Do not use for unscoped repo sweeps, exploit development, or non-security tasks.",
|
|
666
1265
|
"references": [
|
|
1266
|
+
"references/conventions.md",
|
|
667
1267
|
"references/output-shape.md",
|
|
668
1268
|
"references/scope-signals.md",
|
|
669
1269
|
"references/verification.md"
|
|
670
1270
|
],
|
|
671
1271
|
"tokenBudget": 800,
|
|
672
|
-
"tags": [
|
|
1272
|
+
"tags": [
|
|
1273
|
+
"security",
|
|
1274
|
+
"review"
|
|
1275
|
+
],
|
|
673
1276
|
"repoRoles": [],
|
|
674
1277
|
"requiresAny": [],
|
|
675
1278
|
"tokenEstimate": 1200,
|
|
676
|
-
"installMode": "copy-selected"
|
|
1279
|
+
"installMode": "copy-selected",
|
|
1280
|
+
"ecosystem": "security",
|
|
1281
|
+
"default": true
|
|
677
1282
|
},
|
|
678
1283
|
{
|
|
679
1284
|
"id": "haus.production-readiness-review",
|
|
1285
|
+
"version": "1.0.0",
|
|
680
1286
|
"source": "haus",
|
|
681
1287
|
"type": "skill",
|
|
682
|
-
"path": "
|
|
1288
|
+
"path": "skills/production-readiness-review",
|
|
683
1289
|
"title": "Haus production readiness review",
|
|
684
1290
|
"purpose": "Route release readiness checks with evidence-based gaps and rollback notes.",
|
|
685
1291
|
"whenToUse": "Use when the user asks for ship checklist, release risk review, or go-live readiness on a defined change set.",
|
|
686
1292
|
"whenNotToUse": "Do not use for pure feature design with no release surface or undefined release boundary.",
|
|
687
|
-
"references": [
|
|
1293
|
+
"references": [
|
|
1294
|
+
"references/conventions.md",
|
|
1295
|
+
"references/signals.md",
|
|
1296
|
+
"references/evidence.md",
|
|
1297
|
+
"references/rollback.md"
|
|
1298
|
+
],
|
|
688
1299
|
"tokenBudget": 800,
|
|
689
|
-
"tags": [
|
|
1300
|
+
"tags": [
|
|
1301
|
+
"quality",
|
|
1302
|
+
"security",
|
|
1303
|
+
"review"
|
|
1304
|
+
],
|
|
690
1305
|
"repoRoles": [],
|
|
691
1306
|
"requiresAny": [],
|
|
692
1307
|
"tokenEstimate": 1200,
|
|
693
|
-
"installMode": "copy-selected"
|
|
1308
|
+
"installMode": "copy-selected",
|
|
1309
|
+
"ecosystem": "production",
|
|
1310
|
+
"default": true
|
|
1311
|
+
},
|
|
1312
|
+
{
|
|
1313
|
+
"id": "haus.haus-way-of-work",
|
|
1314
|
+
"version": "1.0.0",
|
|
1315
|
+
"source": "haus",
|
|
1316
|
+
"type": "template",
|
|
1317
|
+
"path": "templates/haus-way-of-work.md",
|
|
1318
|
+
"title": "Haus way of work",
|
|
1319
|
+
"purpose": "Universal project instructions: context loading, output discipline, commit hygiene, safety rails, PR workflow.",
|
|
1320
|
+
"whenToUse": "Install in every project using haus-workflow. Always active as baseline project instructions.",
|
|
1321
|
+
"whenNotToUse": "Never skip this template.",
|
|
1322
|
+
"tags": [
|
|
1323
|
+
"workflow",
|
|
1324
|
+
"baseline",
|
|
1325
|
+
"project-instructions"
|
|
1326
|
+
],
|
|
1327
|
+
"repoRoles": [],
|
|
1328
|
+
"installMode": "copy-selected",
|
|
1329
|
+
"tokenEstimate": 500,
|
|
1330
|
+
"tokenBudget": 600,
|
|
1331
|
+
"default": true
|
|
694
1332
|
}
|
|
695
1333
|
]
|
|
696
1334
|
}
|