@nextsparkjs/ai-workflow 0.1.0-beta.100

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.
Files changed (272) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +115 -0
  3. package/claude/_docs/workflows-optimizations.md +359 -0
  4. package/claude/agents/api-tester.md +634 -0
  5. package/claude/agents/architecture-supervisor.md +1351 -0
  6. package/claude/agents/backend-developer.md +997 -0
  7. package/claude/agents/backend-validator.md +417 -0
  8. package/claude/agents/bdd-docs-writer.md +737 -0
  9. package/claude/agents/block-developer.md +677 -0
  10. package/claude/agents/code-reviewer.md +1432 -0
  11. package/claude/agents/db-developer.md +721 -0
  12. package/claude/agents/db-validator.md +407 -0
  13. package/claude/agents/demo-video-generator.md +493 -0
  14. package/claude/agents/documentation-writer.md +1268 -0
  15. package/claude/agents/frontend-developer.md +1234 -0
  16. package/claude/agents/frontend-validator.md +777 -0
  17. package/claude/agents/functional-validator.md +630 -0
  18. package/claude/agents/mock-analyst.md +387 -0
  19. package/claude/agents/product-manager.md +963 -0
  20. package/claude/agents/qa-automation.md +1762 -0
  21. package/claude/agents/release-manager.md +634 -0
  22. package/claude/agents/selectors-translator.md +262 -0
  23. package/claude/agents/unit-test-writer.md +785 -0
  24. package/claude/agents/visual-comparator.md +329 -0
  25. package/claude/agents/workflow-maintainer.md +352 -0
  26. package/claude/commands/do/README.md +88 -0
  27. package/claude/commands/do/create-api.md +64 -0
  28. package/claude/commands/do/create-entity.md +66 -0
  29. package/claude/commands/do/create-migration.md +64 -0
  30. package/claude/commands/do/create-plugin.md +56 -0
  31. package/claude/commands/do/create-theme.md +70 -0
  32. package/claude/commands/do/mock-data.md +67 -0
  33. package/claude/commands/do/reset-db.md +71 -0
  34. package/claude/commands/do/setup-scheduled-action.md +75 -0
  35. package/claude/commands/do/sync-code-review.md +117 -0
  36. package/claude/commands/do/update-selectors.md +112 -0
  37. package/claude/commands/do/use-skills.md +90 -0
  38. package/claude/commands/do/validate-blocks.md +69 -0
  39. package/claude/commands/how-to/README.md +261 -0
  40. package/claude/commands/how-to/add-metadata.md +692 -0
  41. package/claude/commands/how-to/add-taxonomies.md +806 -0
  42. package/claude/commands/how-to/add-translations.md +571 -0
  43. package/claude/commands/how-to/create-api.md +577 -0
  44. package/claude/commands/how-to/create-block.md +575 -0
  45. package/claude/commands/how-to/create-child-entities.md +771 -0
  46. package/claude/commands/how-to/create-entity.md +597 -0
  47. package/claude/commands/how-to/create-migrations.md +605 -0
  48. package/claude/commands/how-to/create-plugin.md +654 -0
  49. package/claude/commands/how-to/customize-app.md +481 -0
  50. package/claude/commands/how-to/customize-dashboard.md +553 -0
  51. package/claude/commands/how-to/customize-theme.md +438 -0
  52. package/claude/commands/how-to/define-features-flows.md +632 -0
  53. package/claude/commands/how-to/deploy.md +507 -0
  54. package/claude/commands/how-to/handle-file-uploads.md +746 -0
  55. package/claude/commands/how-to/implement-search.md +1001 -0
  56. package/claude/commands/how-to/install-plugins.md +352 -0
  57. package/claude/commands/how-to/manage-test-coverage.md +984 -0
  58. package/claude/commands/how-to/run-tests.md +400 -0
  59. package/claude/commands/how-to/set-app-languages.md +601 -0
  60. package/claude/commands/how-to/set-plans-and-permissions.md +575 -0
  61. package/claude/commands/how-to/set-scheduled-actions.md +527 -0
  62. package/claude/commands/how-to/set-user-roles-and-permissions.md +550 -0
  63. package/claude/commands/how-to/setup-authentication.md +388 -0
  64. package/claude/commands/how-to/setup-claude-code.md +440 -0
  65. package/claude/commands/how-to/setup-database.md +274 -0
  66. package/claude/commands/how-to/setup-email-providers.md +598 -0
  67. package/claude/commands/how-to/setup-mobile-dev.md +627 -0
  68. package/claude/commands/how-to/start.md +500 -0
  69. package/claude/commands/how-to/use-devtools.md +639 -0
  70. package/claude/commands/how-to/use-superadmin.md +622 -0
  71. package/claude/commands/session/README.md +193 -0
  72. package/claude/commands/session/block-create.md +190 -0
  73. package/claude/commands/session/block-list.md +203 -0
  74. package/claude/commands/session/block-update.md +192 -0
  75. package/claude/commands/session/block-validate.md +218 -0
  76. package/claude/commands/session/changelog.md +115 -0
  77. package/claude/commands/session/close.md +225 -0
  78. package/claude/commands/session/commit.md +174 -0
  79. package/claude/commands/session/db-entity.md +206 -0
  80. package/claude/commands/session/db-fix.md +212 -0
  81. package/claude/commands/session/db-sample.md +206 -0
  82. package/claude/commands/session/demo.md +178 -0
  83. package/claude/commands/session/doc-bdd.md +207 -0
  84. package/claude/commands/session/doc-feature.md +218 -0
  85. package/claude/commands/session/doc-read.md +225 -0
  86. package/claude/commands/session/execute.md +204 -0
  87. package/claude/commands/session/explain.md +202 -0
  88. package/claude/commands/session/fix-bug.md +210 -0
  89. package/claude/commands/session/fix-build.md +182 -0
  90. package/claude/commands/session/fix-test.md +189 -0
  91. package/claude/commands/session/pending.md +232 -0
  92. package/claude/commands/session/refine.md +188 -0
  93. package/claude/commands/session/resume.md +192 -0
  94. package/claude/commands/session/review.md +192 -0
  95. package/claude/commands/session/scope-change.md +181 -0
  96. package/claude/commands/session/start-blocks.md +347 -0
  97. package/claude/commands/session/start.md +604 -0
  98. package/claude/commands/session/status.md +169 -0
  99. package/claude/commands/session/test-fix.md +221 -0
  100. package/claude/commands/session/test-run.md +203 -0
  101. package/claude/commands/session/test-write.md +242 -0
  102. package/claude/commands/session/validate.md +162 -0
  103. package/claude/config/context.json +40 -0
  104. package/claude/config/github.json +69 -0
  105. package/claude/config/github.schema.json +106 -0
  106. package/claude/config/team.json +46 -0
  107. package/claude/config/team.schema.json +106 -0
  108. package/claude/config/workspace.json +43 -0
  109. package/claude/config/workspace.schema.json +75 -0
  110. package/claude/skills/README.md +228 -0
  111. package/claude/skills/accessibility/SKILL.md +573 -0
  112. package/claude/skills/api-bypass-layers/SKILL.md +550 -0
  113. package/claude/skills/asana-integration/SKILL.md +499 -0
  114. package/claude/skills/better-auth/SKILL.md +666 -0
  115. package/claude/skills/billing-subscriptions/SKILL.md +660 -0
  116. package/claude/skills/block-decision-matrix/SKILL.md +359 -0
  117. package/claude/skills/clickup-integration/SKILL.md +434 -0
  118. package/claude/skills/core-theme-responsibilities/SKILL.md +485 -0
  119. package/claude/skills/create-plugin/SKILL.md +425 -0
  120. package/claude/skills/create-theme/SKILL.md +331 -0
  121. package/claude/skills/cypress-api/SKILL.md +511 -0
  122. package/claude/skills/cypress-api/scripts/generate-api-controller.py +329 -0
  123. package/claude/skills/cypress-api/scripts/generate-api-test.py +930 -0
  124. package/claude/skills/cypress-e2e/SKILL.md +526 -0
  125. package/claude/skills/cypress-e2e/scripts/extract-selectors.py +383 -0
  126. package/claude/skills/cypress-e2e/scripts/generate-uat-test.py +788 -0
  127. package/claude/skills/cypress-selectors/SKILL.md +309 -0
  128. package/claude/skills/cypress-selectors/scripts/extract-missing.py +243 -0
  129. package/claude/skills/cypress-selectors/scripts/generate-block-selectors.py +283 -0
  130. package/claude/skills/cypress-selectors/scripts/validate-selectors.py +145 -0
  131. package/claude/skills/database-migrations/SKILL.md +335 -0
  132. package/claude/skills/database-migrations/scripts/generate-sample-data.py +284 -0
  133. package/claude/skills/database-migrations/scripts/validate-migration.py +323 -0
  134. package/claude/skills/design-system/SKILL.md +682 -0
  135. package/claude/skills/documentation/SKILL.md +540 -0
  136. package/claude/skills/entity-api/SKILL.md +482 -0
  137. package/claude/skills/entity-system/SKILL.md +635 -0
  138. package/claude/skills/entity-system/scripts/generate-child-migration.py +298 -0
  139. package/claude/skills/entity-system/scripts/generate-metas-migration.py +233 -0
  140. package/claude/skills/entity-system/scripts/generate-migration.py +382 -0
  141. package/claude/skills/entity-system/scripts/generate-sample-data.py +418 -0
  142. package/claude/skills/entity-system/scripts/scaffold-entity.py +661 -0
  143. package/claude/skills/github/SKILL.md +467 -0
  144. package/claude/skills/i18n-nextintl/SKILL.md +302 -0
  145. package/claude/skills/i18n-nextintl/scripts/add-translation.py +243 -0
  146. package/claude/skills/i18n-nextintl/scripts/extract-hardcoded.py +246 -0
  147. package/claude/skills/i18n-nextintl/scripts/validate-translations.py +260 -0
  148. package/claude/skills/impact-analysis/SKILL.md +203 -0
  149. package/claude/skills/jest-unit/SKILL.md +306 -0
  150. package/claude/skills/jest-unit/references/component-testing.md +371 -0
  151. package/claude/skills/jest-unit/references/mocking-patterns.md +380 -0
  152. package/claude/skills/jest-unit/references/service-hook-testing.md +454 -0
  153. package/claude/skills/jira-integration/SKILL.md +539 -0
  154. package/claude/skills/media-library/SKILL.md +743 -0
  155. package/claude/skills/mock-analysis/SKILL.md +276 -0
  156. package/claude/skills/monorepo-architecture/SKILL.md +162 -0
  157. package/claude/skills/nextjs-api-development/SKILL.md +364 -0
  158. package/claude/skills/nextjs-api-development/scripts/generate-crud-tests.py +456 -0
  159. package/claude/skills/nextjs-api-development/scripts/scaffold-endpoint.py +481 -0
  160. package/claude/skills/nextjs-api-development/scripts/validate-api.py +283 -0
  161. package/claude/skills/notion-integration/SKILL.md +641 -0
  162. package/claude/skills/npm-development-workflow/SKILL.md +480 -0
  163. package/claude/skills/page-builder-blocks/SKILL.md +530 -0
  164. package/claude/skills/page-builder-blocks/scripts/scaffold-block.py +444 -0
  165. package/claude/skills/permissions-system/SKILL.md +619 -0
  166. package/claude/skills/plugins/SKILL.md +340 -0
  167. package/claude/skills/plugins/references/plugin-templates.md +414 -0
  168. package/claude/skills/plugins/references/plugin-testing.md +353 -0
  169. package/claude/skills/plugins/references/plugin-types.md +198 -0
  170. package/claude/skills/plugins/scripts/scaffold-plugin.py +443 -0
  171. package/claude/skills/pom-patterns/SKILL.md +452 -0
  172. package/claude/skills/pom-patterns/scripts/generate-pom.py +392 -0
  173. package/claude/skills/rate-limiting/SKILL.md +342 -0
  174. package/claude/skills/react-best-practices/AGENTS.md +2410 -0
  175. package/claude/skills/react-best-practices/README.md +123 -0
  176. package/claude/skills/react-best-practices/SKILL.md +125 -0
  177. package/claude/skills/react-best-practices/metadata.json +15 -0
  178. package/claude/skills/react-best-practices/rules/_sections.md +46 -0
  179. package/claude/skills/react-best-practices/rules/_template.md +28 -0
  180. package/claude/skills/react-best-practices/rules/advanced-event-handler-refs.md +55 -0
  181. package/claude/skills/react-best-practices/rules/advanced-use-latest.md +49 -0
  182. package/claude/skills/react-best-practices/rules/async-api-routes.md +38 -0
  183. package/claude/skills/react-best-practices/rules/async-defer-await.md +80 -0
  184. package/claude/skills/react-best-practices/rules/async-dependencies.md +36 -0
  185. package/claude/skills/react-best-practices/rules/async-parallel.md +28 -0
  186. package/claude/skills/react-best-practices/rules/async-suspense-boundaries.md +99 -0
  187. package/claude/skills/react-best-practices/rules/bundle-barrel-imports.md +59 -0
  188. package/claude/skills/react-best-practices/rules/bundle-conditional.md +31 -0
  189. package/claude/skills/react-best-practices/rules/bundle-defer-third-party.md +49 -0
  190. package/claude/skills/react-best-practices/rules/bundle-dynamic-imports.md +35 -0
  191. package/claude/skills/react-best-practices/rules/bundle-preload.md +50 -0
  192. package/claude/skills/react-best-practices/rules/client-event-listeners.md +74 -0
  193. package/claude/skills/react-best-practices/rules/client-localstorage-schema.md +71 -0
  194. package/claude/skills/react-best-practices/rules/client-passive-event-listeners.md +48 -0
  195. package/claude/skills/react-best-practices/rules/client-swr-dedup.md +56 -0
  196. package/claude/skills/react-best-practices/rules/js-batch-dom-css.md +82 -0
  197. package/claude/skills/react-best-practices/rules/js-cache-function-results.md +80 -0
  198. package/claude/skills/react-best-practices/rules/js-cache-property-access.md +28 -0
  199. package/claude/skills/react-best-practices/rules/js-cache-storage.md +70 -0
  200. package/claude/skills/react-best-practices/rules/js-combine-iterations.md +32 -0
  201. package/claude/skills/react-best-practices/rules/js-early-exit.md +50 -0
  202. package/claude/skills/react-best-practices/rules/js-hoist-regexp.md +45 -0
  203. package/claude/skills/react-best-practices/rules/js-index-maps.md +37 -0
  204. package/claude/skills/react-best-practices/rules/js-length-check-first.md +49 -0
  205. package/claude/skills/react-best-practices/rules/js-min-max-loop.md +82 -0
  206. package/claude/skills/react-best-practices/rules/js-set-map-lookups.md +24 -0
  207. package/claude/skills/react-best-practices/rules/js-tosorted-immutable.md +57 -0
  208. package/claude/skills/react-best-practices/rules/rendering-activity.md +26 -0
  209. package/claude/skills/react-best-practices/rules/rendering-animate-svg-wrapper.md +47 -0
  210. package/claude/skills/react-best-practices/rules/rendering-conditional-render.md +40 -0
  211. package/claude/skills/react-best-practices/rules/rendering-content-visibility.md +38 -0
  212. package/claude/skills/react-best-practices/rules/rendering-hoist-jsx.md +46 -0
  213. package/claude/skills/react-best-practices/rules/rendering-hydration-no-flicker.md +82 -0
  214. package/claude/skills/react-best-practices/rules/rendering-svg-precision.md +28 -0
  215. package/claude/skills/react-best-practices/rules/rerender-defer-reads.md +39 -0
  216. package/claude/skills/react-best-practices/rules/rerender-dependencies.md +45 -0
  217. package/claude/skills/react-best-practices/rules/rerender-derived-state.md +29 -0
  218. package/claude/skills/react-best-practices/rules/rerender-functional-setstate.md +74 -0
  219. package/claude/skills/react-best-practices/rules/rerender-lazy-state-init.md +58 -0
  220. package/claude/skills/react-best-practices/rules/rerender-memo.md +44 -0
  221. package/claude/skills/react-best-practices/rules/rerender-transitions.md +40 -0
  222. package/claude/skills/react-best-practices/rules/server-after-nonblocking.md +73 -0
  223. package/claude/skills/react-best-practices/rules/server-cache-lru.md +41 -0
  224. package/claude/skills/react-best-practices/rules/server-cache-react.md +76 -0
  225. package/claude/skills/react-best-practices/rules/server-parallel-fetching.md +83 -0
  226. package/claude/skills/react-best-practices/rules/server-serialization.md +38 -0
  227. package/claude/skills/react-patterns/SKILL.md +688 -0
  228. package/claude/skills/registry-system/SKILL.md +331 -0
  229. package/claude/skills/scheduled-actions/SKILL.md +671 -0
  230. package/claude/skills/scope-enforcement/SKILL.md +542 -0
  231. package/claude/skills/scope-enforcement/scripts/validate-scope.py +357 -0
  232. package/claude/skills/server-actions/SKILL.md +493 -0
  233. package/claude/skills/service-layer/SKILL.md +587 -0
  234. package/claude/skills/session-management/SKILL.md +266 -0
  235. package/claude/skills/session-management/scripts/create-session.py +166 -0
  236. package/claude/skills/session-management/scripts/iteration-close.sh +105 -0
  237. package/claude/skills/session-management/scripts/iteration-init.sh +180 -0
  238. package/claude/skills/session-management/scripts/session-archive.sh +87 -0
  239. package/claude/skills/session-management/scripts/session-close.sh +133 -0
  240. package/claude/skills/session-management/scripts/session-init.sh +225 -0
  241. package/claude/skills/session-management/scripts/session-list.sh +163 -0
  242. package/claude/skills/session-management/scripts/split-plan.sh +116 -0
  243. package/claude/skills/shadcn-components/SKILL.md +586 -0
  244. package/claude/skills/shadcn-theming/SKILL.md +446 -0
  245. package/claude/skills/suspense-loading/SKILL.md +280 -0
  246. package/claude/skills/tailwind-theming/SKILL.md +507 -0
  247. package/claude/skills/tanstack-query/SKILL.md +608 -0
  248. package/claude/skills/test-coverage/SKILL.md +239 -0
  249. package/claude/skills/web-design-guidelines/SKILL.md +39 -0
  250. package/claude/skills/zod-validation/SKILL.md +537 -0
  251. package/claude/templates/blocks/progress.md +86 -0
  252. package/claude/templates/iteration/changes.md +61 -0
  253. package/claude/templates/iteration/progress.md +55 -0
  254. package/claude/templates/log.md +31 -0
  255. package/claude/templates/story/context.md +77 -0
  256. package/claude/templates/story/pendings.md +37 -0
  257. package/claude/templates/story/plan.md +299 -0
  258. package/claude/templates/story/requirements.md +109 -0
  259. package/claude/templates/story/scope.json +10 -0
  260. package/claude/templates/story/tests.md +91 -0
  261. package/claude/templates/task/progress.md +58 -0
  262. package/claude/templates/task/requirements.md +54 -0
  263. package/claude/workflows/README.md +154 -0
  264. package/claude/workflows/blocks.md +614 -0
  265. package/claude/workflows/story.md +1207 -0
  266. package/claude/workflows/task.md +927 -0
  267. package/claude/workflows/tweak.md +527 -0
  268. package/cursor/.gitkeep +0 -0
  269. package/package.json +35 -0
  270. package/scripts/postinstall.mjs +198 -0
  271. package/scripts/setup.mjs +282 -0
  272. package/scripts/sync.mjs +209 -0
@@ -0,0 +1,192 @@
1
+ # /session:block:update
2
+
3
+ Modify an existing page builder block.
4
+
5
+ ---
6
+
7
+ ## Required Skills
8
+
9
+ **[MANDATORY]** Read before executing:
10
+ - `.claude/skills/page-builder-blocks/SKILL.md` - Block development patterns
11
+
12
+ ---
13
+
14
+ ## Syntax
15
+
16
+ ```
17
+ /session:block:update <block-name> [--theme <name>]
18
+ ```
19
+
20
+ ---
21
+
22
+ ## Behavior
23
+
24
+ Updates an existing block while maintaining backward compatibility.
25
+
26
+ ---
27
+
28
+ ## Flow
29
+
30
+ ```
31
+ ┌─────────────────────────────────────────────────────────────────┐
32
+ │ /session:block:update │
33
+ ├─────────────────────────────────────────────────────────────────┤
34
+ │ │
35
+ │ 1. Locate block in theme │
36
+ │ ↓ │
37
+ │ 2. Read current structure │
38
+ │ - config.ts │
39
+ │ - schema.ts │
40
+ │ - fields.ts │
41
+ │ - component.tsx │
42
+ │ ↓ │
43
+ │ 3. Ask what to modify │
44
+ │ - Add field? │
45
+ │ - Modify field? │
46
+ │ - Update component? │
47
+ │ ↓ │
48
+ │ 4. Apply changes │
49
+ │ - Update schema │
50
+ │ - Update fields │
51
+ │ - Update component │
52
+ │ ↓ │
53
+ │ 5. Ensure backward compatibility │
54
+ │ - New fields have defaults │
55
+ │ - Existing data still works │
56
+ │ ↓ │
57
+ │ 6. Rebuild and validate │
58
+ │ │
59
+ └─────────────────────────────────────────────────────────────────┘
60
+ ```
61
+
62
+ ---
63
+
64
+ ## Example Output
65
+
66
+ ```
67
+ 🧱 UPDATE BLOCK
68
+
69
+ Block: hero-banner
70
+ Theme: default
71
+ Location: contents/themes/default/blocks/hero-banner/
72
+
73
+ ─────────────────────────────────────────
74
+
75
+ 📋 CURRENT STRUCTURE
76
+
77
+ Fields:
78
+ ├─ title: string (required)
79
+ ├─ subtitle: string (optional)
80
+ ├─ backgroundImage: string (optional)
81
+ └─ cta: object (optional)
82
+ ├─ label: string
83
+ └─ href: string
84
+
85
+ ─────────────────────────────────────────
86
+
87
+ What would you like to modify?
88
+ [1] Add new field
89
+ [2] Modify existing field
90
+ [3] Remove field
91
+ [4] Update component logic
92
+ [5] Update styling
93
+
94
+ > 1
95
+
96
+ ─────────────────────────────────────────
97
+
98
+ 📝 ADD NEW FIELD
99
+
100
+ Field name?
101
+ > overlay
102
+
103
+ Field type?
104
+ [1] string
105
+ [2] number
106
+ [3] boolean
107
+ [4] select (enum)
108
+ [5] object
109
+
110
+ > 4
111
+
112
+ Select options?
113
+ > none, light, dark
114
+
115
+ Default value?
116
+ > none
117
+
118
+ ─────────────────────────────────────────
119
+
120
+ 🔧 APPLYING CHANGES
121
+
122
+ Updating schema.ts...
123
+ + overlay: z.enum(['none', 'light', 'dark']).default('none'),
124
+ ✓ Schema updated
125
+
126
+ Updating fields.ts...
127
+ + {
128
+ + name: 'overlay',
129
+ + type: 'select',
130
+ + label: 'Overlay',
131
+ + options: [
132
+ + { value: 'none', label: 'None' },
133
+ + { value: 'light', label: 'Light' },
134
+ + { value: 'dark', label: 'Dark' },
135
+ + ],
136
+ + }
137
+ ✓ Fields updated
138
+
139
+ Updating component.tsx...
140
+ + const overlayClass = overlay === 'none' ? '' :
141
+ + overlay === 'light' ? 'bg-white/50' : 'bg-black/50';
142
+ ✓ Component updated
143
+
144
+ ─────────────────────────────────────────
145
+
146
+ 🔄 REBUILDING REGISTRY
147
+
148
+ Running pnpm build:blocks...
149
+ ✓ Registry updated
150
+
151
+ ─────────────────────────────────────────
152
+
153
+ ✅ BACKWARD COMPATIBILITY CHECK
154
+
155
+ - [x] New field has default value
156
+ - [x] Existing pages will render correctly
157
+ - [x] No breaking changes detected
158
+
159
+ ─────────────────────────────────────────
160
+
161
+ ✓ Block 'hero-banner' updated successfully
162
+ ```
163
+
164
+ ---
165
+
166
+ ## Backward Compatibility Rules
167
+
168
+ | Change Type | Requirement |
169
+ |-------------|-------------|
170
+ | Add field | Must have default value |
171
+ | Modify field | Keep existing values valid |
172
+ | Remove field | Must be optional first |
173
+ | Rename field | Create alias, deprecate old |
174
+
175
+ ---
176
+
177
+ ## Options
178
+
179
+ | Option | Description |
180
+ |--------|-------------|
181
+ | `--theme <name>` | Target theme |
182
+ | `--add-field <name>` | Directly add field |
183
+ | `--no-validate` | Skip validation |
184
+
185
+ ---
186
+
187
+ ## Related Commands
188
+
189
+ | Command | Action |
190
+ |---------|--------|
191
+ | `/session:block:create` | Create new block |
192
+ | `/session:block:validate` | Validate structure |
@@ -0,0 +1,218 @@
1
+ # /session:block:validate
2
+
3
+ Validate block structure and consistency.
4
+
5
+ ---
6
+
7
+ ## Syntax
8
+
9
+ ```
10
+ /session:block:validate [block-name] [--theme <name>]
11
+ ```
12
+
13
+ ---
14
+
15
+ ## Behavior
16
+
17
+ Validates that blocks follow project conventions and have consistent structure.
18
+
19
+ ---
20
+
21
+ ## Flow
22
+
23
+ ```
24
+ ┌─────────────────────────────────────────────────────────────────┐
25
+ │ /session:block:validate │
26
+ ├─────────────────────────────────────────────────────────────────┤
27
+ │ │
28
+ │ 1. Locate block(s) to validate │
29
+ │ ↓ │
30
+ │ 2. Check file structure │
31
+ │ - All 5 files present? │
32
+ │ ↓ │
33
+ │ 3. Validate schema │
34
+ │ - Extends baseBlockSchema? │
35
+ │ - Valid Zod types? │
36
+ │ ↓ │
37
+ │ 4. Validate fields │
38
+ │ - Match schema? │
39
+ │ - Valid field types? │
40
+ │ ↓ │
41
+ │ 5. Validate component │
42
+ │ - Uses props correctly? │
43
+ │ - Has data-cy attributes? │
44
+ │ ↓ │
45
+ │ 6. Report results │
46
+ │ │
47
+ └─────────────────────────────────────────────────────────────────┘
48
+ ```
49
+
50
+ ---
51
+
52
+ ## Example: Validate Single Block
53
+
54
+ ```
55
+ /session:block:validate hero-banner
56
+ ```
57
+
58
+ Output:
59
+
60
+ ```
61
+ ✅ BLOCK VALIDATION: hero-banner
62
+
63
+ Theme: default
64
+
65
+ ─────────────────────────────────────────
66
+
67
+ 📁 FILE STRUCTURE
68
+
69
+ - [x] config.ts exists
70
+ - [x] schema.ts exists
71
+ - [x] fields.ts exists
72
+ - [x] component.tsx exists
73
+ - [x] index.ts exists
74
+
75
+ ─────────────────────────────────────────
76
+
77
+ 📐 SCHEMA VALIDATION
78
+
79
+ - [x] Extends baseBlockSchema
80
+ - [x] All fields have valid Zod types
81
+ - [x] Required fields have no default OR are truly required
82
+ - [x] Optional fields marked correctly
83
+
84
+ ─────────────────────────────────────────
85
+
86
+ 📋 FIELDS VALIDATION
87
+
88
+ - [x] All schema fields have field definitions
89
+ - [x] Field types match schema types
90
+ - [x] Labels defined for all fields
91
+
92
+ ─────────────────────────────────────────
93
+
94
+ 🎨 COMPONENT VALIDATION
95
+
96
+ - [x] Default export present
97
+ - [x] Props destructured from schema type
98
+ - [x] data-cy attribute on root element
99
+ - [x] Handles optional fields gracefully
100
+
101
+ ─────────────────────────────────────────
102
+
103
+ 📊 RESULT
104
+
105
+ Status: VALID
106
+ Issues: 0
107
+ Warnings: 0
108
+
109
+ ✓ Block 'hero-banner' is valid
110
+ ```
111
+
112
+ ---
113
+
114
+ ## Example: Validate All Blocks
115
+
116
+ ```
117
+ /session:block:validate
118
+ ```
119
+
120
+ Output:
121
+
122
+ ```
123
+ ✅ BLOCK VALIDATION: All Blocks
124
+
125
+ Theme: default
126
+ Blocks found: 10
127
+
128
+ ─────────────────────────────────────────
129
+
130
+ ## Results
131
+
132
+ | Block | Files | Schema | Fields | Component | Status |
133
+ |-------|-------|--------|--------|-----------|--------|
134
+ | hero | ✓ | ✓ | ✓ | ✓ | VALID |
135
+ | hero-banner | ✓ | ✓ | ✓ | ✓ | VALID |
136
+ | hero-video | ✓ | ⚠ | ✓ | ✓ | WARNING |
137
+ | text-block | ✓ | ✓ | ✓ | ✓ | VALID |
138
+ | features-grid | ✓ | ✓ | ✓ | ❌ | INVALID |
139
+ | testimonials | ✓ | ✓ | ✓ | ✓ | VALID |
140
+ | faq | ✓ | ✓ | ✓ | ✓ | VALID |
141
+ | pricing | ✓ | ✓ | ✓ | ✓ | VALID |
142
+ | cta-section | ✓ | ✓ | ✓ | ✓ | VALID |
143
+ | newsletter | ✓ | ✓ | ✓ | ✓ | VALID |
144
+
145
+ ─────────────────────────────────────────
146
+
147
+ ## Issues
148
+
149
+ ### features-grid (INVALID)
150
+
151
+ ❌ Component: Missing data-cy attribute on root element
152
+
153
+ Location: component.tsx:15
154
+ Current:
155
+ ```tsx
156
+ <div className="features-grid">
157
+ ```
158
+
159
+ Expected:
160
+ ```tsx
161
+ <div className="features-grid" data-cy="block-features-grid">
162
+ ```
163
+
164
+ ─────────────────────────────────────────
165
+
166
+ ## Warnings
167
+
168
+ ### hero-video (WARNING)
169
+
170
+ ⚠ Schema: Field 'autoplay' is boolean but defaults to undefined
171
+
172
+ Suggestion: Add explicit default value:
173
+ ```typescript
174
+ autoplay: z.boolean().default(false)
175
+ ```
176
+
177
+ ─────────────────────────────────────────
178
+
179
+ 📊 SUMMARY
180
+
181
+ Valid: 8
182
+ Warnings: 1
183
+ Invalid: 1
184
+
185
+ Run '/session:block:update features-grid' to fix issues.
186
+ ```
187
+
188
+ ---
189
+
190
+ ## Validation Rules
191
+
192
+ | Check | Severity | Description |
193
+ |-------|----------|-------------|
194
+ | Missing file | Error | All 5 files required |
195
+ | No baseBlockSchema | Error | Must extend base |
196
+ | Missing data-cy | Error | Required for testing |
197
+ | Missing field definition | Warning | Should match schema |
198
+ | No default for optional | Warning | Recommended |
199
+
200
+ ---
201
+
202
+ ## Options
203
+
204
+ | Option | Description |
205
+ |--------|-------------|
206
+ | `--theme <name>` | Validate in specific theme |
207
+ | `--fix` | Attempt to auto-fix issues |
208
+ | `--strict` | Treat warnings as errors |
209
+
210
+ ---
211
+
212
+ ## Related Commands
213
+
214
+ | Command | Action |
215
+ |---------|--------|
216
+ | `/session:block:create` | Create new block |
217
+ | `/session:block:update` | Fix invalid blocks |
218
+ | `/session:block:list` | List all blocks |
@@ -0,0 +1,115 @@
1
+ # /session:changelog
2
+
3
+ Generate a simple, complete changelog for the current feature branch.
4
+
5
+ ---
6
+
7
+ ## Syntax
8
+
9
+ ```
10
+ /session:changelog
11
+ ```
12
+
13
+ ---
14
+
15
+ ## Behavior
16
+
17
+ Generate a changelog summarizing everything done in the current feature branch. The audience is the development team — keep it concise, concrete, and complete.
18
+
19
+ ---
20
+
21
+ ## Steps
22
+
23
+ ### 1. Gather context
24
+
25
+ Run these commands to understand the full scope:
26
+
27
+ ```bash
28
+ # Get the base branch
29
+ BASE=$(git merge-base origin/main HEAD 2>/dev/null || git merge-base origin/master HEAD 2>/dev/null)
30
+
31
+ # All commits (excluding version bumps)
32
+ git log --oneline --reverse $BASE..HEAD | grep -v "^.* chore: bump"
33
+
34
+ # Overall stats
35
+ git diff --stat $BASE..HEAD | tail -3
36
+
37
+ # Check for an existing PR
38
+ gh pr list --head $(git branch --show-current) --json number,title,url --jq '.[0]'
39
+ ```
40
+
41
+ If a PR exists, also read its body for additional context:
42
+ ```bash
43
+ gh pr view <number> --json body --jq '.body'
44
+ ```
45
+
46
+ ### 2. Generate changelog
47
+
48
+ Write the changelog using this exact format:
49
+
50
+ ```
51
+ ## Changelog `<version>`
52
+
53
+ - **Feature/change title**: one-line description of what it does and why it matters
54
+ - **Feature/change title**: one-line description
55
+ - ...repeat for every meaningful change
56
+
57
+ **Migration notes for existing projects:**
58
+ - Step-by-step instructions for any manual changes needed
59
+ - Config additions, dependency updates, etc.
60
+ - Only include this section if there ARE breaking/manual changes
61
+ ```
62
+
63
+ ### 3. Format rules
64
+
65
+ - **One bullet per logical change** — group related commits into a single bullet
66
+ - **Skip version bump commits** — they are noise
67
+ - **Bold the title** of each bullet, plain text for the description
68
+ - **Use present tense** — "adds", "fixes", "removes" (not "added", "fixed")
69
+ - **Be specific** — name the files, commands, or packages involved
70
+ - **No emojis**
71
+ - **No sub-bullets** inside changelog items (keep it flat)
72
+ - **Version number** comes from the latest package version on the branch
73
+ - **Migration notes** section only appears if existing consumer projects need manual changes (config additions, dependency changes, breaking API changes, etc.)
74
+
75
+ ---
76
+
77
+ ## Example Output
78
+
79
+ ```
80
+ ## Changelog `0.1.0-beta.92`
81
+
82
+ - **New `@nextsparkjs/ai-workflow` package**: agents, commands, skills and workflows now distributed as a standalone npm package
83
+ - **Auto-sync for `.claude/`**: running `pnpm update` automatically syncs AI workflow files, same pattern as core does with `/app`
84
+ - **New `nextspark sync:ai` command**: manual sync with `--editor` and `--force` options
85
+ - **Core template cleanup**: legacy AI workflow files removed from `@nextsparkjs/core`, presets consolidated into `templates/`
86
+ - **Fix postinstall for pnpm v10 workspaces**: postinstall scripts for core and ai-workflow now work correctly in consumer projects with pnpm workspaces (web-only and web-mobile)
87
+
88
+ **Migration notes for existing projects:**
89
+ - Add to your root `package.json`:
90
+ ```json
91
+ "pnpm": {
92
+ "onlyBuiltDependencies": ["@nextsparkjs/core", "@nextsparkjs/ai-workflow"]
93
+ }
94
+ ```
95
+ - Install the new package: `pnpm add -D -w @nextsparkjs/ai-workflow@latest`
96
+ ```
97
+
98
+ ---
99
+
100
+ ## Anti-patterns
101
+
102
+ - DO NOT list every commit individually
103
+ - DO NOT include "bumped to version X" bullets
104
+ - DO NOT write paragraphs — one line per bullet
105
+ - DO NOT include implementation details (file paths, function names) unless they are user-facing (CLI commands, config keys)
106
+ - DO NOT skip changes — every non-bump commit should be represented in at least one bullet
107
+
108
+ ---
109
+
110
+ ## Related Commands
111
+
112
+ | Command | Action |
113
+ |---------|--------|
114
+ | `/session:review` | Code review before changelog |
115
+ | `/session:close` | Close session after changelog |