@haus-tech/haus-workflow 0.1.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 +1 -0
- package/README.md +60 -0
- package/dist/cli.d.ts +1 -0
- package/dist/cli.js +3232 -0
- package/docs/user-guide.md +176 -0
- package/library/catalog/allowed-stacks.json +73 -0
- package/library/catalog/haus-lock.schema.json +43 -0
- package/library/catalog/manifest.json +696 -0
- package/library/catalog/sources.yaml +411 -0
- package/library/global/agents/haus-code-reviewer.md +27 -0
- package/library/global/agents/haus-docs-researcher.md +26 -0
- package/library/global/agents/haus-planner.md +26 -0
- package/library/global/agents/haus-security-reviewer.md +26 -0
- package/library/global/agents/haus-test-reviewer.md +26 -0
- package/library/global/settings-fragments/hooks.json +31 -0
- package/library/global/skills/haus-workflow/SKILL.md +56 -0
- package/library/global/templates/haus-way-of-work.md +40 -0
- package/package.json +88 -0
- package/tests/README.md +70 -0
- package/tests/fixtures/catalog/agents/code-reviewer.md +15 -0
- package/tests/fixtures/catalog/agents/docs-researcher.md +15 -0
- package/tests/fixtures/catalog/agents/planner.md +15 -0
- package/tests/fixtures/catalog/agents/security-reviewer.md +15 -0
- package/tests/fixtures/catalog/agents/test-reviewer.md +15 -0
- package/tests/fixtures/catalog/manifest.json +696 -0
- package/tests/fixtures/catalog/skills/auth-oidc-azure-bankid-patterns/SKILL.md +9 -0
- package/tests/fixtures/catalog/skills/database-patterns/SKILL.md +9 -0
- package/tests/fixtures/catalog/skills/dotnet-patterns/SKILL.md +9 -0
- package/tests/fixtures/catalog/skills/dotnet-service-patterns/SKILL.md +9 -0
- package/tests/fixtures/catalog/skills/global-engineering-rules/SKILL.md +9 -0
- package/tests/fixtures/catalog/skills/laravel-nova-patterns/SKILL.md +9 -0
- package/tests/fixtures/catalog/skills/laravel-patterns/SKILL.md +9 -0
- package/tests/fixtures/catalog/skills/nestjs-graphql-patterns/SKILL.md +9 -0
- package/tests/fixtures/catalog/skills/nextjs-patterns/SKILL.md +9 -0
- package/tests/fixtures/catalog/skills/nx21-monorepo-patterns/SKILL.md +9 -0
- package/tests/fixtures/catalog/skills/package-manager-yarn4-pnpm89/SKILL.md +9 -0
- package/tests/fixtures/catalog/skills/phpunit-patterns/SKILL.md +9 -0
- package/tests/fixtures/catalog/skills/playwright-patterns/SKILL.md +9 -0
- package/tests/fixtures/catalog/skills/production-readiness-review/SKILL.md +9 -0
- package/tests/fixtures/catalog/skills/radix-shadcn-patterns/SKILL.md +9 -0
- package/tests/fixtures/catalog/skills/react19-patterns/SKILL.md +9 -0
- package/tests/fixtures/catalog/skills/security-review/SKILL.md +9 -0
- package/tests/fixtures/catalog/skills/storybook-patterns/SKILL.md +9 -0
- package/tests/fixtures/catalog/skills/tailwind-scss-patterns/SKILL.md +9 -0
- package/tests/fixtures/catalog/skills/tanstack-query-router-patterns/SKILL.md +9 -0
- package/tests/fixtures/catalog/skills/testing-library-patterns/SKILL.md +9 -0
- package/tests/fixtures/catalog/skills/turbo-monorepo-patterns/SKILL.md +9 -0
- package/tests/fixtures/catalog/skills/typescript6-patterns/SKILL.md +9 -0
- package/tests/fixtures/catalog/skills/vendure-app-patterns/SKILL.md +9 -0
- package/tests/fixtures/catalog/skills/vendure-plugin-patterns/SKILL.md +9 -0
- package/tests/fixtures/catalog/skills/vite8-patterns/SKILL.md +9 -0
- package/tests/fixtures/catalog/skills/vue-patterns/SKILL.md +9 -0
- package/tests/fixtures/catalog/skills/wordpress-acf-elementor-jetengine-patterns/SKILL.md +9 -0
- package/tests/fixtures/catalog/skills/wordpress-bedrock-patterns/SKILL.md +9 -0
- package/tests/fixtures/catalog/skills/wordpress-patterns/SKILL.md +9 -0
|
@@ -0,0 +1,696 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": "0.1.0",
|
|
3
|
+
"_note": "Stable fixture for CLI tests. Decoupled from production catalog repo. Update manually when catalog schema changes.",
|
|
4
|
+
"items": [
|
|
5
|
+
{
|
|
6
|
+
"id": "haus.global-engineering-rules",
|
|
7
|
+
"source": "haus",
|
|
8
|
+
"type": "skill",
|
|
9
|
+
"path": "tests/fixtures/catalog/skills/global-engineering-rules",
|
|
10
|
+
"title": "Haus global engineering rules",
|
|
11
|
+
"purpose": "Provide baseline deterministic engineering, validation, and security guardrails.",
|
|
12
|
+
"whenToUse": "Use as default baseline in supported Haus workflows.",
|
|
13
|
+
"whenNotToUse": "Do not use for unsupported stacks or non-development workflows.",
|
|
14
|
+
"references": [],
|
|
15
|
+
"safetyNotes": ["Never read secrets or customer exports."],
|
|
16
|
+
"tokenBudget": 1800,
|
|
17
|
+
"tags": ["haus", "quality", "security"],
|
|
18
|
+
"repoRoles": [],
|
|
19
|
+
"requiresAny": [],
|
|
20
|
+
"tokenEstimate": 1800,
|
|
21
|
+
"installMode": "copy-selected",
|
|
22
|
+
"default": true
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
"id": "haus.nextjs-patterns",
|
|
26
|
+
"source": "haus",
|
|
27
|
+
"type": "skill",
|
|
28
|
+
"path": "tests/fixtures/catalog/skills/nextjs-patterns",
|
|
29
|
+
"title": "Haus Next.js patterns",
|
|
30
|
+
"purpose": "Guide Next.js route, server/client boundary, and middleware-safe changes.",
|
|
31
|
+
"whenToUse": "Use for App Router pages, layouts, route handlers, and middleware behavior updates.",
|
|
32
|
+
"whenNotToUse": "Do not use for backend-only or non-Next framework tasks.",
|
|
33
|
+
"references": ["references/scope.md", "references/workflow.md", "https://nextjs.org/llms.txt"],
|
|
34
|
+
"tokenBudget": 1200,
|
|
35
|
+
"tags": ["frontend", "nextjs", "react", "typescript"],
|
|
36
|
+
"repoRoles": ["next-app"],
|
|
37
|
+
"requiresAny": [{ "stack": "nextjs" }, { "dependency": "next" }],
|
|
38
|
+
"ecosystem": "nextjs",
|
|
39
|
+
"tokenEstimate": 2600,
|
|
40
|
+
"installMode": "copy-selected"
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
"id": "haus.react19-patterns",
|
|
44
|
+
"source": "haus",
|
|
45
|
+
"type": "skill",
|
|
46
|
+
"path": "tests/fixtures/catalog/skills/react19-patterns",
|
|
47
|
+
"title": "Haus React 19 patterns",
|
|
48
|
+
"purpose": "Guide React component, hook, and state-boundary changes.",
|
|
49
|
+
"whenToUse": "Use for React component behavior, hooks, and UI state flow updates.",
|
|
50
|
+
"whenNotToUse": "Do not use for backend-only changes or framework routing config tasks.",
|
|
51
|
+
"references": ["references/scope.md", "references/workflow.md", "https://react.dev/"],
|
|
52
|
+
"tokenBudget": 1200,
|
|
53
|
+
"tags": ["frontend", "react", "typescript"],
|
|
54
|
+
"repoRoles": ["react-app", "next-app", "design-system"],
|
|
55
|
+
"requiresAny": [{ "stack": "react19" }, { "dependency": "react" }],
|
|
56
|
+
"ecosystem": "react",
|
|
57
|
+
"tokenEstimate": 2200,
|
|
58
|
+
"installMode": "copy-selected"
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
"id": "haus.typescript6-patterns",
|
|
62
|
+
"source": "haus",
|
|
63
|
+
"type": "skill",
|
|
64
|
+
"path": "tests/fixtures/catalog/skills/typescript6-patterns",
|
|
65
|
+
"title": "Haus TypeScript patterns",
|
|
66
|
+
"purpose": "Guide TypeScript contract and migration-safe typing changes.",
|
|
67
|
+
"whenToUse": "Use for shared types, DTOs, interface boundaries, and type-safe refactors.",
|
|
68
|
+
"whenNotToUse": "Do not use for runtime-only changes without type-contract impact.",
|
|
69
|
+
"references": ["references/scope.md", "references/workflow.md", "https://www.typescriptlang.org/docs/handbook/"],
|
|
70
|
+
"tokenBudget": 1200,
|
|
71
|
+
"tags": ["typescript", "frontend", "backend"],
|
|
72
|
+
"repoRoles": [
|
|
73
|
+
"next-app",
|
|
74
|
+
"react-app",
|
|
75
|
+
"nestjs-api",
|
|
76
|
+
"vendure-plugin",
|
|
77
|
+
"vendure-app",
|
|
78
|
+
"shared-package"
|
|
79
|
+
],
|
|
80
|
+
"requiresAny": [
|
|
81
|
+
{ "stack": "typescript" },
|
|
82
|
+
{ "dependency": "typescript" }
|
|
83
|
+
],
|
|
84
|
+
"tokenEstimate": 2200,
|
|
85
|
+
"installMode": "copy-selected"
|
|
86
|
+
},
|
|
87
|
+
{
|
|
88
|
+
"id": "haus.vite8-patterns",
|
|
89
|
+
"source": "haus",
|
|
90
|
+
"type": "skill",
|
|
91
|
+
"path": "tests/fixtures/catalog/skills/vite8-patterns",
|
|
92
|
+
"title": "Haus Vite 8 patterns",
|
|
93
|
+
"purpose": "Guide Vite config, plugin wiring, and deterministic build pipeline changes.",
|
|
94
|
+
"whenToUse": "Use for vite config, alias/plugin, and build mode behavior updates.",
|
|
95
|
+
"whenNotToUse": "Do not use for framework feature logic without build pipeline impact.",
|
|
96
|
+
"references": ["references/scope.md", "references/workflow.md", "https://vite.dev/guide", "https://vitest.dev/guide"],
|
|
97
|
+
"tokenBudget": 1200,
|
|
98
|
+
"tags": ["vite8", "frontend", "typescript"],
|
|
99
|
+
"repoRoles": ["vite-app", "react-app", "vue-app"],
|
|
100
|
+
"requiresAny": [
|
|
101
|
+
{ "stack": "vite8" },
|
|
102
|
+
{ "dependency": "vite" }
|
|
103
|
+
],
|
|
104
|
+
"ecosystem": "vite",
|
|
105
|
+
"tokenEstimate": 1800,
|
|
106
|
+
"installMode": "copy-selected"
|
|
107
|
+
},
|
|
108
|
+
{
|
|
109
|
+
"id": "haus.vendure-plugin-patterns",
|
|
110
|
+
"source": "haus",
|
|
111
|
+
"type": "skill",
|
|
112
|
+
"path": "tests/fixtures/catalog/skills/vendure-plugin-patterns",
|
|
113
|
+
"title": "Haus Vendure plugin patterns",
|
|
114
|
+
"purpose": "Guide Vendure plugin boundary, schema, and migration-safe development.",
|
|
115
|
+
"whenToUse": "Use for Vendure plugin resolvers, services, entities, and plugin migrations.",
|
|
116
|
+
"whenNotToUse": "Do not use for storefront-only UI changes or non-Vendure APIs.",
|
|
117
|
+
"references": ["references/scope.md", "references/workflow.md", "https://docs.vendure.io/llms.txt"],
|
|
118
|
+
"tokenBudget": 1200,
|
|
119
|
+
"tags": ["backend", "vendure", "nestjs", "graphql", "typescript"],
|
|
120
|
+
"repoRoles": ["vendure-plugin", "vendure-app"],
|
|
121
|
+
"requiresAny": [
|
|
122
|
+
{ "stack": "vendure3" },
|
|
123
|
+
{ "dependency": "@vendure/core" },
|
|
124
|
+
{ "packageNamePattern": "@haus/vendure-*" }
|
|
125
|
+
],
|
|
126
|
+
"ecosystem": "vendure",
|
|
127
|
+
"tokenEstimate": 3400,
|
|
128
|
+
"installMode": "copy-selected"
|
|
129
|
+
},
|
|
130
|
+
{
|
|
131
|
+
"id": "haus.laravel-patterns",
|
|
132
|
+
"source": "haus",
|
|
133
|
+
"type": "skill",
|
|
134
|
+
"path": "tests/fixtures/catalog/skills/laravel-patterns",
|
|
135
|
+
"title": "Haus Laravel patterns",
|
|
136
|
+
"purpose": "Guide Laravel domain, routing, policy, and persistence changes.",
|
|
137
|
+
"whenToUse": "Use for Laravel controllers/services/models/jobs/policies and route changes.",
|
|
138
|
+
"whenNotToUse": "Do not use for Nova-only admin resource customization tasks.",
|
|
139
|
+
"references": ["references/scope.md", "references/workflow.md", "https://laravel.com/docs"],
|
|
140
|
+
"tokenBudget": 1200,
|
|
141
|
+
"tags": ["backend", "laravel", "php"],
|
|
142
|
+
"repoRoles": ["laravel-app", "laravel-nova-app"],
|
|
143
|
+
"requiresAny": [
|
|
144
|
+
{ "stack": "laravel" },
|
|
145
|
+
{ "dependency": "laravel/framework" }
|
|
146
|
+
],
|
|
147
|
+
"ecosystem": "laravel",
|
|
148
|
+
"tokenEstimate": 2800,
|
|
149
|
+
"installMode": "copy-selected"
|
|
150
|
+
},
|
|
151
|
+
{
|
|
152
|
+
"id": "haus.wordpress-patterns",
|
|
153
|
+
"source": "haus",
|
|
154
|
+
"type": "skill",
|
|
155
|
+
"path": "tests/fixtures/catalog/skills/wordpress-patterns",
|
|
156
|
+
"title": "Haus WordPress patterns",
|
|
157
|
+
"purpose": "Guide WordPress hook/template/plugin/theme runtime changes.",
|
|
158
|
+
"whenToUse": "Use for WordPress hook/filter/template/plugin/theme behavior updates.",
|
|
159
|
+
"whenNotToUse": "Do not use for Bedrock-only config bootstrap or non-WP backend tasks.",
|
|
160
|
+
"references": ["references/scope.md", "references/workflow.md", "https://developer.wordpress.org/"],
|
|
161
|
+
"tokenBudget": 1200,
|
|
162
|
+
"tags": ["backend", "wordpress", "php"],
|
|
163
|
+
"repoRoles": ["wordpress-site", "wordpress-bedrock-site"],
|
|
164
|
+
"requiresAny": [
|
|
165
|
+
{ "stack": "wordpress" },
|
|
166
|
+
{ "dependency": "roots/bedrock" }
|
|
167
|
+
],
|
|
168
|
+
"ecosystem": "wordpress",
|
|
169
|
+
"tokenEstimate": 3000,
|
|
170
|
+
"installMode": "copy-selected"
|
|
171
|
+
},
|
|
172
|
+
{
|
|
173
|
+
"id": "haus.dotnet-patterns",
|
|
174
|
+
"source": "haus",
|
|
175
|
+
"type": "skill",
|
|
176
|
+
"path": "tests/fixtures/catalog/skills/dotnet-patterns",
|
|
177
|
+
"title": "Haus .NET patterns",
|
|
178
|
+
"purpose": "Guide .NET API/service/domain/persistence layer changes.",
|
|
179
|
+
"whenToUse": "Use for .NET service and endpoint behavior changes with domain impact.",
|
|
180
|
+
"whenNotToUse": "Do not use for frontend-only or non-.NET runtime tasks.",
|
|
181
|
+
"references": ["references/scope.md", "references/workflow.md"],
|
|
182
|
+
"tokenBudget": 1200,
|
|
183
|
+
"tags": ["backend", "dotnet", "csharp"],
|
|
184
|
+
"repoRoles": ["dotnet-service"],
|
|
185
|
+
"requiresAny": [{ "stack": "dotnet" }],
|
|
186
|
+
"ecosystem": "dotnet",
|
|
187
|
+
"tokenEstimate": 2600,
|
|
188
|
+
"installMode": "copy-selected"
|
|
189
|
+
},
|
|
190
|
+
{
|
|
191
|
+
"id": "haus.playwright-patterns",
|
|
192
|
+
"source": "haus",
|
|
193
|
+
"type": "skill",
|
|
194
|
+
"path": "tests/fixtures/catalog/skills/playwright-patterns",
|
|
195
|
+
"title": "Haus Playwright workflow",
|
|
196
|
+
"purpose": "Guide deterministic E2E browser test flow changes.",
|
|
197
|
+
"whenToUse": "Use for Playwright specs, fixtures, and browser test stability work.",
|
|
198
|
+
"whenNotToUse": "Do not use for unit-only test tasks without browser automation.",
|
|
199
|
+
"references": ["references/scope.md", "references/workflow.md", "https://playwright.dev/docs/intro"],
|
|
200
|
+
"tokenBudget": 1200,
|
|
201
|
+
"tags": ["testing", "playwright"],
|
|
202
|
+
"repoRoles": ["next-app", "react-app", "vue-app", "test-suite"],
|
|
203
|
+
"requiresAny": [
|
|
204
|
+
{ "stack": "playwright" },
|
|
205
|
+
{ "dependency": "@playwright/test" }
|
|
206
|
+
],
|
|
207
|
+
"tokenEstimate": 2200,
|
|
208
|
+
"installMode": "copy-selected"
|
|
209
|
+
},
|
|
210
|
+
{
|
|
211
|
+
"id": "haus.code-reviewer-agent",
|
|
212
|
+
"source": "haus",
|
|
213
|
+
"type": "agent",
|
|
214
|
+
"path": "tests/fixtures/catalog/agents/code-reviewer.md",
|
|
215
|
+
"title": "Haus code reviewer agent",
|
|
216
|
+
"tags": ["review", "quality", "security"],
|
|
217
|
+
"repoRoles": [],
|
|
218
|
+
"requiresAny": [],
|
|
219
|
+
"tokenEstimate": 1400,
|
|
220
|
+
"installMode": "copy-selected",
|
|
221
|
+
"default": true
|
|
222
|
+
},
|
|
223
|
+
{
|
|
224
|
+
"id": "haus.test-reviewer-agent",
|
|
225
|
+
"source": "haus",
|
|
226
|
+
"type": "agent",
|
|
227
|
+
"path": "tests/fixtures/catalog/agents/test-reviewer.md",
|
|
228
|
+
"title": "Haus test reviewer agent",
|
|
229
|
+
"tags": ["review", "testing", "quality"],
|
|
230
|
+
"repoRoles": [],
|
|
231
|
+
"requiresAny": [],
|
|
232
|
+
"tokenEstimate": 1400,
|
|
233
|
+
"installMode": "copy-selected"
|
|
234
|
+
},
|
|
235
|
+
{
|
|
236
|
+
"id": "haus.security-reviewer-agent",
|
|
237
|
+
"source": "haus",
|
|
238
|
+
"type": "agent",
|
|
239
|
+
"path": "tests/fixtures/catalog/agents/security-reviewer.md",
|
|
240
|
+
"title": "Haus security reviewer agent",
|
|
241
|
+
"tags": ["review", "security"],
|
|
242
|
+
"repoRoles": [],
|
|
243
|
+
"requiresAny": [],
|
|
244
|
+
"tokenEstimate": 1400,
|
|
245
|
+
"installMode": "copy-selected"
|
|
246
|
+
},
|
|
247
|
+
{
|
|
248
|
+
"id": "haus.docs-researcher-agent",
|
|
249
|
+
"source": "haus",
|
|
250
|
+
"type": "agent",
|
|
251
|
+
"path": "tests/fixtures/catalog/agents/docs-researcher.md",
|
|
252
|
+
"title": "Haus docs researcher agent",
|
|
253
|
+
"tags": ["review", "quality", "workflow"],
|
|
254
|
+
"repoRoles": [],
|
|
255
|
+
"requiresAny": [],
|
|
256
|
+
"tokenEstimate": 1200,
|
|
257
|
+
"installMode": "copy-selected"
|
|
258
|
+
},
|
|
259
|
+
{
|
|
260
|
+
"id": "haus.planner-agent",
|
|
261
|
+
"source": "haus",
|
|
262
|
+
"type": "agent",
|
|
263
|
+
"path": "tests/fixtures/catalog/agents/planner.md",
|
|
264
|
+
"title": "Haus planner agent",
|
|
265
|
+
"tags": ["workflow", "quality", "review"],
|
|
266
|
+
"repoRoles": [],
|
|
267
|
+
"requiresAny": [],
|
|
268
|
+
"tokenEstimate": 1200,
|
|
269
|
+
"installMode": "copy-selected"
|
|
270
|
+
},
|
|
271
|
+
{
|
|
272
|
+
"id": "haus.vendure-app-patterns",
|
|
273
|
+
"source": "haus",
|
|
274
|
+
"type": "skill",
|
|
275
|
+
"path": "tests/fixtures/catalog/skills/vendure-app-patterns",
|
|
276
|
+
"title": "Haus Vendure app patterns",
|
|
277
|
+
"purpose": "Guide Vendure app-level config, worker, bootstrap, and plugin wiring changes.",
|
|
278
|
+
"whenToUse": "Use for Vendure app config, worker, bootstrap, and system wiring updates.",
|
|
279
|
+
"whenNotToUse": "Do not use for isolated shared plugin package tasks.",
|
|
280
|
+
"references": ["references/scope.md", "references/workflow.md", "https://docs.vendure.io/llms.txt"],
|
|
281
|
+
"tokenBudget": 1200,
|
|
282
|
+
"tags": ["vendure3", "nestjs", "graphql"],
|
|
283
|
+
"repoRoles": ["vendure-app"],
|
|
284
|
+
"requiresAny": [
|
|
285
|
+
{ "stack": "vendure3" },
|
|
286
|
+
{ "dependency": "@vendure/core" }
|
|
287
|
+
],
|
|
288
|
+
"ecosystem": "vendure",
|
|
289
|
+
"tokenEstimate": 3200,
|
|
290
|
+
"installMode": "copy-selected"
|
|
291
|
+
},
|
|
292
|
+
{
|
|
293
|
+
"id": "haus.nestjs-graphql-patterns",
|
|
294
|
+
"source": "haus",
|
|
295
|
+
"type": "skill",
|
|
296
|
+
"path": "tests/fixtures/catalog/skills/nestjs-graphql-patterns",
|
|
297
|
+
"title": "Haus NestJS GraphQL patterns",
|
|
298
|
+
"purpose": "Guide resolver/module/guard/DTO-safe GraphQL implementation in NestJS.",
|
|
299
|
+
"whenToUse": "Use for NestJS GraphQL resolver, module, DTO/input, and guard changes.",
|
|
300
|
+
"whenNotToUse": "Do not use for REST-only controller tasks.",
|
|
301
|
+
"references": ["references/scope.md", "references/workflow.md", "https://docs.nestjs.com/"],
|
|
302
|
+
"tokenBudget": 1200,
|
|
303
|
+
"tags": ["nestjs", "graphql", "typescript6"],
|
|
304
|
+
"repoRoles": ["nestjs-api"],
|
|
305
|
+
"requiresAny": [
|
|
306
|
+
{ "stack": "nestjs" },
|
|
307
|
+
{ "dependency": "@nestjs/core" },
|
|
308
|
+
{ "dependency": "@nestjs/graphql" }
|
|
309
|
+
],
|
|
310
|
+
"ecosystem": "nestjs",
|
|
311
|
+
"tokenEstimate": 2600,
|
|
312
|
+
"installMode": "copy-selected"
|
|
313
|
+
},
|
|
314
|
+
{
|
|
315
|
+
"id": "haus.nx21-monorepo-patterns",
|
|
316
|
+
"source": "haus",
|
|
317
|
+
"type": "skill",
|
|
318
|
+
"path": "tests/fixtures/catalog/skills/nx21-monorepo-patterns",
|
|
319
|
+
"title": "Haus Nx 21 monorepo patterns",
|
|
320
|
+
"purpose": "Guide Nx project graph, target pipeline, and workspace boundaries.",
|
|
321
|
+
"whenToUse": "Use for Nx workspace graph, target, and generator configuration updates.",
|
|
322
|
+
"whenNotToUse": "Do not use for app-only feature edits without workspace impact.",
|
|
323
|
+
"references": ["references/scope.md", "references/workflow.md", "https://nx.dev/docs"],
|
|
324
|
+
"tokenBudget": 1200,
|
|
325
|
+
"tags": ["nx21", "yarn4"],
|
|
326
|
+
"repoRoles": ["nx-monorepo"],
|
|
327
|
+
"requiresAny": [
|
|
328
|
+
{ "role": "nx-monorepo" },
|
|
329
|
+
{ "dependency": "nx" },
|
|
330
|
+
{ "packageNamePattern": "@nx/*" }
|
|
331
|
+
],
|
|
332
|
+
"ecosystem": "nx",
|
|
333
|
+
"tokenEstimate": 2200,
|
|
334
|
+
"installMode": "copy-selected"
|
|
335
|
+
},
|
|
336
|
+
{
|
|
337
|
+
"id": "haus.turbo-monorepo-patterns",
|
|
338
|
+
"source": "haus",
|
|
339
|
+
"type": "skill",
|
|
340
|
+
"path": "tests/fixtures/catalog/skills/turbo-monorepo-patterns",
|
|
341
|
+
"title": "Haus Turbo monorepo patterns",
|
|
342
|
+
"purpose": "Guide Turbo pipeline and cache-safe monorepo orchestration changes.",
|
|
343
|
+
"whenToUse": "Use for turbo pipeline graph and package task orchestration updates.",
|
|
344
|
+
"whenNotToUse": "Do not use for package-local feature edits without pipeline impact.",
|
|
345
|
+
"references": ["references/scope.md", "references/workflow.md", "https://turbo.build/repo/docs"],
|
|
346
|
+
"tokenBudget": 1200,
|
|
347
|
+
"tags": ["turbo", "yarn4"],
|
|
348
|
+
"repoRoles": ["turbo-monorepo"],
|
|
349
|
+
"requiresAny": [
|
|
350
|
+
{ "role": "turbo-monorepo" },
|
|
351
|
+
{ "dependency": "turbo" }
|
|
352
|
+
],
|
|
353
|
+
"ecosystem": "turbo",
|
|
354
|
+
"tokenEstimate": 2200,
|
|
355
|
+
"installMode": "copy-selected"
|
|
356
|
+
},
|
|
357
|
+
{
|
|
358
|
+
"id": "haus.tanstack-query-router-patterns",
|
|
359
|
+
"source": "haus",
|
|
360
|
+
"type": "skill",
|
|
361
|
+
"path": "tests/fixtures/catalog/skills/tanstack-query-router-patterns",
|
|
362
|
+
"title": "Haus TanStack query/router patterns",
|
|
363
|
+
"purpose": "Guide query key, invalidation, and route loader/data-flow changes.",
|
|
364
|
+
"whenToUse": "Use for TanStack query cache behavior and TanStack router flow updates.",
|
|
365
|
+
"whenNotToUse": "Do not use for styling-only component changes.",
|
|
366
|
+
"references": ["references/scope.md", "references/workflow.md", "https://tanstack.com/query/latest/docs", "https://tanstack.com/router/latest/docs"],
|
|
367
|
+
"tokenBudget": 1200,
|
|
368
|
+
"tags": ["tanstack-query", "tanstack-router", "react19"],
|
|
369
|
+
"repoRoles": ["next-app", "react-app"],
|
|
370
|
+
"requiresAny": [
|
|
371
|
+
{ "dependency": "@tanstack/react-query" },
|
|
372
|
+
{ "dependency": "@tanstack/react-router" },
|
|
373
|
+
{ "dependency": "@tanstack/query-core" },
|
|
374
|
+
{ "packageNamePattern": "@tanstack/*" }
|
|
375
|
+
],
|
|
376
|
+
"ecosystem": "react",
|
|
377
|
+
"tokenEstimate": 2200,
|
|
378
|
+
"installMode": "copy-selected"
|
|
379
|
+
},
|
|
380
|
+
{
|
|
381
|
+
"id": "haus.radix-shadcn-patterns",
|
|
382
|
+
"source": "haus",
|
|
383
|
+
"type": "skill",
|
|
384
|
+
"path": "tests/fixtures/catalog/skills/radix-shadcn-patterns",
|
|
385
|
+
"title": "Haus Radix shadcn patterns",
|
|
386
|
+
"purpose": "Guide accessible UI primitive and wrapper behavior changes.",
|
|
387
|
+
"whenToUse": "Use for Radix primitive usage and shadcn wrapper updates.",
|
|
388
|
+
"whenNotToUse": "Do not use for backend/domain logic changes.",
|
|
389
|
+
"references": ["references/scope.md", "references/workflow.md", "https://ui.shadcn.com/docs", "https://www.radix-ui.com/primitives/docs"],
|
|
390
|
+
"tokenBudget": 1200,
|
|
391
|
+
"tags": ["radix", "shadcn", "react19"],
|
|
392
|
+
"repoRoles": ["next-app", "react-app"],
|
|
393
|
+
"requiresAny": [
|
|
394
|
+
{ "dependency": "@radix-ui/react-dialog" },
|
|
395
|
+
{ "dependency": "@radix-ui/themes" },
|
|
396
|
+
{ "dependency": "shadcn-ui" },
|
|
397
|
+
{ "dependency": "@shadcn/ui" },
|
|
398
|
+
{ "packageNamePattern": "@radix-ui/*" }
|
|
399
|
+
],
|
|
400
|
+
"ecosystem": "react",
|
|
401
|
+
"tokenEstimate": 1800,
|
|
402
|
+
"installMode": "copy-selected"
|
|
403
|
+
},
|
|
404
|
+
{
|
|
405
|
+
"id": "haus.tailwind-scss-patterns",
|
|
406
|
+
"source": "haus",
|
|
407
|
+
"type": "skill",
|
|
408
|
+
"path": "tests/fixtures/catalog/skills/tailwind-scss-patterns",
|
|
409
|
+
"title": "Haus Tailwind SCSS patterns",
|
|
410
|
+
"purpose": "Guide style-system-safe Tailwind and SCSS module changes.",
|
|
411
|
+
"whenToUse": "Use for Tailwind token/utility and SCSS module behavior updates.",
|
|
412
|
+
"whenNotToUse": "Do not use for non-style backend/service changes.",
|
|
413
|
+
"references": ["references/scope.md", "references/workflow.md", "https://tailwindcss.com/docs"],
|
|
414
|
+
"tokenBudget": 1200,
|
|
415
|
+
"tags": ["tailwind", "scss", "react19"],
|
|
416
|
+
"repoRoles": ["next-app", "react-app", "vite-app"],
|
|
417
|
+
"requiresAny": [
|
|
418
|
+
{ "dependency": "tailwindcss" },
|
|
419
|
+
{ "dependency": "sass" },
|
|
420
|
+
{ "dependency": "scss" }
|
|
421
|
+
],
|
|
422
|
+
"ecosystem": "react",
|
|
423
|
+
"tokenEstimate": 1800,
|
|
424
|
+
"installMode": "copy-selected"
|
|
425
|
+
},
|
|
426
|
+
{
|
|
427
|
+
"id": "haus.vue-patterns",
|
|
428
|
+
"source": "haus",
|
|
429
|
+
"type": "skill",
|
|
430
|
+
"path": "tests/fixtures/catalog/skills/vue-patterns",
|
|
431
|
+
"title": "Haus Vue patterns",
|
|
432
|
+
"purpose": "Guide Vue component/composable/state behavior changes.",
|
|
433
|
+
"whenToUse": "Use for Vue component, composable, route, and state-boundary updates.",
|
|
434
|
+
"whenNotToUse": "Do not use for React/Next-only component work.",
|
|
435
|
+
"references": ["references/scope.md", "references/workflow.md", "https://vuejs.org/guide"],
|
|
436
|
+
"tokenBudget": 1200,
|
|
437
|
+
"tags": ["vue"],
|
|
438
|
+
"repoRoles": ["vue-app"],
|
|
439
|
+
"requiresAny": [
|
|
440
|
+
{ "stack": "vue" },
|
|
441
|
+
{ "dependency": "vue" }
|
|
442
|
+
],
|
|
443
|
+
"ecosystem": "vue",
|
|
444
|
+
"tokenEstimate": 2000,
|
|
445
|
+
"installMode": "copy-selected"
|
|
446
|
+
},
|
|
447
|
+
{
|
|
448
|
+
"id": "haus.laravel-nova-patterns",
|
|
449
|
+
"source": "haus",
|
|
450
|
+
"type": "skill",
|
|
451
|
+
"path": "tests/fixtures/catalog/skills/laravel-nova-patterns",
|
|
452
|
+
"title": "Haus Laravel Nova patterns",
|
|
453
|
+
"purpose": "Guide Nova admin resources, actions, and policy-safe field behavior.",
|
|
454
|
+
"whenToUse": "Use for Laravel Nova resources, actions, filters, and admin UI behavior.",
|
|
455
|
+
"whenNotToUse": "Do not use for customer-facing API/domain-only changes.",
|
|
456
|
+
"references": ["references/scope.md", "references/workflow.md", "https://laravel.com/docs"],
|
|
457
|
+
"tokenBudget": 1200,
|
|
458
|
+
"tags": ["laravel-nova", "laravel"],
|
|
459
|
+
"repoRoles": ["laravel-nova-app"],
|
|
460
|
+
"requiresAny": [
|
|
461
|
+
{ "dependency": "laravel/nova" }
|
|
462
|
+
],
|
|
463
|
+
"ecosystem": "laravel",
|
|
464
|
+
"tokenEstimate": 2600,
|
|
465
|
+
"installMode": "copy-selected"
|
|
466
|
+
},
|
|
467
|
+
{
|
|
468
|
+
"id": "haus.wordpress-bedrock-patterns",
|
|
469
|
+
"source": "haus",
|
|
470
|
+
"type": "skill",
|
|
471
|
+
"path": "tests/fixtures/catalog/skills/wordpress-bedrock-patterns",
|
|
472
|
+
"title": "Haus WordPress Bedrock patterns",
|
|
473
|
+
"purpose": "Guide Bedrock config/bootstrap and environment-aware WP deployment layout.",
|
|
474
|
+
"whenToUse": "Use for Bedrock config, env loading, and boot path behavior updates.",
|
|
475
|
+
"whenNotToUse": "Do not use for hook/template-only WordPress runtime changes.",
|
|
476
|
+
"references": ["references/scope.md", "references/workflow.md", "https://developer.wordpress.org/"],
|
|
477
|
+
"tokenBudget": 1200,
|
|
478
|
+
"tags": ["wordpress", "bedrock"],
|
|
479
|
+
"repoRoles": ["wordpress-bedrock-site"],
|
|
480
|
+
"requiresAny": [
|
|
481
|
+
{ "role": "wordpress-bedrock-site" },
|
|
482
|
+
{ "dependency": "roots/bedrock" }
|
|
483
|
+
],
|
|
484
|
+
"ecosystem": "wordpress",
|
|
485
|
+
"tokenEstimate": 2600,
|
|
486
|
+
"installMode": "copy-selected"
|
|
487
|
+
},
|
|
488
|
+
{
|
|
489
|
+
"id": "haus.wordpress-acf-elementor-jetengine-patterns",
|
|
490
|
+
"source": "haus",
|
|
491
|
+
"type": "skill",
|
|
492
|
+
"path": "tests/fixtures/catalog/skills/wordpress-acf-elementor-jetengine-patterns",
|
|
493
|
+
"title": "Haus WordPress ACF Elementor JetEngine patterns",
|
|
494
|
+
"purpose": "Guide builder-field/meta-template wiring for ACF, Elementor Pro, and JetEngine.",
|
|
495
|
+
"whenToUse": "Use for ACF field groups and Elementor/JetEngine-driven dynamic template behavior.",
|
|
496
|
+
"whenNotToUse": "Do not use for generic WordPress hooks with no builder/meta impact.",
|
|
497
|
+
"references": ["references/scope.md", "references/workflow.md", "https://developer.wordpress.org/"],
|
|
498
|
+
"tokenBudget": 1200,
|
|
499
|
+
"tags": ["wordpress"],
|
|
500
|
+
"repoRoles": ["wordpress-bedrock-site", "wordpress-vanilla-site"],
|
|
501
|
+
"requiresAny": [
|
|
502
|
+
{ "role": "wordpress-bedrock-site" },
|
|
503
|
+
{ "role": "wordpress-vanilla-site" },
|
|
504
|
+
{ "stack": "wordpress" }
|
|
505
|
+
],
|
|
506
|
+
"ecosystem": "wordpress",
|
|
507
|
+
"tokenEstimate": 2600,
|
|
508
|
+
"installMode": "copy-selected"
|
|
509
|
+
},
|
|
510
|
+
{
|
|
511
|
+
"id": "haus.dotnet-service-patterns",
|
|
512
|
+
"source": "haus",
|
|
513
|
+
"type": "skill",
|
|
514
|
+
"path": "tests/fixtures/catalog/skills/dotnet-service-patterns",
|
|
515
|
+
"title": "Haus dotnet service patterns",
|
|
516
|
+
"purpose": "Guide .NET service-layer contract and orchestration changes.",
|
|
517
|
+
"whenToUse": "Use for .NET service boundary, orchestration, and handler behavior updates.",
|
|
518
|
+
"whenNotToUse": "Do not use for route formatting-only tasks with no service impact.",
|
|
519
|
+
"references": ["references/scope.md", "references/workflow.md"],
|
|
520
|
+
"tokenBudget": 1200,
|
|
521
|
+
"tags": ["dotnet"],
|
|
522
|
+
"repoRoles": ["dotnet-service"],
|
|
523
|
+
"requiresAny": [{ "stack": "dotnet" }, { "role": "dotnet-service" }],
|
|
524
|
+
"ecosystem": "dotnet",
|
|
525
|
+
"tokenEstimate": 2300,
|
|
526
|
+
"installMode": "copy-selected"
|
|
527
|
+
},
|
|
528
|
+
{
|
|
529
|
+
"id": "haus.auth-oidc-azure-bankid-patterns",
|
|
530
|
+
"source": "haus",
|
|
531
|
+
"type": "skill",
|
|
532
|
+
"path": "tests/fixtures/catalog/skills/auth-oidc-azure-bankid-patterns",
|
|
533
|
+
"title": "Haus auth patterns",
|
|
534
|
+
"purpose": "Guide identity-provider auth flow and claim/session lifecycle changes.",
|
|
535
|
+
"whenToUse": "Use for OIDC/Azure AD/BankID login, callback, token, and claim mapping updates.",
|
|
536
|
+
"whenNotToUse": "Do not use for profile CRUD without auth protocol change.",
|
|
537
|
+
"references": ["references/scope.md", "references/workflow.md"],
|
|
538
|
+
"tokenBudget": 1200,
|
|
539
|
+
"tags": ["oidc", "azure-ad", "bankid"],
|
|
540
|
+
"repoRoles": [],
|
|
541
|
+
"requiresAny": [
|
|
542
|
+
{ "stack": "oidc" },
|
|
543
|
+
{ "stack": "azure-ad" },
|
|
544
|
+
{ "stack": "bankid" }
|
|
545
|
+
],
|
|
546
|
+
"tokenEstimate": 1700,
|
|
547
|
+
"installMode": "copy-selected"
|
|
548
|
+
},
|
|
549
|
+
{
|
|
550
|
+
"id": "haus.database-patterns",
|
|
551
|
+
"source": "haus",
|
|
552
|
+
"type": "skill",
|
|
553
|
+
"path": "tests/fixtures/catalog/skills/database-patterns",
|
|
554
|
+
"title": "Haus database patterns",
|
|
555
|
+
"purpose": "Guide schema/query/index/search changes across supported data engines.",
|
|
556
|
+
"whenToUse": "Use for migrations, query behavior, indexing, and Elasticsearch mapping updates.",
|
|
557
|
+
"whenNotToUse": "Do not use for UI-only changes without persistence/search impact.",
|
|
558
|
+
"references": ["references/scope.md", "references/workflow.md"],
|
|
559
|
+
"tokenBudget": 1200,
|
|
560
|
+
"tags": ["postgresql", "mariadb", "mssql", "elasticsearch"],
|
|
561
|
+
"repoRoles": [],
|
|
562
|
+
"requiresAny": [
|
|
563
|
+
{ "stack": "postgresql" },
|
|
564
|
+
{ "stack": "mariadb" },
|
|
565
|
+
{ "stack": "mssql" },
|
|
566
|
+
{ "stack": "elasticsearch" }
|
|
567
|
+
],
|
|
568
|
+
"tokenEstimate": 1700,
|
|
569
|
+
"installMode": "copy-selected"
|
|
570
|
+
},
|
|
571
|
+
{
|
|
572
|
+
"id": "haus.package-manager-yarn4-pnpm89",
|
|
573
|
+
"source": "haus",
|
|
574
|
+
"type": "skill",
|
|
575
|
+
"path": "tests/fixtures/catalog/skills/package-manager-yarn4-pnpm89",
|
|
576
|
+
"title": "Haus package manager patterns",
|
|
577
|
+
"purpose": "Guide deterministic dependency/workspace changes for Yarn4 and pnpm89.",
|
|
578
|
+
"whenToUse": "Use for lockfile, workspace, and package manager configuration changes.",
|
|
579
|
+
"whenNotToUse": "Do not use for feature-only code edits with no dependency/workspace impact.",
|
|
580
|
+
"references": ["references/scope.md", "references/workflow.md"],
|
|
581
|
+
"tokenBudget": 1200,
|
|
582
|
+
"tags": ["yarn4", "pnpm89"],
|
|
583
|
+
"repoRoles": [],
|
|
584
|
+
"requiresAny": [
|
|
585
|
+
{ "stack": "yarn4" },
|
|
586
|
+
{ "stack": "pnpm89" }
|
|
587
|
+
],
|
|
588
|
+
"tokenEstimate": 1200,
|
|
589
|
+
"installMode": "copy-selected"
|
|
590
|
+
},
|
|
591
|
+
{
|
|
592
|
+
"id": "haus.testing-library-patterns",
|
|
593
|
+
"source": "haus",
|
|
594
|
+
"type": "skill",
|
|
595
|
+
"path": "tests/fixtures/catalog/skills/testing-library-patterns",
|
|
596
|
+
"title": "Haus testing library patterns",
|
|
597
|
+
"purpose": "Guide user-visible behavior testing with Testing Library.",
|
|
598
|
+
"whenToUse": "Use for component interaction tests with @testing-library tooling.",
|
|
599
|
+
"whenNotToUse": "Do not use for full browser journey tests better served by Playwright.",
|
|
600
|
+
"references": ["references/scope.md", "references/workflow.md", "https://vitest.dev/guide"],
|
|
601
|
+
"tokenBudget": 1200,
|
|
602
|
+
"tags": ["testing-library"],
|
|
603
|
+
"repoRoles": [],
|
|
604
|
+
"requiresAny": [
|
|
605
|
+
{ "stack": "testing-library" },
|
|
606
|
+
{ "dependency": "@testing-library/react" },
|
|
607
|
+
{ "dependency": "@testing-library/dom" },
|
|
608
|
+
{ "packageNamePattern": "@testing-library/*" }
|
|
609
|
+
],
|
|
610
|
+
"tokenEstimate": 1500,
|
|
611
|
+
"installMode": "copy-selected"
|
|
612
|
+
},
|
|
613
|
+
{
|
|
614
|
+
"id": "haus.phpunit-patterns",
|
|
615
|
+
"source": "haus",
|
|
616
|
+
"type": "skill",
|
|
617
|
+
"path": "tests/fixtures/catalog/skills/phpunit-patterns",
|
|
618
|
+
"title": "Haus PHPUnit patterns",
|
|
619
|
+
"purpose": "Guide PHPUnit feature/unit test changes for PHP/Laravel behavior.",
|
|
620
|
+
"whenToUse": "Use for PHPUnit tests tied to backend behavior updates.",
|
|
621
|
+
"whenNotToUse": "Do not use for frontend/browser-only test tasks.",
|
|
622
|
+
"references": ["references/scope.md", "references/workflow.md", "https://laravel.com/docs"],
|
|
623
|
+
"tokenBudget": 1200,
|
|
624
|
+
"tags": ["phpunit"],
|
|
625
|
+
"repoRoles": ["laravel-app", "laravel-nova-app"],
|
|
626
|
+
"requiresAny": [
|
|
627
|
+
{ "stack": "phpunit" },
|
|
628
|
+
{ "dependency": "phpunit/phpunit" }
|
|
629
|
+
],
|
|
630
|
+
"ecosystem": "laravel",
|
|
631
|
+
"tokenEstimate": 1500,
|
|
632
|
+
"installMode": "copy-selected"
|
|
633
|
+
},
|
|
634
|
+
{
|
|
635
|
+
"id": "haus.storybook-patterns",
|
|
636
|
+
"source": "haus",
|
|
637
|
+
"type": "skill",
|
|
638
|
+
"path": "tests/fixtures/catalog/skills/storybook-patterns",
|
|
639
|
+
"title": "Haus Storybook patterns",
|
|
640
|
+
"purpose": "Guide story coverage and component API documentation updates.",
|
|
641
|
+
"whenToUse": "Use for component stories, args/controls, and Storybook config changes.",
|
|
642
|
+
"whenNotToUse": "Do not use for backend/service-only development tasks.",
|
|
643
|
+
"references": ["references/scope.md", "references/workflow.md", "https://storybook.js.org/docs"],
|
|
644
|
+
"tokenBudget": 1200,
|
|
645
|
+
"tags": ["storybook"],
|
|
646
|
+
"repoRoles": ["react-app", "next-app", "vite-app"],
|
|
647
|
+
"requiresAny": [
|
|
648
|
+
{ "stack": "storybook" },
|
|
649
|
+
{ "dependency": "storybook" },
|
|
650
|
+
{ "dependency": "@storybook/react" },
|
|
651
|
+
{ "packageNamePattern": "@storybook/*" }
|
|
652
|
+
],
|
|
653
|
+
"ecosystem": "react",
|
|
654
|
+
"tokenEstimate": 1500,
|
|
655
|
+
"installMode": "copy-selected"
|
|
656
|
+
},
|
|
657
|
+
{
|
|
658
|
+
"id": "haus.security-review",
|
|
659
|
+
"source": "haus",
|
|
660
|
+
"type": "skill",
|
|
661
|
+
"path": "tests/fixtures/catalog/skills/security-review",
|
|
662
|
+
"title": "Haus security review",
|
|
663
|
+
"purpose": "Route bounded security review with structured findings and explicit verification.",
|
|
664
|
+
"whenToUse": "Use when the user requests security review, threat check, or hardening on a named scope.",
|
|
665
|
+
"whenNotToUse": "Do not use for unscoped repo sweeps, exploit development, or non-security tasks.",
|
|
666
|
+
"references": [
|
|
667
|
+
"references/output-shape.md",
|
|
668
|
+
"references/scope-signals.md",
|
|
669
|
+
"references/verification.md"
|
|
670
|
+
],
|
|
671
|
+
"tokenBudget": 800,
|
|
672
|
+
"tags": ["security", "review"],
|
|
673
|
+
"repoRoles": [],
|
|
674
|
+
"requiresAny": [],
|
|
675
|
+
"tokenEstimate": 1200,
|
|
676
|
+
"installMode": "copy-selected"
|
|
677
|
+
},
|
|
678
|
+
{
|
|
679
|
+
"id": "haus.production-readiness-review",
|
|
680
|
+
"source": "haus",
|
|
681
|
+
"type": "skill",
|
|
682
|
+
"path": "tests/fixtures/catalog/skills/production-readiness-review",
|
|
683
|
+
"title": "Haus production readiness review",
|
|
684
|
+
"purpose": "Route release readiness checks with evidence-based gaps and rollback notes.",
|
|
685
|
+
"whenToUse": "Use when the user asks for ship checklist, release risk review, or go-live readiness on a defined change set.",
|
|
686
|
+
"whenNotToUse": "Do not use for pure feature design with no release surface or undefined release boundary.",
|
|
687
|
+
"references": ["references/signals.md", "references/evidence.md", "references/rollback.md"],
|
|
688
|
+
"tokenBudget": 800,
|
|
689
|
+
"tags": ["quality", "security", "review"],
|
|
690
|
+
"repoRoles": [],
|
|
691
|
+
"requiresAny": [],
|
|
692
|
+
"tokenEstimate": 1200,
|
|
693
|
+
"installMode": "copy-selected"
|
|
694
|
+
}
|
|
695
|
+
]
|
|
696
|
+
}
|