@haus-tech/haus-workflow 0.3.0 → 0.4.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 CHANGED
@@ -1,5 +1,11 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.4.0](https://github.com/WeAreHausTech/haus-workflow/compare/v0.3.0...v0.4.0) (2026-05-28)
4
+
5
+ ### Features
6
+
7
+ * **scanner:** detect react-router-v7, tailwind, shadcn; rename typescript6 → typescript5 (T8-T11) ([d98d813](https://github.com/WeAreHausTech/haus-workflow/commit/d98d813c7e52df68ae7f55ceb23bd9016e2d8308))
8
+
3
9
  ## [0.3.0](https://github.com/WeAreHausTech/haus-workflow/compare/v0.2.2...v0.3.0) (2026-05-28)
4
10
 
5
11
  ### Features
package/dist/cli.js CHANGED
@@ -1418,6 +1418,7 @@ function detectRoles(deps, files) {
1418
1418
  if (deps.includes("next") || files.some((f) => f.includes("next.config."))) roles.add("next-app");
1419
1419
  if (deps.includes("react")) roles.add("react-app");
1420
1420
  if (deps.includes("vite") || files.some((f) => f.includes("vite.config."))) roles.add("vite-app");
1421
+ if (deps.includes("react-router") && deps.includes("@react-router/node")) roles.add("react-router-app");
1421
1422
  if (deps.includes("@vendure/core")) roles.add("vendure-app");
1422
1423
  if (deps.some((d) => d.startsWith("@haus/vendure-")) || files.some((f) => f.includes("vendure-config")))
1423
1424
  roles.add("vendure-plugin");
@@ -1461,6 +1462,14 @@ async function detectStacks(root, deps, files, packageManager) {
1461
1462
  if (deps.includes("react")) add("frontend", "react19");
1462
1463
  if (deps.includes("vue")) add("frontend", "vue");
1463
1464
  if (deps.includes("vite")) add("frontend", "vite8");
1465
+ if (deps.includes("react-router") && deps.includes("@react-router/node")) add("frontend", "react-router-v7");
1466
+ if (deps.includes("tailwindcss") || files.some((f) => f.includes("tailwind.config."))) {
1467
+ add("frontend", "tailwindcss");
1468
+ }
1469
+ if (files.some((f) => f.endsWith("components.json")) && deps.includes("class-variance-authority")) {
1470
+ add("frontend", "shadcn");
1471
+ }
1472
+ if (deps.includes("typescript")) add("tooling", "typescript5");
1464
1473
  if (deps.includes("@vendure/core")) add("backend", "vendure3");
1465
1474
  if (deps.includes("@nestjs/core")) add("backend", "nestjs");
1466
1475
  if (await hasNeedle(root, files, "NestFactory")) add("backend", "nestjs");
@@ -28,7 +28,7 @@
28
28
  "turbo",
29
29
  "nextjs",
30
30
  "react19",
31
- "typescript6",
31
+ "typescript5",
32
32
  "vite8",
33
33
  "tanstack-query",
34
34
  "tanstack-router",
@@ -107,12 +107,12 @@
107
107
  "installMode": "copy-selected"
108
108
  },
109
109
  {
110
- "id": "haus.typescript6-patterns",
111
- "version": "1.0.0",
110
+ "id": "haus.typescript5-patterns",
111
+ "version": "1.1.0",
112
112
  "source": "haus",
113
113
  "type": "skill",
114
- "path": "skills/typescript6-patterns",
115
- "title": "Haus TypeScript patterns",
114
+ "path": "skills/typescript5-patterns",
115
+ "title": "Haus TypeScript 5 patterns",
116
116
  "purpose": "Guide TypeScript contract and migration-safe typing changes.",
117
117
  "whenToUse": "Use for shared types, DTOs, interface boundaries, and type-safe refactors.",
118
118
  "whenNotToUse": "Do not use for runtime-only changes without type-contract impact.",
@@ -137,6 +137,9 @@
137
137
  "shared-package"
138
138
  ],
139
139
  "requiresAny": [
140
+ {
141
+ "stack": "typescript5"
142
+ },
140
143
  {
141
144
  "stack": "typescript"
142
145
  },
@@ -188,6 +191,47 @@
188
191
  "tokenEstimate": 1800,
189
192
  "installMode": "copy-selected"
190
193
  },
194
+ {
195
+ "id": "haus.react-router-v7-patterns",
196
+ "version": "1.0.0",
197
+ "source": "haus",
198
+ "type": "skill",
199
+ "path": "skills/react-router-v7-patterns",
200
+ "title": "Haus React Router v7 patterns",
201
+ "purpose": "Guide React Router v7 SSR route, loader, and action boundary changes.",
202
+ "whenToUse": "Use for routes, loaders, actions, and SSR config in React Router v7 apps.",
203
+ "whenNotToUse": "Do not use for Next.js App Router or Remix v1 codebases.",
204
+ "references": [
205
+ "references/conventions.md",
206
+ "references/scope.md",
207
+ "references/workflow.md",
208
+ "https://reactrouter.com/start/framework/installation"
209
+ ],
210
+ "tokenBudget": 1200,
211
+ "tags": [
212
+ "frontend",
213
+ "react",
214
+ "typescript"
215
+ ],
216
+ "repoRoles": [
217
+ "react-router-app",
218
+ "react-app"
219
+ ],
220
+ "requiresAny": [
221
+ {
222
+ "stack": "react-router-v7"
223
+ },
224
+ {
225
+ "role": "react-router-app"
226
+ },
227
+ {
228
+ "dependency": "@react-router/node"
229
+ }
230
+ ],
231
+ "ecosystem": "react",
232
+ "tokenEstimate": 2000,
233
+ "installMode": "copy-selected"
234
+ },
191
235
  {
192
236
  "id": "haus.vendure-plugin-patterns",
193
237
  "version": "1.0.0",
@@ -521,7 +565,7 @@
521
565
  "tags": [
522
566
  "nestjs",
523
567
  "graphql",
524
- "typescript6"
568
+ "typescript5"
525
569
  ],
526
570
  "repoRoles": [
527
571
  "nestjs-api"
@@ -663,7 +707,7 @@
663
707
  },
664
708
  {
665
709
  "id": "haus.radix-shadcn-patterns",
666
- "version": "1.0.0",
710
+ "version": "1.1.0",
667
711
  "source": "haus",
668
712
  "type": "skill",
669
713
  "path": "skills/radix-shadcn-patterns",
@@ -689,6 +733,9 @@
689
733
  "react-app"
690
734
  ],
691
735
  "requiresAny": [
736
+ {
737
+ "stack": "shadcn"
738
+ },
692
739
  {
693
740
  "dependency": "@radix-ui/react-dialog"
694
741
  },
@@ -857,7 +904,7 @@
857
904
  },
858
905
  {
859
906
  "id": "haus.wordpress-acf-elementor-jetengine-patterns",
860
- "version": "1.0.0",
907
+ "version": "1.1.0",
861
908
  "source": "haus",
862
909
  "type": "skill",
863
910
  "path": "skills/wordpress-acf-elementor-jetengine-patterns",
@@ -976,7 +1023,7 @@
976
1023
  },
977
1024
  {
978
1025
  "id": "haus.database-patterns",
979
- "version": "1.0.0",
1026
+ "version": "1.1.0",
980
1027
  "source": "haus",
981
1028
  "type": "skill",
982
1029
  "path": "skills/database-patterns",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@haus-tech/haus-workflow",
3
- "version": "0.3.0",
3
+ "version": "0.4.0",
4
4
  "description": "Haus AI workflow CLI for Claude Code.",
5
5
  "type": "module",
6
6
  "bin": {
@@ -58,11 +58,11 @@
58
58
  "installMode": "copy-selected"
59
59
  },
60
60
  {
61
- "id": "haus.typescript6-patterns",
61
+ "id": "haus.typescript5-patterns",
62
62
  "source": "haus",
63
63
  "type": "skill",
64
- "path": "skills/typescript6-patterns",
65
- "title": "Haus TypeScript patterns",
64
+ "path": "skills/typescript5-patterns",
65
+ "title": "Haus TypeScript 5 patterns",
66
66
  "purpose": "Guide TypeScript contract and migration-safe typing changes.",
67
67
  "whenToUse": "Use for shared types, DTOs, interface boundaries, and type-safe refactors.",
68
68
  "whenNotToUse": "Do not use for runtime-only changes without type-contract impact.",
@@ -78,6 +78,7 @@
78
78
  "shared-package"
79
79
  ],
80
80
  "requiresAny": [
81
+ { "stack": "typescript5" },
81
82
  { "stack": "typescript" },
82
83
  { "dependency": "typescript" }
83
84
  ],
@@ -105,6 +106,28 @@
105
106
  "tokenEstimate": 1800,
106
107
  "installMode": "copy-selected"
107
108
  },
109
+ {
110
+ "id": "haus.react-router-v7-patterns",
111
+ "source": "haus",
112
+ "type": "skill",
113
+ "path": "skills/react-router-v7-patterns",
114
+ "title": "Haus React Router v7 patterns",
115
+ "purpose": "Guide React Router v7 SSR route, loader, and action boundary changes.",
116
+ "whenToUse": "Use for routes, loaders, actions, and SSR config in React Router v7 apps.",
117
+ "whenNotToUse": "Do not use for Next.js App Router or Remix v1 codebases.",
118
+ "references": ["references/scope.md", "references/workflow.md", "https://reactrouter.com/start/framework/installation"],
119
+ "tokenBudget": 1200,
120
+ "tags": ["frontend", "react", "typescript"],
121
+ "repoRoles": ["react-router-app", "react-app"],
122
+ "requiresAny": [
123
+ { "stack": "react-router-v7" },
124
+ { "role": "react-router-app" },
125
+ { "dependency": "@react-router/node" }
126
+ ],
127
+ "ecosystem": "react",
128
+ "tokenEstimate": 2000,
129
+ "installMode": "copy-selected"
130
+ },
108
131
  {
109
132
  "id": "haus.vendure-plugin-patterns",
110
133
  "source": "haus",
@@ -300,7 +323,7 @@
300
323
  "whenNotToUse": "Do not use for REST-only controller tasks.",
301
324
  "references": ["references/scope.md", "references/workflow.md", "https://docs.nestjs.com/"],
302
325
  "tokenBudget": 1200,
303
- "tags": ["nestjs", "graphql", "typescript6"],
326
+ "tags": ["nestjs", "graphql", "typescript5"],
304
327
  "repoRoles": ["nestjs-api"],
305
328
  "requiresAny": [
306
329
  { "stack": "nestjs" },
@@ -391,6 +414,7 @@
391
414
  "tags": ["radix", "shadcn", "react19"],
392
415
  "repoRoles": ["next-app", "react-app"],
393
416
  "requiresAny": [
417
+ { "stack": "shadcn" },
394
418
  { "dependency": "@radix-ui/react-dialog" },
395
419
  { "dependency": "@radix-ui/themes" },
396
420
  { "dependency": "shadcn-ui" },
@@ -0,0 +1,9 @@
1
+ <!-- Fixture stub — minimal valid SKILL.md for CLI tests. -->
2
+
3
+ ## Use when
4
+
5
+ Use this skill when working with the relevant technology.
6
+
7
+ ## Do not use when
8
+
9
+ Do not use for unrelated tasks.