@nextsparkjs/ai-workflow 0.1.0-beta.86

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 (271) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +86 -0
  3. package/claude/_docs/workflows-optimizations.md +359 -0
  4. package/claude/agents/api-tester.md +636 -0
  5. package/claude/agents/architecture-supervisor.md +1381 -0
  6. package/claude/agents/backend-developer.md +1021 -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 +1460 -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 +1291 -0
  15. package/claude/agents/frontend-developer.md +1259 -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 +971 -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 +373 -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 +681 -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 +512 -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 +455 -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/close.md +146 -0
  77. package/claude/commands/session/commit.md +174 -0
  78. package/claude/commands/session/db-entity.md +206 -0
  79. package/claude/commands/session/db-fix.md +212 -0
  80. package/claude/commands/session/db-sample.md +206 -0
  81. package/claude/commands/session/demo.md +178 -0
  82. package/claude/commands/session/doc-bdd.md +207 -0
  83. package/claude/commands/session/doc-feature.md +218 -0
  84. package/claude/commands/session/doc-read.md +225 -0
  85. package/claude/commands/session/execute.md +204 -0
  86. package/claude/commands/session/explain.md +202 -0
  87. package/claude/commands/session/fix-bug.md +210 -0
  88. package/claude/commands/session/fix-build.md +182 -0
  89. package/claude/commands/session/fix-test.md +189 -0
  90. package/claude/commands/session/pending.md +232 -0
  91. package/claude/commands/session/refine.md +188 -0
  92. package/claude/commands/session/resume.md +192 -0
  93. package/claude/commands/session/review.md +192 -0
  94. package/claude/commands/session/scope-change.md +181 -0
  95. package/claude/commands/session/start-blocks.md +347 -0
  96. package/claude/commands/session/start.md +476 -0
  97. package/claude/commands/session/status.md +169 -0
  98. package/claude/commands/session/test-fix.md +221 -0
  99. package/claude/commands/session/test-run.md +203 -0
  100. package/claude/commands/session/test-write.md +242 -0
  101. package/claude/commands/session/validate.md +162 -0
  102. package/claude/config/context.json +54 -0
  103. package/claude/config/github.json +69 -0
  104. package/claude/config/github.schema.json +106 -0
  105. package/claude/config/team.json +46 -0
  106. package/claude/config/team.schema.json +106 -0
  107. package/claude/config/workspace.json +49 -0
  108. package/claude/config/workspace.schema.json +64 -0
  109. package/claude/scripts/.gitkeep +0 -0
  110. package/claude/sessions/.gitkeep +0 -0
  111. package/claude/skills/README.md +228 -0
  112. package/claude/skills/accessibility/SKILL.md +573 -0
  113. package/claude/skills/api-bypass-layers/SKILL.md +550 -0
  114. package/claude/skills/asana-integration/SKILL.md +499 -0
  115. package/claude/skills/better-auth/SKILL.md +666 -0
  116. package/claude/skills/billing-subscriptions/SKILL.md +660 -0
  117. package/claude/skills/block-decision-matrix/SKILL.md +359 -0
  118. package/claude/skills/clickup-integration/SKILL.md +434 -0
  119. package/claude/skills/core-theme-responsibilities/SKILL.md +485 -0
  120. package/claude/skills/create-plugin/SKILL.md +425 -0
  121. package/claude/skills/create-theme/SKILL.md +331 -0
  122. package/claude/skills/cypress-api/SKILL.md +511 -0
  123. package/claude/skills/cypress-api/scripts/generate-api-controller.py +329 -0
  124. package/claude/skills/cypress-api/scripts/generate-api-test.py +930 -0
  125. package/claude/skills/cypress-e2e/SKILL.md +526 -0
  126. package/claude/skills/cypress-e2e/scripts/extract-selectors.py +383 -0
  127. package/claude/skills/cypress-e2e/scripts/generate-uat-test.py +788 -0
  128. package/claude/skills/cypress-selectors/SKILL.md +309 -0
  129. package/claude/skills/cypress-selectors/scripts/extract-missing.py +243 -0
  130. package/claude/skills/cypress-selectors/scripts/generate-block-selectors.py +283 -0
  131. package/claude/skills/cypress-selectors/scripts/validate-selectors.py +145 -0
  132. package/claude/skills/database-migrations/SKILL.md +335 -0
  133. package/claude/skills/database-migrations/scripts/generate-sample-data.py +284 -0
  134. package/claude/skills/database-migrations/scripts/validate-migration.py +323 -0
  135. package/claude/skills/design-system/SKILL.md +682 -0
  136. package/claude/skills/documentation/SKILL.md +540 -0
  137. package/claude/skills/entity-api/SKILL.md +482 -0
  138. package/claude/skills/entity-system/SKILL.md +635 -0
  139. package/claude/skills/entity-system/scripts/generate-child-migration.py +298 -0
  140. package/claude/skills/entity-system/scripts/generate-metas-migration.py +233 -0
  141. package/claude/skills/entity-system/scripts/generate-migration.py +382 -0
  142. package/claude/skills/entity-system/scripts/generate-sample-data.py +418 -0
  143. package/claude/skills/entity-system/scripts/scaffold-entity.py +661 -0
  144. package/claude/skills/github/SKILL.md +467 -0
  145. package/claude/skills/i18n-nextintl/SKILL.md +302 -0
  146. package/claude/skills/i18n-nextintl/scripts/add-translation.py +243 -0
  147. package/claude/skills/i18n-nextintl/scripts/extract-hardcoded.py +246 -0
  148. package/claude/skills/i18n-nextintl/scripts/validate-translations.py +260 -0
  149. package/claude/skills/impact-analysis/SKILL.md +203 -0
  150. package/claude/skills/jest-unit/SKILL.md +306 -0
  151. package/claude/skills/jest-unit/references/component-testing.md +371 -0
  152. package/claude/skills/jest-unit/references/mocking-patterns.md +380 -0
  153. package/claude/skills/jest-unit/references/service-hook-testing.md +454 -0
  154. package/claude/skills/jira-integration/SKILL.md +539 -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 +483 -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 +677 -0
  228. package/claude/skills/registry-system/SKILL.md +331 -0
  229. package/claude/skills/scheduled-actions/SKILL.md +431 -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 +479 -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 +34 -0
  270. package/scripts/setup.mjs +282 -0
  271. 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,146 @@
1
+ # /session:close
2
+
3
+ Close the active session or a specific session.
4
+
5
+ ---
6
+
7
+ ## Syntax
8
+
9
+ ```
10
+ /session:close [session-path] [summary]
11
+ ```
12
+
13
+ ---
14
+
15
+ ## Behavior
16
+
17
+ ### Without path (active session)
18
+
19
+ ```
20
+ /session:close
21
+ ```
22
+
23
+ Closes the current active session (if there is one).
24
+
25
+ ### With path
26
+
27
+ ```
28
+ /session:close stories/2026-01-11-new-entity "Feature completed"
29
+ ```
30
+
31
+ Closes the specified session.
32
+
33
+ ---
34
+
35
+ ## Flow
36
+
37
+ ```
38
+ ┌─────────────────────────────────────────────────────────────────┐
39
+ │ /session:close │
40
+ ├─────────────────────────────────────────────────────────────────┤
41
+ │ │
42
+ │ 1. Verify ACs are met │
43
+ │ - Read requirements.md │
44
+ │ - Verify checklist in progress.md │
45
+ │ ↓ │
46
+ │ 2. All ACs completed? │
47
+ │ │ │
48
+ │ ├─► YES: Continue │
49
+ │ │ │
50
+ │ └─► NO: Warn │
51
+ │ "There are 2 pending ACs. Close anyway?" │
52
+ │ ↓ │
53
+ │ 3. Execute session-close.sh │
54
+ │ ↓ │
55
+ │ 4. Archive? │
56
+ │ [Yes, archive] [No, keep] │
57
+ │ ↓ │
58
+ │ 5. Update task manager (if enabled) │
59
+ │ - Post final comment │
60
+ │ - Change status to "done" │
61
+ │ ↓ │
62
+ │ 6. Show summary │
63
+ │ │
64
+ └─────────────────────────────────────────────────────────────────┘
65
+ ```
66
+
67
+ ---
68
+
69
+ ## Example Output
70
+
71
+ ```
72
+ 📋 CLOSING SESSION
73
+
74
+ Session: stories/2026-01-11-new-products-entity
75
+ Type: Story (STORY)
76
+ Iterations: 2
77
+
78
+ ─────────────────────────────────────────
79
+
80
+ ✅ AC VERIFICATION
81
+
82
+ AC1: Create products migration ✓
83
+ AC2: Implement CRUD API ✓
84
+ AC3: Create management UI ✓
85
+ AC4: Automated tests ✓
86
+
87
+ All ACs completed: 4/4
88
+
89
+ ─────────────────────────────────────────
90
+
91
+ 📊 SUMMARY
92
+
93
+ - Total duration: 5 days
94
+ - Iterations: 2
95
+ - Files modified: 23
96
+ - Tests created: 12
97
+
98
+ ─────────────────────────────────────────
99
+
100
+ ✓ Session closed
101
+
102
+ Archive session? [Yes/No]
103
+ ```
104
+
105
+ ---
106
+
107
+ ## With Pending ACs
108
+
109
+ ```
110
+ ⚠️ WARNING
111
+
112
+ There are pending ACs:
113
+ - [ ] AC4: Automated tests
114
+
115
+ Options:
116
+ [1] Close anyway (document pending items)
117
+ [2] Cancel and continue working
118
+ [3] Move pending to new iteration
119
+ ```
120
+
121
+ ---
122
+
123
+ ## Task Manager Integration
124
+
125
+ If `taskManager.enabled`:
126
+
127
+ ```
128
+ 📋 TASK UPDATE
129
+
130
+ ClickUp: #abc123
131
+
132
+ Posting final comment...
133
+ ✓ Comment posted
134
+
135
+ Updating status to "done"...
136
+ ✓ Status updated
137
+ ```
138
+
139
+ ---
140
+
141
+ ## Related Commands
142
+
143
+ | Command | Action |
144
+ |---------|--------|
145
+ | `/session:status` | View status before closing |
146
+ | `/session:pending` | Document pending items |