start-vibing-stacks 2.18.0 → 2.20.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.
@@ -20,7 +20,8 @@
20
20
  { "name": "TypeCheck", "command": "bun run typecheck", "required": true, "order": 1 },
21
21
  { "name": "Lint", "command": "bun run lint", "required": true, "order": 2 },
22
22
  { "name": "Tests", "command": "bun run test", "required": true, "order": 3 },
23
- { "name": "Build", "command": "bun run build", "required": true, "order": 4 }
23
+ { "name": "RouteSlugs", "command": "node scripts/check-route-slugs.mjs", "required": true, "order": 4, "appliesTo": ["nextjs"], "description": "Static Next.js dynamic-route slug consistency check. `next build` does not catch this class of bug." },
24
+ { "name": "Build", "command": "bun run build", "required": true, "order": 5 }
24
25
  ],
25
26
  "frameworks": [
26
27
  {
@@ -35,6 +35,17 @@ jobs:
35
35
  - name: Unit tests
36
36
  run: bun run test
37
37
 
38
+ - name: Next.js route slug consistency
39
+ # `next build` does NOT catch mismatched dynamic-segment names
40
+ # (e.g. mixing [id] and [userId] under the same parent). This
41
+ # script catches it statically before build, in milliseconds.
42
+ # Skips with exit 2 on non-Next.js repos (treated as success here).
43
+ run: |
44
+ if [ -f scripts/check-route-slugs.mjs ]; then
45
+ node scripts/check-route-slugs.mjs || code=$?
46
+ if [ "${code:-0}" = "1" ]; then exit 1; fi
47
+ fi
48
+
38
49
  - name: Build
39
50
  run: bun run build
40
51