@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,331 @@
1
+ ---
2
+ name: create-theme
3
+ description: |
4
+ Guide for creating new themes from preset template.
5
+ CRITICAL: Includes MANDATORY dependency management rules for NPM distribution.
6
+ allowed-tools: Bash, Read, Write, Edit, Glob, Grep
7
+ version: "2.0"
8
+ ---
9
+
10
+ # Create Theme Skill
11
+
12
+ Complete guide for scaffolding and configuring new themes from the preset template.
13
+
14
+ ---
15
+
16
+ ## ⚠️ MANDATORY: Dependency Management Rules
17
+
18
+ ### Principio Fundamental
19
+
20
+ > **Si `@nextsparkjs/core` tiene una dependencia, los themes DEBEN declararla como `peerDependency`, NUNCA como `dependency`.**
21
+
22
+ ### Template OBLIGATORIO de package.json para Themes
23
+
24
+ ```json
25
+ {
26
+ "name": "@nextsparkjs/theme-NOMBRE",
27
+ "version": "1.0.0",
28
+ "private": false,
29
+ "main": "./config/theme.config.ts",
30
+ "dependencies": {
31
+ // Plugins que el theme requiere
32
+ "@nextsparkjs/plugin-langchain": "workspace:*"
33
+ },
34
+ "peerDependencies": {
35
+ "@nextsparkjs/core": "workspace:*",
36
+ "next": "^15.0.0",
37
+ "react": "^19.0.0",
38
+ "react-dom": "^19.0.0",
39
+ "zod": "^4.0.0"
40
+ // Agregar otras de core que el theme use directamente
41
+ }
42
+ }
43
+ ```
44
+
45
+ ### Import Rules
46
+
47
+ | Package | Can Import From |
48
+ |---------|-----------------|
49
+ | Theme | Core (peer), plugins (dep/peer), itself (never other themes) |
50
+
51
+ ---
52
+
53
+ ## Prerequisites
54
+
55
+ - **Command:** `pnpm create:theme <theme-name>`
56
+ - **Preset Location:** `core/templates/contents/themes/starter/`
57
+ - **Output Location:** `themes/<theme-name>/`
58
+
59
+ ---
60
+
61
+ ## Step 1: Gather Requirements
62
+
63
+ Before creating ANY theme, collect:
64
+
65
+ ```markdown
66
+ Required Information:
67
+ 1. Theme name (lowercase, hyphenated slug)
68
+ 2. Display name (human-readable)
69
+ 3. Description (purpose of the theme)
70
+ 4. Author (team or individual)
71
+ 5. Primary use case (SaaS type, industry, features)
72
+ 6. Color preferences (optional - can use defaults)
73
+ ```
74
+
75
+ ---
76
+
77
+ ## Step 2: Create Theme from Preset
78
+
79
+ ### Basic Usage
80
+
81
+ ```bash
82
+ pnpm create:theme <theme-name>
83
+ ```
84
+
85
+ ### With Options
86
+
87
+ ```bash
88
+ pnpm create:theme <theme-name> \
89
+ --description "Theme description" \
90
+ --author "Author Name" \
91
+ --display-name "Display Name"
92
+ ```
93
+
94
+ ### Example
95
+
96
+ ```bash
97
+ pnpm create:theme project-manager \
98
+ --description "Project management SaaS application" \
99
+ --author "Development Team" \
100
+ --display-name "Project Manager"
101
+ ```
102
+
103
+ ---
104
+
105
+ ## Step 3: Theme Structure Created
106
+
107
+ ```
108
+ contents/themes/<theme-name>/
109
+ ├── config/
110
+ │ ├── theme.config.ts # Visual configuration
111
+ │ ├── app.config.ts # Application overrides
112
+ │ ├── dashboard.config.ts # Dashboard settings
113
+ │ └── permissions.config.ts # Permission overrides
114
+ ├── about.md # Theme description
115
+ ├── styles/
116
+ │ ├── globals.css # CSS variables
117
+ │ └── components.css # Component overrides
118
+ ├── messages/
119
+ │ ├── en.json # English translations
120
+ │ └── es.json # Spanish translations
121
+ ├── migrations/
122
+ │ ├── README.md # Migration docs
123
+ │ └── 001_example_schema.sql
124
+ ├── docs/01-overview/
125
+ │ ├── 01-introduction.md
126
+ │ └── 02-customization.md
127
+ ├── blocks/hero/ # Example hero block
128
+ ├── entities/ # Data entities (optional)
129
+ │ └── [entity]/ # Each entity has 4 required files
130
+ │ ├── [entity].config.ts
131
+ │ ├── [entity].fields.ts
132
+ │ ├── [entity].types.ts
133
+ │ ├── [entity].service.ts
134
+ │ └── messages/
135
+ ├── templates/ # Page overrides
136
+ ├── public/brand/ # Brand assets
137
+ └── tests/ # Theme tests
138
+ ```
139
+
140
+ ---
141
+
142
+ ## Step 4: Customize Configuration
143
+
144
+ ### 4.1 theme.config.ts - Visual Identity
145
+
146
+ ```typescript
147
+ colors: {
148
+ light: {
149
+ // Blue for corporate/professional
150
+ primary: 'oklch(0.55 0.2 250)',
151
+ // Green for productivity/growth
152
+ // primary: 'oklch(0.55 0.2 150)',
153
+ // Orange for creative/energy
154
+ // primary: 'oklch(0.65 0.2 50)',
155
+ // Purple for premium/luxury
156
+ // primary: 'oklch(0.55 0.2 300)',
157
+ }
158
+ }
159
+
160
+ // Enable required plugins
161
+ plugins: [
162
+ // 'plugin-analytics',
163
+ // 'plugin-payments',
164
+ ]
165
+ ```
166
+
167
+ ### Color Presets by Use Case
168
+
169
+ | Use Case | Color | OKLCH Value |
170
+ |----------|-------|-------------|
171
+ | Corporate/Professional | Blue | `oklch(0.55 0.2 250)` |
172
+ | Productivity/Growth | Green | `oklch(0.55 0.2 150)` |
173
+ | Creative/Energy | Orange | `oklch(0.65 0.2 50)` |
174
+ | Premium/Luxury | Purple | `oklch(0.55 0.2 300)` |
175
+ | Healthcare/Trust | Teal | `oklch(0.55 0.15 200)` |
176
+ | Finance/Stability | Navy | `oklch(0.45 0.15 260)` |
177
+ | E-commerce/Action | Red | `oklch(0.55 0.2 25)` |
178
+
179
+ ### 4.2 app.config.ts - Application Behavior
180
+
181
+ ```typescript
182
+ // Multi-tenant SaaS
183
+ teams: {
184
+ allowCreation: true,
185
+ maxTeamsPerUser: 5,
186
+ }
187
+
188
+ // Single-tenant Application
189
+ teams: {
190
+ allowCreation: false,
191
+ maxTeamsPerUser: 1,
192
+ }
193
+
194
+ // Features
195
+ features: {
196
+ enableDocs: true, // Documentation site
197
+ enableBlog: false, // Blog functionality
198
+ }
199
+ ```
200
+
201
+ ### 4.3 dashboard.config.ts - Admin Interface
202
+
203
+ ```typescript
204
+ topbar: {
205
+ showSearch: true,
206
+ showNotifications: true,
207
+ showMessages: false,
208
+ }
209
+
210
+ sidebar: {
211
+ defaultCollapsed: false,
212
+ showEntityCounts: true,
213
+ }
214
+
215
+ entities: {
216
+ defaultPageSize: 25,
217
+ enableBulkActions: true,
218
+ }
219
+ ```
220
+
221
+ ---
222
+
223
+ ## Step 5: Verify Theme Setup
224
+
225
+ ```bash
226
+ # 1. Verify theme structure
227
+ ls -la contents/themes/<theme-name>/
228
+
229
+ # 2. Build registry to include new theme
230
+ node core/scripts/build/registry.mjs
231
+
232
+ # 3. Verify theme appears in registry
233
+ grep "<theme-name>" core/lib/registries/theme-registry.ts
234
+
235
+ # 4. Test theme activation (optional)
236
+ # Update .env.local: NEXT_PUBLIC_ACTIVE_THEME='<theme-name>'
237
+ # Run: pnpm dev
238
+ ```
239
+
240
+ ---
241
+
242
+ ## Step 6: Entity Structure (4-File Pattern)
243
+
244
+ Each theme entity requires 4 files:
245
+
246
+ | File | Purpose |
247
+ |------|---------|
248
+ | `[entity].config.ts` | Entity configuration |
249
+ | `[entity].fields.ts` | Field definitions |
250
+ | `[entity].types.ts` | TypeScript types |
251
+ | `[entity].service.ts` | Data access service |
252
+
253
+ **Reference:** `core/templates/contents/themes/starter/entities/tasks/`
254
+
255
+ ---
256
+
257
+ ## Verification Checklist
258
+
259
+ ### Antes de crear un theme (OBLIGATORIO):
260
+
261
+ - [ ] Verificar si las dependencias que necesito ya están en core
262
+ - [ ] Si están en core → declararlas como `peerDependencies`
263
+ - [ ] Si NO están en core → declararlas como `dependencies`
264
+ - [ ] Plugins como `dependencies` (workspace:*)
265
+ - [ ] NUNCA duplicar: zod, react, next, @tanstack/*, lucide-react, etc.
266
+ - [ ] NUNCA importar de otros themes
267
+
268
+ ### Después de crear el theme:
269
+
270
+ - [ ] Theme name follows naming conventions (lowercase, hyphenated)
271
+ - [ ] All preset files created successfully
272
+ - [ ] `package.json` created with correct peerDependencies
273
+ - [ ] theme.config.ts customized with appropriate colors
274
+ - [ ] app.config.ts configured for use case
275
+ - [ ] dashboard.config.ts settings appropriate
276
+ - [ ] permissions.config.ts reviewed
277
+ - [ ] messages/ translations have correct theme name
278
+ - [ ] Registry rebuilt: `node core/scripts/build/registry.mjs`
279
+ - [ ] Theme appears in THEME_REGISTRY
280
+ - [ ] No TypeScript errors
281
+
282
+ ### Validación de Dependencias:
283
+
284
+ ```bash
285
+ # Verificar que no hay duplicados
286
+ pnpm ls zod
287
+ # Debe mostrar UNA sola versión
288
+ ```
289
+
290
+ ---
291
+
292
+ ## Anti-Patterns
293
+
294
+ | Pattern | Why It's Wrong | Correct Approach |
295
+ |---------|----------------|------------------|
296
+ | Manual file creation | Missing files, wrong structure | Use `pnpm create:theme` |
297
+ | Skipping registry rebuild | Theme won't be recognized | Always run `node core/scripts/build/registry.mjs` |
298
+ | Modifying core files | Architecture violation | Only work in `contents/themes/` |
299
+ | Implementing features | Scope creep | Hand off to backend/frontend agents |
300
+
301
+ ---
302
+
303
+ ## Handoff Template
304
+
305
+ After creating theme, document:
306
+
307
+ ```markdown
308
+ ## Theme Created: <theme-name>
309
+
310
+ ### Completed Setup:
311
+ - Theme scaffolded from preset
312
+ - Visual identity configured (primary color: X)
313
+ - Application settings configured
314
+ - Dashboard layout configured
315
+
316
+ ### Ready for Development:
317
+ - Backend: Add custom entities, migrations, API endpoints
318
+ - Frontend: Customize UI components, add blocks
319
+
320
+ ### Environment Setup:
321
+ NEXT_PUBLIC_ACTIVE_THEME='<theme-name>'
322
+ ```
323
+
324
+ ---
325
+
326
+ ## Related Documentation
327
+
328
+ - **`monorepo-architecture` skill** - CRITICAL: Package hierarchy and dependency management rules
329
+ - Entity System: `core/docs/04-entities/`
330
+ - Theme Config: `core/docs/02-themes/`
331
+ - Registry System: `core/docs/03-registry-system/`