@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,117 @@
1
+ ---
2
+ description: "Sync with GitHub PR code review: evaluate, fix, and respond"
3
+ ---
4
+
5
+ # /do:sync-code-review
6
+
7
+ **PR URL or Number:** {{{ input }}}
8
+
9
+ ---
10
+
11
+ ## Related Skills
12
+
13
+ See `.claude/skills/github/SKILL.md` for general GitHub workflow patterns (branches, commits, PRs).
14
+
15
+ ---
16
+
17
+ ## Quick Reference
18
+
19
+ ### Workflow
20
+
21
+ 1. **Fetch PR** → `gh pr view <number> --json comments,headRefName`
22
+ 2. **Check for review** → Look for @claude code review comment
23
+ 3. **If no review** → Comment `@claude` and poll for response (30s intervals, max 5min)
24
+ 4. **Checkout branch** → `git checkout <headRefName>`
25
+ 5. **Evaluate issues** → ACCEPT / PARTIAL / DEFER / REJECT
26
+ 6. **Implement fixes** → For ACCEPT and PARTIAL issues
27
+ 7. **Verify** → `pnpm build`
28
+ 8. **Commit & push** → With structured message
29
+ 9. **Comment on PR** → With response table
30
+ 10. **Request re-review** → Comment `@claude` again to validate fixes
31
+
32
+ ### Evaluation Criteria
33
+
34
+ | Action | When to Use |
35
+ |--------|-------------|
36
+ | **ACCEPT** | Issue is valid, fix as suggested |
37
+ | **PARTIAL** | Issue is valid, will fix differently |
38
+ | **DEFER** | Valid but out of scope |
39
+ | **REJECT** | Based on incorrect assumption or intentional design |
40
+
41
+ ### Evaluation Process
42
+
43
+ 1. **Read the code review carefully** - Identify all reported issues (vulnerabilities, race conditions, bugs, style issues, etc.)
44
+ 2. **Perform your own analysis** - For each issue, verify if it's correctly reported:
45
+ - Is the issue real or a false positive?
46
+ - Does the suggested fix make sense?
47
+ - Are there better alternatives?
48
+ 3. **Prioritize by severity** - Critical (security/data loss) > Medium (bugs) > Minor (style)
49
+ 4. **Decide action for each** - ACCEPT, PARTIAL, DEFER, or REJECT with reasoning
50
+
51
+ ### Response Format
52
+
53
+ ```markdown
54
+ ## Code Review Response
55
+
56
+ ### Changes Implemented
57
+
58
+ | Issue | Severity | Status | Details |
59
+ |-------|----------|--------|---------|
60
+ | <title> | Critical/Medium/Minor | ✅ Fixed / ⏭️ Deferred / ❌ Won't Fix | <details> |
61
+
62
+ ### Explanation for Deferred/Rejected Issues
63
+
64
+ > For each DEFER or REJECT, explain your reasoning to reach agreement with the reviewer.
65
+
66
+ <explanations>
67
+
68
+ ### Verification
69
+
70
+ - [x] All accepted issues addressed
71
+ - [x] Build passes
72
+ - [x] Ready for re-review
73
+
74
+ ---
75
+ Co-Authored-By: Claude Code <noreply@anthropic.com>
76
+ ```
77
+
78
+ ### Commands
79
+
80
+ ```bash
81
+ # Fetch PR data
82
+ gh pr view <number> --repo <owner/repo> --json number,title,comments,headRefName
83
+
84
+ # Request code review
85
+ gh pr comment <number> --body "@claude"
86
+
87
+ # Poll for review response (30s intervals, max 5min)
88
+ for i in {1..10}; do
89
+ REVIEW=$(gh pr view <number> --json comments --jq '.comments[-1].body' | grep -i "code review complete")
90
+ if [ -n "$REVIEW" ]; then
91
+ echo "Review received"
92
+ break
93
+ fi
94
+ echo "Waiting for review... ($i/10)"
95
+ sleep 30
96
+ done
97
+
98
+ # Commit with attribution
99
+ git commit -m "fix: address code review feedback for PR #<number>
100
+
101
+ Co-Authored-By: Claude Code <noreply@anthropic.com>"
102
+
103
+ # Comment response
104
+ gh pr comment <number> --body "<response>"
105
+
106
+ # Request re-review after fixes
107
+ gh pr comment <number> --body "@claude"
108
+ ```
109
+
110
+ ---
111
+
112
+ ## Example
113
+
114
+ ```bash
115
+ /do:sync-code-review https://github.com/NextSpark-js/nextspark/pull/19
116
+ /do:sync-code-review 19
117
+ ```
@@ -0,0 +1,112 @@
1
+ ---
2
+ description: "Synchronize selectors between components, core definitions, and POM classes"
3
+ ---
4
+
5
+ # do:update-selectors
6
+
7
+ **Context:** {{{ input }}}
8
+
9
+ ---
10
+
11
+ ## MANDATORY: Read Skills First
12
+
13
+ Read these skills completely before proceeding:
14
+
15
+ 1. `.claude/skills/cypress-selectors/SKILL.md` - 3-level selector system
16
+
17
+ ---
18
+
19
+ ## Selector Architecture
20
+
21
+ The selector system has THREE layers:
22
+
23
+ 1. **CORE_SELECTORS** - `packages/core/src/lib/selectors/` (source of truth)
24
+ 2. **BLOCK_SELECTORS** - Theme block selectors
25
+ 3. **THEME_SELECTORS** - Theme-specific UI selectors
26
+
27
+ ---
28
+
29
+ ## Common Sync Issues
30
+
31
+ ### 1. Selector Used but Not Defined
32
+
33
+ **Symptom:** Console warning `[sel] Invalid selector path: "..."`
34
+
35
+ **Fix:**
36
+ 1. Find usage in component: `grep -rn "sel('...')" packages/core/src/`
37
+ 2. Add to appropriate domain file in `packages/core/src/lib/selectors/domains/`
38
+ 3. Rebuild to regenerate types
39
+
40
+ ### 2. Hardcoded Selector in Component
41
+
42
+ **Symptom:** `document.querySelector('[data-cy="..."]')` instead of using `sel()`
43
+
44
+ **Fix:**
45
+ ```diff
46
+ - document.querySelector(`[data-cy="preview-block-${id}"]`)
47
+ + document.querySelector(`[data-cy="${sel('blockEditor.previewCanvas.block', { id })}"]`)
48
+ ```
49
+
50
+ ### 3. Hardcoded Selector in POM
51
+
52
+ **Symptom:** Direct string selectors instead of `cySelector()`
53
+
54
+ **Fix:**
55
+ ```diff
56
+ - moveUpBtn: (id: string) => `[data-cy="preview-block-${id}-move-up"]`,
57
+ + moveUpBtn: (id: string) => cySelector('blockEditor.previewCanvas.moveUp', { id }),
58
+ ```
59
+
60
+ **Note:** Generic selectors for prefix matching MUST keep the bracket format:
61
+ ```ts
62
+ sortableBlockGeneric: '[data-cy^="sortable-block-"]', // OK - needed for prefix matching
63
+ ```
64
+
65
+ ---
66
+
67
+ ## Files to Check
68
+
69
+ | Layer | File Pattern |
70
+ |-------|--------------|
71
+ | Core Selectors | `packages/core/src/lib/selectors/domains/*.selectors.ts` |
72
+ | Component Usage | `packages/core/src/components/**/*.tsx` |
73
+ | POM Classes | `themes/*/tests/cypress/src/core/*POM.ts` |
74
+ | POM Presets | `packages/core/templates/contents/themes/starter/tests/cypress/src/core/*POM.ts` |
75
+
76
+ ---
77
+
78
+ ## Sync Workflow
79
+
80
+ 1. **Find undefined selectors:**
81
+ ```bash
82
+ pnpm build 2>&1 | grep -i "selector"
83
+ ```
84
+
85
+ 2. **Find hardcoded selectors in POMs:**
86
+ ```bash
87
+ grep -n "data-cy=" themes/default/tests/cypress/src/core/*.ts
88
+ ```
89
+
90
+ 3. **Find hardcoded selectors in components:**
91
+ ```bash
92
+ grep -rn 'data-cy="' packages/core/src/components/ --include="*.tsx"
93
+ ```
94
+
95
+ 4. **After sync, update presets:**
96
+ - `packages/core/templates/contents/themes/starter/tests/cypress/src/core/`
97
+ - `packages/core/templates/contents/themes/starter/tests/cypress/src/core/`
98
+
99
+ ---
100
+
101
+ ## Verification
102
+
103
+ ```bash
104
+ # Build without errors
105
+ pnpm build
106
+
107
+ # No invalid selector warnings in browser console
108
+ # Navigate to affected pages and check DevTools console
109
+
110
+ # Grep should show only defined properties, not method bodies with hardcoded strings
111
+ grep -n "data-cy=" themes/default/tests/cypress/src/core/BlockEditorBasePOM.ts
112
+ ```
@@ -0,0 +1,90 @@
1
+ ---
2
+ description: "Read and apply relevant skills for the requested task"
3
+ ---
4
+
5
+ # do:use-skills
6
+
7
+ **Task:** {{{ input }}}
8
+
9
+ ---
10
+
11
+ ## Protocol
12
+
13
+ This command enforces the use of skills for any development task.
14
+
15
+ ### Step 1: Read Skills Index
16
+
17
+ **MANDATORY:** Read `.claude/skills/README.md` to understand all available skills.
18
+
19
+ The README contains:
20
+ - Complete list of 44+ skills
21
+ - Categories and descriptions
22
+ - Mapping of tasks → skills
23
+
24
+ ### Step 2: Identify Relevant Skills
25
+
26
+ Based on the task keywords, identify which skills apply:
27
+
28
+ | Task Keywords | Relevant Skills |
29
+ |---------------|-----------------|
30
+ | entity, crud, model | `entity-system` |
31
+ | migration, sql, database | `database-migrations` |
32
+ | api, endpoint, route | `nextjs-api-development`, `entity-api` |
33
+ | scheduled, background, webhook | `scheduled-actions` |
34
+ | theme, styling, css | `create-theme`, `tailwind-theming` |
35
+ | plugin, extension | `create-plugin`, `plugins` |
36
+ | block, page-builder | `page-builder-blocks`, `block-decision-matrix` |
37
+ | test, cypress, e2e | `cypress-e2e`, `cypress-api`, `pom-patterns` |
38
+ | auth, login, session | `better-auth`, `permissions-system` |
39
+ | component, ui | `shadcn-components`, `react-patterns` |
40
+ | i18n, translation | `i18n-nextintl` |
41
+
42
+ ### Step 3: Read Each Relevant Skill
43
+
44
+ For each identified skill, read the complete SKILL.md:
45
+
46
+ ```
47
+ .claude/skills/{skill-name}/SKILL.md
48
+ ```
49
+
50
+ ### Step 4: Check for Scripts
51
+
52
+ Many skills include automation scripts:
53
+
54
+ ```bash
55
+ ls .claude/skills/{skill-name}/scripts/
56
+ ```
57
+
58
+ Use scripts when available to automate tasks.
59
+
60
+ ### Step 5: Apply Patterns
61
+
62
+ Execute the task following:
63
+ - Conventions documented in the skill
64
+ - Code patterns and templates
65
+ - Directory structure requirements
66
+
67
+ ### Step 6: Validate
68
+
69
+ Use the skill's checklist (usually at the end of SKILL.md) to verify compliance.
70
+
71
+ ---
72
+
73
+ ## Example Usage
74
+
75
+ **Task:** "Create a new products entity"
76
+
77
+ 1. Read `.claude/skills/README.md`
78
+ 2. Identify: `entity-system`, `database-migrations`
79
+ 3. Read both SKILL.md files
80
+ 4. Check for scripts in `entity-system/scripts/`
81
+ 5. Execute following documented patterns
82
+ 6. Validate using checklists
83
+
84
+ ---
85
+
86
+ ## Important
87
+
88
+ - **ALWAYS** read the skill before implementing
89
+ - **NEVER** skip the checklist validation
90
+ - Skills contain project-specific conventions that must be followed
@@ -0,0 +1,69 @@
1
+ ---
2
+ description: "Validate page builder blocks"
3
+ ---
4
+
5
+ # do:validate-blocks
6
+
7
+ **Block or Context:** {{{ input }}}
8
+
9
+ ---
10
+
11
+ ## MANDATORY: Read Skills First
12
+
13
+ Read these skills completely before proceeding:
14
+
15
+ 1. `.claude/skills/page-builder-blocks/SKILL.md` - Block development
16
+ 2. `.claude/skills/block-decision-matrix/SKILL.md` - Block decisions
17
+
18
+ ---
19
+
20
+ ## Block Structure
21
+
22
+ Each block must have:
23
+
24
+ ```
25
+ contents/themes/{theme}/blocks/{block-name}/
26
+ ├── config.ts # Block configuration
27
+ ├── schema.ts # Zod validation schema
28
+ ├── fields.ts # Field definitions
29
+ ├── component.tsx # React component
30
+ └── index.ts # Exports
31
+ ```
32
+
33
+ ---
34
+
35
+ ## Validation Checklist
36
+
37
+ - [ ] All 5 required files exist
38
+ - [ ] `config.ts` has correct metadata
39
+ - [ ] `schema.ts` validates all fields
40
+ - [ ] `component.tsx` has `data-cy` attributes
41
+ - [ ] Block appears in BLOCK_REGISTRY
42
+
43
+ ---
44
+
45
+ ## Registry Check
46
+
47
+ ```bash
48
+ # Rebuild registry
49
+ node core/scripts/build/registry.mjs
50
+
51
+ # Verify block is registered
52
+ grep "{block-name}" core/lib/registries/block-registry.ts
53
+ ```
54
+
55
+ ---
56
+
57
+ ## Common Issues
58
+
59
+ | Issue | Solution |
60
+ |-------|----------|
61
+ | Block not in registry | Run registry rebuild |
62
+ | Schema validation fails | Check Zod schema matches fields |
63
+ | Component not rendering | Check exports in index.ts |
64
+
65
+ ---
66
+
67
+ ## Verification
68
+
69
+ Use the checklist from `page-builder-blocks/SKILL.md` to verify compliance.
@@ -0,0 +1,261 @@
1
+ # /how-to:* Commands
2
+
3
+ Interactive guided tutorials for NextSpark core functionalities.
4
+
5
+ ---
6
+
7
+ ## Philosophy
8
+
9
+ These commands follow a **guided learning approach**:
10
+
11
+ 1. **Step-by-step instructions** - Claude guides you through each step
12
+ 2. **Interactive Q&A** - Ask questions at any point during the tutorial
13
+ 3. **Hands-on practice** - Apply concepts to your actual project
14
+ 4. **Validation** - Claude validates your implementation as you go
15
+
16
+ ---
17
+
18
+ ## How It Works
19
+
20
+ ```
21
+ ┌─────────────────────────────────────────────────────────────────┐
22
+ │ /how-to:{topic} │
23
+ ├─────────────────────────────────────────────────────────────────┤
24
+ │ │
25
+ │ 1. Introduction │
26
+ │ - Brief explanation of the concept │
27
+ │ - What you'll learn │
28
+ │ - Prerequisites check │
29
+ │ ↓ │
30
+ │ 2. Step-by-Step Guide │
31
+ │ - Each step explained clearly │
32
+ │ - Code examples and patterns │
33
+ │ - Pause after each step for questions │
34
+ │ ↓ │
35
+ │ 3. Interactive Implementation │
36
+ │ - Apply to your project │
37
+ │ - Claude validates your work │
38
+ │ ↓ │
39
+ │ 4. Summary & Next Steps │
40
+ │ - Recap what you learned │
41
+ │ - Related tutorials │
42
+ │ - Best practices reminder │
43
+ │ │
44
+ └─────────────────────────────────────────────────────────────────┘
45
+ ```
46
+
47
+ ---
48
+
49
+ ## Available Commands
50
+
51
+ ### Getting Started
52
+
53
+ | Command | Description |
54
+ |---------|-------------|
55
+ | `/how-to:start` | **Main index** - Starting point for all tutorials |
56
+
57
+ ### Configuration & Setup
58
+
59
+ | Command | Description |
60
+ |---------|-------------|
61
+ | `/how-to:setup-claude-code` | **First step** - Configure AI workflow system |
62
+ | `/how-to:setup-database` | Configure PostgreSQL, run migrations |
63
+ | `/how-to:setup-authentication` | Configure Better Auth, OAuth providers |
64
+ | `/how-to:setup-email-providers` | Configure email sending providers |
65
+ | `/how-to:set-app-languages` | Configure supported languages and i18n |
66
+
67
+ ### Entities & Database
68
+
69
+ | Command | Description |
70
+ |---------|-------------|
71
+ | `/how-to:create-entity` | Create a new entity with full CRUD |
72
+ | `/how-to:create-migrations` | Write database migrations with RLS |
73
+ | `/how-to:create-api` | Create custom API endpoints |
74
+
75
+ ### Page Builder & Blocks
76
+
77
+ | Command | Description |
78
+ |---------|-------------|
79
+ | `/how-to:create-block` | Create page builder blocks |
80
+
81
+ ### Permissions & Billing
82
+
83
+ | Command | Description |
84
+ |---------|-------------|
85
+ | `/how-to:set-plans-and-permissions` | Configure subscription plans and features |
86
+ | `/how-to:set-user-roles-and-permissions` | Configure team roles and RBAC |
87
+
88
+ ### Plugins & Extensions
89
+
90
+ | Command | Description |
91
+ |---------|-------------|
92
+ | `/how-to:create-plugin` | Create a new plugin from scratch |
93
+ | `/how-to:install-plugins` | Install and configure plugins |
94
+ | `/how-to:set-scheduled-actions` | Configure background tasks and cron jobs |
95
+
96
+ ### Customization
97
+
98
+ | Command | Description |
99
+ |---------|-------------|
100
+ | `/how-to:customize-theme` | Customize design system and styles |
101
+ | `/how-to:customize-dashboard` | Customize dashboard layout and navigation |
102
+ | `/how-to:customize-app` | App-level customizations and settings |
103
+
104
+ ### Testing & Deployment
105
+
106
+ | Command | Description |
107
+ |---------|-------------|
108
+ | `/how-to:add-translations` | Add translations for your content |
109
+ | `/how-to:run-tests` | Run Cypress API and E2E tests |
110
+ | `/how-to:deploy` | Deploy to production |
111
+
112
+ ---
113
+
114
+ ## Interaction Pattern
115
+
116
+ During any how-to tutorial, Claude will:
117
+
118
+ 1. **Show the current step** with clear instructions
119
+ 2. **Wait for your confirmation** or questions
120
+ 3. **Validate your implementation** when requested
121
+ 4. **Answer questions** at any point
122
+
123
+ ### Response Options at Each Step
124
+
125
+ ```
126
+ 📚 STEP 2 OF 5: Create the Entity Configuration
127
+
128
+ [Instructions for this step...]
129
+
130
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
131
+
132
+ What would you like to do?
133
+
134
+ [1] Continue to next step
135
+ [2] See code example
136
+ [3] I have a question
137
+ [4] Apply this to my project now
138
+ [5] Skip this step
139
+ [6] Exit tutorial
140
+ ```
141
+
142
+ ---
143
+
144
+ ## Example Session
145
+
146
+ ```
147
+ > /how-to:create-entity
148
+
149
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
150
+ 📚 HOW TO: CREATE AN ENTITY
151
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
152
+
153
+ Welcome! This tutorial will guide you through creating
154
+ a new entity in NextSpark with full CRUD capabilities.
155
+
156
+ 📋 What you'll learn:
157
+ • Entity configuration structure
158
+ • Database migration with RLS
159
+ • Automatic API generation
160
+ • Dashboard integration
161
+
162
+ ⏱️ Estimated time: 15-20 minutes
163
+
164
+ Prerequisites:
165
+ ✓ NextSpark project set up
166
+ ✓ Database running
167
+ ✓ Active theme configured
168
+
169
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
170
+
171
+ Ready to begin? What entity would you like to create?
172
+
173
+ > Products entity with name, price, and category
174
+
175
+ Great! Let's create the Products entity. Starting with Step 1...
176
+ ```
177
+
178
+ ---
179
+
180
+ ## Command Standards
181
+
182
+ Each how-to command follows these conventions:
183
+
184
+ ### 1. Clear Step Numbers
185
+
186
+ Every step is numbered (STEP 1 OF N) so users know their progress.
187
+
188
+ ### 2. Interactive Checkpoints
189
+
190
+ After each major step, Claude asks the user to confirm understanding or if they have questions.
191
+
192
+ ### 3. Code Validation
193
+
194
+ When users implement code, Claude offers to validate their implementation.
195
+
196
+ ### 4. Related Skills
197
+
198
+ Each tutorial references related skills for deeper learning.
199
+
200
+ ### 5. Exit Gracefully
201
+
202
+ Users can exit at any point. Progress context is preserved for the session.
203
+
204
+ ---
205
+
206
+ ## Naming Convention
207
+
208
+ ```
209
+ how-to: (prefix) → TUTORIAL command namespace
210
+
211
+ /how-to:create-entity → "create entity" tutorial
212
+ /how-to:setup-database → "setup database" tutorial
213
+
214
+ - (hyphen) → COMPOUND WORD separator
215
+
216
+ /how-to:set-app-languages → "set app languages"
217
+ /how-to:customize-dashboard → "customize dashboard"
218
+ ```
219
+
220
+ ---
221
+
222
+ ## Command Files
223
+
224
+ - [start.md](./start.md) - Main index
225
+ - [setup-claude-code.md](./setup-claude-code.md) - AI workflow configuration (FIRST STEP)
226
+ - [setup-database.md](./setup-database.md) - Database setup
227
+ - [setup-authentication.md](./setup-authentication.md) - Auth setup
228
+ - [setup-email-providers.md](./setup-email-providers.md) - Email providers
229
+ - [set-app-languages.md](./set-app-languages.md) - i18n setup
230
+ - [create-entity.md](./create-entity.md) - Entity creation
231
+ - [create-migrations.md](./create-migrations.md) - Database migrations
232
+ - [create-api.md](./create-api.md) - API endpoints
233
+ - [create-block.md](./create-block.md) - Block development
234
+ - [create-plugin.md](./create-plugin.md) - Plugin development
235
+ - [create-child-entities.md](./create-child-entities.md) - Child entities
236
+ - [add-metadata.md](./add-metadata.md) - Metadata system
237
+ - [add-taxonomies.md](./add-taxonomies.md) - Tags and categories
238
+ - [add-translations.md](./add-translations.md) - Translations
239
+ - [set-plans-and-permissions.md](./set-plans-and-permissions.md) - Billing & plans
240
+ - [set-user-roles-and-permissions.md](./set-user-roles-and-permissions.md) - RBAC
241
+ - [set-scheduled-actions.md](./set-scheduled-actions.md) - Background jobs
242
+ - [install-plugins.md](./install-plugins.md) - Plugin installation
243
+ - [customize-theme.md](./customize-theme.md) - Theme customization
244
+ - [customize-dashboard.md](./customize-dashboard.md) - Dashboard customization
245
+ - [customize-app.md](./customize-app.md) - App customization
246
+ - [define-features-flows.md](./define-features-flows.md) - Feature registry
247
+ - [manage-test-coverage.md](./manage-test-coverage.md) - Test coverage
248
+ - [run-tests.md](./run-tests.md) - Testing
249
+ - [deploy.md](./deploy.md) - Deployment
250
+ - [use-superadmin.md](./use-superadmin.md) - Superadmin panel
251
+ - [use-devtools.md](./use-devtools.md) - Developer tools
252
+ - [handle-file-uploads.md](./handle-file-uploads.md) - File uploads
253
+ - [implement-search.md](./implement-search.md) - Search implementation
254
+
255
+ ---
256
+
257
+ ## Related
258
+
259
+ - `/session:*` - Development session commands
260
+ - `.claude/skills/` - Detailed technical knowledge
261
+ - `docs/` - Project documentation