flyee 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (302) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +134 -0
  3. package/bin/install.js +357 -0
  4. package/bridge/bridge.py +1780 -0
  5. package/bridge/local_tracker.py +722 -0
  6. package/core/agents/backend-specialist.md +266 -0
  7. package/core/agents/code-archaeologist.md +106 -0
  8. package/core/agents/database-architect.md +226 -0
  9. package/core/agents/debugger.md +225 -0
  10. package/core/agents/devops-engineer.md +323 -0
  11. package/core/agents/documentation-writer.md +104 -0
  12. package/core/agents/explorer-agent.md +73 -0
  13. package/core/agents/frontend-specialist.md +743 -0
  14. package/core/agents/game-developer.md +162 -0
  15. package/core/agents/mobile-developer.md +377 -0
  16. package/core/agents/orchestrator.md +416 -0
  17. package/core/agents/penetration-tester.md +188 -0
  18. package/core/agents/performance-optimizer.md +187 -0
  19. package/core/agents/product-manager.md +112 -0
  20. package/core/agents/product-owner.md +95 -0
  21. package/core/agents/project-planner.md +470 -0
  22. package/core/agents/qa-automation-engineer.md +103 -0
  23. package/core/agents/security-auditor.md +170 -0
  24. package/core/agents/seo-specialist.md +111 -0
  25. package/core/agents/stitch-designer.md +190 -0
  26. package/core/agents/tdd-reviewer.md +282 -0
  27. package/core/agents/test-engineer.md +158 -0
  28. package/core/scripts/auto_preview.py +148 -0
  29. package/core/scripts/checklist.py +243 -0
  30. package/core/scripts/cost_report.py +149 -0
  31. package/core/scripts/doc-sync-check.py +461 -0
  32. package/core/scripts/parse_user_stories.py +79 -0
  33. package/core/scripts/prepare_notion_updates.py +172 -0
  34. package/core/scripts/print_create_payload.py +18 -0
  35. package/core/scripts/session_manager.py +120 -0
  36. package/core/scripts/task_complete.py +127 -0
  37. package/core/scripts/verify_all.py +327 -0
  38. package/core/skills/analytics-strategy/SKILL.md +128 -0
  39. package/core/skills/api-patterns/SKILL.md +81 -0
  40. package/core/skills/api-patterns/api-style.md +42 -0
  41. package/core/skills/api-patterns/auth.md +24 -0
  42. package/core/skills/api-patterns/documentation.md +26 -0
  43. package/core/skills/api-patterns/graphql.md +41 -0
  44. package/core/skills/api-patterns/rate-limiting.md +31 -0
  45. package/core/skills/api-patterns/response.md +37 -0
  46. package/core/skills/api-patterns/rest.md +40 -0
  47. package/core/skills/api-patterns/scripts/api_validator.py +211 -0
  48. package/core/skills/api-patterns/security-testing.md +122 -0
  49. package/core/skills/api-patterns/trpc.md +41 -0
  50. package/core/skills/api-patterns/versioning.md +22 -0
  51. package/core/skills/app-builder/SKILL.md +75 -0
  52. package/core/skills/app-builder/agent-coordination.md +71 -0
  53. package/core/skills/app-builder/feature-building.md +53 -0
  54. package/core/skills/app-builder/project-detection.md +34 -0
  55. package/core/skills/app-builder/scaffolding.md +118 -0
  56. package/core/skills/app-builder/tech-stack.md +40 -0
  57. package/core/skills/app-builder/templates/SKILL.md +39 -0
  58. package/core/skills/app-builder/templates/astro-static/TEMPLATE.md +76 -0
  59. package/core/skills/app-builder/templates/chrome-extension/TEMPLATE.md +92 -0
  60. package/core/skills/app-builder/templates/cli-tool/TEMPLATE.md +88 -0
  61. package/core/skills/app-builder/templates/electron-desktop/TEMPLATE.md +88 -0
  62. package/core/skills/app-builder/templates/express-api/TEMPLATE.md +83 -0
  63. package/core/skills/app-builder/templates/flutter-app/TEMPLATE.md +90 -0
  64. package/core/skills/app-builder/templates/monorepo-turborepo/TEMPLATE.md +90 -0
  65. package/core/skills/app-builder/templates/nextjs-fullstack/TEMPLATE.md +82 -0
  66. package/core/skills/app-builder/templates/nextjs-saas/TEMPLATE.md +100 -0
  67. package/core/skills/app-builder/templates/nextjs-static/TEMPLATE.md +106 -0
  68. package/core/skills/app-builder/templates/nuxt-app/TEMPLATE.md +101 -0
  69. package/core/skills/app-builder/templates/python-fastapi/TEMPLATE.md +83 -0
  70. package/core/skills/app-builder/templates/react-native-app/TEMPLATE.md +93 -0
  71. package/core/skills/architecture/SKILL.md +55 -0
  72. package/core/skills/architecture/context-discovery.md +43 -0
  73. package/core/skills/architecture/examples.md +94 -0
  74. package/core/skills/architecture/pattern-selection.md +68 -0
  75. package/core/skills/architecture/patterns-reference.md +50 -0
  76. package/core/skills/architecture/trade-off-analysis.md +77 -0
  77. package/core/skills/atomic-design/SKILL.md +282 -0
  78. package/core/skills/atomic-design/references/classification-guide.md +132 -0
  79. package/core/skills/atomic-design/references/quality-checklist.md +60 -0
  80. package/core/skills/atomic-design/references/stacks/stack-blade.md +254 -0
  81. package/core/skills/atomic-design/references/stacks/stack-nextjs.md +272 -0
  82. package/core/skills/atomic-design/references/stacks/stack-react.md +239 -0
  83. package/core/skills/atomic-design/references/stacks/stack-vue.md +224 -0
  84. package/core/skills/bash-linux/SKILL.md +199 -0
  85. package/core/skills/behavioral-modes/SKILL.md +242 -0
  86. package/core/skills/brainstorming/SKILL.md +163 -0
  87. package/core/skills/brainstorming/dynamic-questioning.md +373 -0
  88. package/core/skills/checkpointing-patterns/SKILL.md +163 -0
  89. package/core/skills/clean-code/SKILL.md +201 -0
  90. package/core/skills/code-review-checklist/SKILL.md +109 -0
  91. package/core/skills/code-truth-validation/SKILL.md +149 -0
  92. package/core/skills/component-library-discovery/SKILL.md +154 -0
  93. package/core/skills/content-strategy/SKILL.md +222 -0
  94. package/core/skills/context-budget/SKILL.md +155 -0
  95. package/core/skills/context-gathering-patterns/SKILL.md +278 -0
  96. package/core/skills/cost-tracking/SKILL.md +206 -0
  97. package/core/skills/database-design/SKILL.md +52 -0
  98. package/core/skills/database-design/database-selection.md +43 -0
  99. package/core/skills/database-design/indexing.md +39 -0
  100. package/core/skills/database-design/migrations.md +48 -0
  101. package/core/skills/database-design/optimization.md +36 -0
  102. package/core/skills/database-design/orm-selection.md +30 -0
  103. package/core/skills/database-design/schema-design.md +56 -0
  104. package/core/skills/database-design/scripts/schema_validator.py +172 -0
  105. package/core/skills/deployment-procedures/SKILL.md +295 -0
  106. package/core/skills/design-md/README.md +34 -0
  107. package/core/skills/design-md/SKILL.md +172 -0
  108. package/core/skills/design-md/examples/DESIGN.md +154 -0
  109. package/core/skills/design-system-enforcement/SKILL.md +339 -0
  110. package/core/skills/doc.md +177 -0
  111. package/core/skills/document-registry/SKILL.md +130 -0
  112. package/core/skills/documentation-publishing/SKILL.md +174 -0
  113. package/core/skills/documentation-templates/SKILL.md +194 -0
  114. package/core/skills/enhance-prompt/README.md +34 -0
  115. package/core/skills/enhance-prompt/SKILL.md +204 -0
  116. package/core/skills/enhance-prompt/references/KEYWORDS.md +114 -0
  117. package/core/skills/frontend-design/SKILL.md +430 -0
  118. package/core/skills/frontend-design/animation-guide.md +331 -0
  119. package/core/skills/frontend-design/color-system.md +311 -0
  120. package/core/skills/frontend-design/decision-trees.md +418 -0
  121. package/core/skills/frontend-design/motion-graphics.md +306 -0
  122. package/core/skills/frontend-design/scripts/accessibility_checker.py +183 -0
  123. package/core/skills/frontend-design/scripts/ux_audit.py +722 -0
  124. package/core/skills/frontend-design/typography-system.md +345 -0
  125. package/core/skills/frontend-design/ux-psychology.md +541 -0
  126. package/core/skills/frontend-design/visual-effects.md +383 -0
  127. package/core/skills/game-development/2d-games/SKILL.md +119 -0
  128. package/core/skills/game-development/3d-games/SKILL.md +135 -0
  129. package/core/skills/game-development/SKILL.md +167 -0
  130. package/core/skills/game-development/game-art/SKILL.md +185 -0
  131. package/core/skills/game-development/game-audio/SKILL.md +190 -0
  132. package/core/skills/game-development/game-design/SKILL.md +129 -0
  133. package/core/skills/game-development/mobile-games/SKILL.md +108 -0
  134. package/core/skills/game-development/multiplayer/SKILL.md +132 -0
  135. package/core/skills/game-development/pc-games/SKILL.md +144 -0
  136. package/core/skills/game-development/vr-ar/SKILL.md +123 -0
  137. package/core/skills/game-development/web-games/SKILL.md +150 -0
  138. package/core/skills/geo-fundamentals/SKILL.md +156 -0
  139. package/core/skills/geo-fundamentals/scripts/geo_checker.py +289 -0
  140. package/core/skills/git-workflow/SKILL.md +263 -0
  141. package/core/skills/history-check-patterns/SKILL.md +125 -0
  142. package/core/skills/i18n-localization/SKILL.md +154 -0
  143. package/core/skills/i18n-localization/scripts/i18n_checker.py +241 -0
  144. package/core/skills/integration-completeness/SKILL.md +219 -0
  145. package/core/skills/intelligent-routing/SKILL.md +370 -0
  146. package/core/skills/lint-and-validate/SKILL.md +45 -0
  147. package/core/skills/lint-and-validate/scripts/lint_runner.py +173 -0
  148. package/core/skills/lint-and-validate/scripts/type_coverage.py +173 -0
  149. package/core/skills/local-verification/SKILL.md +195 -0
  150. package/core/skills/mcp-builder/SKILL.md +176 -0
  151. package/core/skills/mobile-design/SKILL.md +394 -0
  152. package/core/skills/mobile-design/decision-trees.md +516 -0
  153. package/core/skills/mobile-design/mobile-backend.md +491 -0
  154. package/core/skills/mobile-design/mobile-color-system.md +420 -0
  155. package/core/skills/mobile-design/mobile-debugging.md +122 -0
  156. package/core/skills/mobile-design/mobile-design-thinking.md +357 -0
  157. package/core/skills/mobile-design/mobile-navigation.md +458 -0
  158. package/core/skills/mobile-design/mobile-performance.md +767 -0
  159. package/core/skills/mobile-design/mobile-testing.md +356 -0
  160. package/core/skills/mobile-design/mobile-typography.md +433 -0
  161. package/core/skills/mobile-design/platform-android.md +666 -0
  162. package/core/skills/mobile-design/platform-ios.md +561 -0
  163. package/core/skills/mobile-design/scripts/mobile_audit.py +670 -0
  164. package/core/skills/mobile-design/touch-psychology.md +537 -0
  165. package/core/skills/nextjs-react-expert/1-async-eliminating-waterfalls.md +312 -0
  166. package/core/skills/nextjs-react-expert/2-bundle-bundle-size-optimization.md +240 -0
  167. package/core/skills/nextjs-react-expert/3-server-server-side-performance.md +490 -0
  168. package/core/skills/nextjs-react-expert/4-client-client-side-data-fetching.md +264 -0
  169. package/core/skills/nextjs-react-expert/5-rerender-re-render-optimization.md +581 -0
  170. package/core/skills/nextjs-react-expert/6-rendering-rendering-performance.md +432 -0
  171. package/core/skills/nextjs-react-expert/7-js-javascript-performance.md +684 -0
  172. package/core/skills/nextjs-react-expert/8-advanced-advanced-patterns.md +150 -0
  173. package/core/skills/nextjs-react-expert/SKILL.md +267 -0
  174. package/core/skills/nextjs-react-expert/scripts/convert_rules.py +222 -0
  175. package/core/skills/nextjs-react-expert/scripts/react_performance_checker.py +252 -0
  176. package/core/skills/nodejs-best-practices/SKILL.md +333 -0
  177. package/core/skills/notion-task-patterns/SKILL.md +2529 -0
  178. package/core/skills/page-specifications/SKILL.md +367 -0
  179. package/core/skills/parallel-agents/SKILL.md +175 -0
  180. package/core/skills/performance-profiling/SKILL.md +143 -0
  181. package/core/skills/performance-profiling/scripts/lighthouse_audit.py +76 -0
  182. package/core/skills/plan-writing/SKILL.md +190 -0
  183. package/core/skills/powershell-windows/SKILL.md +167 -0
  184. package/core/skills/project-foundation/SKILL.md +117 -0
  185. package/core/skills/project-setup/SKILL.md +141 -0
  186. package/core/skills/project-tracking-patterns/SKILL.md +357 -0
  187. package/core/skills/project-type-discovery/SKILL.md +239 -0
  188. package/core/skills/python-patterns/SKILL.md +441 -0
  189. package/core/skills/qa-test-generation/SKILL.md +156 -0
  190. package/core/skills/react-components/README.md +36 -0
  191. package/core/skills/react-components/SKILL.md +47 -0
  192. package/core/skills/react-components/examples/gold-standard-card.tsx +80 -0
  193. package/core/skills/react-components/package-lock.json +231 -0
  194. package/core/skills/react-components/package.json +16 -0
  195. package/core/skills/react-components/resources/architecture-checklist.md +15 -0
  196. package/core/skills/react-components/resources/component-template.tsx +37 -0
  197. package/core/skills/react-components/resources/stitch-api-reference.md +14 -0
  198. package/core/skills/react-components/resources/style-guide.json +27 -0
  199. package/core/skills/react-components/scripts/fetch-stitch.sh +30 -0
  200. package/core/skills/react-components/scripts/validate.js +68 -0
  201. package/core/skills/red-team-tactics/SKILL.md +199 -0
  202. package/core/skills/remotion/README.md +105 -0
  203. package/core/skills/remotion/SKILL.md +393 -0
  204. package/core/skills/remotion/examples/WalkthroughComposition.tsx +78 -0
  205. package/core/skills/remotion/examples/screens.json +56 -0
  206. package/core/skills/remotion/resources/composition-checklist.md +124 -0
  207. package/core/skills/remotion/resources/screen-slide-template.tsx +123 -0
  208. package/core/skills/remotion/scripts/download-stitch-asset.sh +38 -0
  209. package/core/skills/seo-fundamentals/SKILL.md +129 -0
  210. package/core/skills/seo-fundamentals/scripts/seo_checker.py +219 -0
  211. package/core/skills/server-management/SKILL.md +161 -0
  212. package/core/skills/session-resilience/SKILL.md +199 -0
  213. package/core/skills/shadcn-ui/README.md +248 -0
  214. package/core/skills/shadcn-ui/SKILL.md +326 -0
  215. package/core/skills/shadcn-ui/examples/auth-layout.tsx +177 -0
  216. package/core/skills/shadcn-ui/examples/data-table.tsx +313 -0
  217. package/core/skills/shadcn-ui/examples/form-pattern.tsx +177 -0
  218. package/core/skills/shadcn-ui/resources/component-catalog.md +481 -0
  219. package/core/skills/shadcn-ui/resources/customization-guide.md +516 -0
  220. package/core/skills/shadcn-ui/resources/migration-guide.md +463 -0
  221. package/core/skills/shadcn-ui/resources/setup-guide.md +412 -0
  222. package/core/skills/shadcn-ui/scripts/verify-setup.sh +134 -0
  223. package/core/skills/state-machine/SKILL.md +264 -0
  224. package/core/skills/stitch-loop/README.md +54 -0
  225. package/core/skills/stitch-loop/SKILL.md +203 -0
  226. package/core/skills/stitch-loop/examples/SITE.md +73 -0
  227. package/core/skills/stitch-loop/examples/next-prompt.md +25 -0
  228. package/core/skills/stitch-loop/resources/baton-schema.md +61 -0
  229. package/core/skills/stitch-loop/resources/site-template.md +104 -0
  230. package/core/skills/systematic-debugging/SKILL.md +109 -0
  231. package/core/skills/tailwind-patterns/SKILL.md +284 -0
  232. package/core/skills/tdd-validation/SKILL.md +243 -0
  233. package/core/skills/tdd-workflow/SKILL.md +284 -0
  234. package/core/skills/testing-patterns/SKILL.md +196 -0
  235. package/core/skills/testing-patterns/scripts/test_runner.py +219 -0
  236. package/core/skills/ui-ux-discovery/SKILL.md +329 -0
  237. package/core/skills/ui-validation/SKILL.md +190 -0
  238. package/core/skills/ui-validation/scripts/ui_antipattern_check.py +317 -0
  239. package/core/skills/verification-gate/SKILL.md +205 -0
  240. package/core/skills/vulnerability-scanner/SKILL.md +276 -0
  241. package/core/skills/vulnerability-scanner/checklists.md +121 -0
  242. package/core/skills/vulnerability-scanner/scripts/security_scan.py +458 -0
  243. package/core/skills/web-design-guidelines/SKILL.md +57 -0
  244. package/core/skills/webapp-testing/SKILL.md +187 -0
  245. package/core/skills/webapp-testing/scripts/playwright_runner.py +173 -0
  246. package/core/templates/ARCHITECTURE.template.md +407 -0
  247. package/core/templates/project-resources.example.json +71 -0
  248. package/core/workflows/atomic.md +182 -0
  249. package/core/workflows/brainstorm.md +134 -0
  250. package/core/workflows/check-task.md +242 -0
  251. package/core/workflows/copy-collect.md +306 -0
  252. package/core/workflows/create-agent.md +33 -0
  253. package/core/workflows/create-skill.md +39 -0
  254. package/core/workflows/create-workflow.md +33 -0
  255. package/core/workflows/create.md +92 -0
  256. package/core/workflows/debug.md +186 -0
  257. package/core/workflows/demand.md +443 -0
  258. package/core/workflows/deploy.md +260 -0
  259. package/core/workflows/discovery.md +267 -0
  260. package/core/workflows/document.md +272 -0
  261. package/core/workflows/ds-components.md +296 -0
  262. package/core/workflows/ds-init.md +58 -0
  263. package/core/workflows/ds-refactor.md +245 -0
  264. package/core/workflows/ds-references.md +197 -0
  265. package/core/workflows/ds-styleguide.md +237 -0
  266. package/core/workflows/ds-token-diff.md +103 -0
  267. package/core/workflows/ds-tokens.md +317 -0
  268. package/core/workflows/ds-validate.md +309 -0
  269. package/core/workflows/execute.md +483 -0
  270. package/core/workflows/extract-template.md +278 -0
  271. package/core/workflows/fix-failed-tests.md +160 -0
  272. package/core/workflows/init-project.md +386 -0
  273. package/core/workflows/legacy-project.md +849 -0
  274. package/core/workflows/log.md +97 -0
  275. package/core/workflows/new-project.md +610 -0
  276. package/core/workflows/new-project.md.bak +3292 -0
  277. package/core/workflows/new-task.md +404 -0
  278. package/core/workflows/orchestrate.md +237 -0
  279. package/core/workflows/page-build.md +296 -0
  280. package/core/workflows/plan.md +89 -0
  281. package/core/workflows/prd.md +255 -0
  282. package/core/workflows/preview.md +81 -0
  283. package/core/workflows/review-page.md +304 -0
  284. package/core/workflows/status.md +86 -0
  285. package/core/workflows/stitch.md +226 -0
  286. package/core/workflows/task-complete.md +473 -0
  287. package/core/workflows/task-update.md +163 -0
  288. package/core/workflows/tdd.md +344 -0
  289. package/core/workflows/test.md +251 -0
  290. package/core/workflows/ui-ux-pro-max.md +437 -0
  291. package/core/workflows/ux-mobile-optimize.md +262 -0
  292. package/core/workflows/ux-mobile-validate.md +297 -0
  293. package/engine-files/GEMINI.md +69 -0
  294. package/package.json +47 -0
  295. package/runtime-adapters/antigravity.js +26 -0
  296. package/runtime-adapters/claude.js +57 -0
  297. package/runtime-adapters/codex.js +51 -0
  298. package/runtime-adapters/copilot.js +51 -0
  299. package/runtime-adapters/cursor.js +51 -0
  300. package/runtime-adapters/gemini-cli.js +30 -0
  301. package/runtime-adapters/opencode.js +51 -0
  302. package/runtime-adapters/windsurf.js +51 -0
@@ -0,0 +1,282 @@
1
+ ---
2
+ name: atomic-design
3
+ description: Stack-agnostic Atomic Design component generation. Creates well-structured Atoms, Molecules, and Organisms with design tokens, typing, tests, and quality gates. Works with React, Vue, Blade, or any stack.
4
+ ---
5
+
6
+ # Atomic Design Component Builder
7
+
8
+ > **Philosophy:** Components are the building blocks of interfaces. Structure them right once, reuse forever.
9
+ > **Core Principle:** Atomic Design is a METHODOLOGY, not a technology. Stack is an implementation detail.
10
+
11
+ ---
12
+
13
+ ## 🎯 Selective Reading Rule (MANDATORY)
14
+
15
+ | File | Status | When to Read |
16
+ |------|--------|--------------|
17
+ | [classification-guide.md](references/classification-guide.md) | 🔴 **REQUIRED** | Always — defines Atom/Molecule/Organism |
18
+ | [quality-checklist.md](references/quality-checklist.md) | 🔴 **REQUIRED** | Always — the quality gate |
19
+ | [stack-react.md](references/stacks/stack-react.md) | ⚪ Stack-specific | When target is React (Vite, CRA) |
20
+ | [stack-nextjs.md](references/stacks/stack-nextjs.md) | ⚪ Stack-specific | When target is Next.js (App Router) |
21
+ | [stack-vue.md](references/stacks/stack-vue.md) | ⚪ Stack-specific | When target is Vue/Nuxt |
22
+ | [stack-blade.md](references/stacks/stack-blade.md) | ⚪ Stack-specific | When target is Laravel Blade |
23
+
24
+ > 🔴 **Read Classification Guide + Quality Checklist ALWAYS. Then read the stack adapter that matches the project.**
25
+
26
+ ---
27
+
28
+ ## 1. Stack Detection (ALWAYS FIRST)
29
+
30
+ Before generating any component, determine the stack:
31
+
32
+ ### Auto-Detection
33
+
34
+ 1. Scan project root for indicators:
35
+ - `next.config.*` → **Next.js** (use `stack-nextjs.md`)
36
+ - `vite.config.*` + `react` in package.json → **React** (use `stack-react.md`)
37
+ - `nuxt.config.*` or `vite.config.*` + `vue` in package.json → **Vue**
38
+ - `artisan` + `resources/views/` → **Blade**
39
+ - `svelte.config.*` → **Svelte** (use principles, no adapter yet)
40
+ - `angular.json` → **Angular** (use principles, no adapter yet)
41
+
42
+ 2. If auto-detection fails → **ASK** the user
43
+
44
+ ### Stack Adapter Loading
45
+
46
+ Once stack is known:
47
+ 1. Read the matching `references/stacks/stack-{name}.md`
48
+ 2. Use its folder structure, file patterns, and templates
49
+ 3. If no adapter exists → apply universal principles from this SKILL.md
50
+
51
+ ---
52
+
53
+ ## 2. Component Generation Workflow
54
+
55
+ ### Phase 1: Discovery
56
+
57
+ Before writing ANY code:
58
+
59
+ 1. **Component Name** — What is it called? (PascalCase for JS, kebab-case for Blade)
60
+ 2. **Category** — Atom, Molecule, or Organism? (read classification guide if unsure)
61
+ 3. **Reference** — Figma link, screenshot, or text description?
62
+ 4. **Base Library** — Use a UI library base? (shadcn, Headless UI, Radix, none)
63
+ 5. **Extras** — Storybook story? Tests?
64
+
65
+ > 🔴 **Ask ONE question at a time. Wait for response before next.**
66
+
67
+ ### Phase 2: Infrastructure Check
68
+
69
+ **BEFORE generating any component code:**
70
+
71
+ | Check | Action if Missing |
72
+ |-------|-------------------|
73
+ | **Design Tokens file** | Create starter `variables.css` (see § Token Starter below) |
74
+ | **Test framework** | Ask user: "Install Vitest/PHPUnit/Jest?" |
75
+ | **Storybook** | Ask user: "Install Storybook?" (only if requested) |
76
+ | **UI Library** | Install via CLI if user opted in (e.g., `npx shadcn@latest init`) |
77
+
78
+ ### Phase 3: Scaffold & Implement
79
+
80
+ 1. Create folder structure per stack adapter
81
+ 2. Generate **ALL required files** in sequence:
82
+ - Types/Interface file (FIRST — define the contract)
83
+ - Component implementation
84
+ - Styles (design tokens, BEM naming)
85
+ - Tests (minimum 80% coverage target)
86
+ - Barrel export (index file)
87
+ - Story file (if opted in)
88
+ 3. Run quality checklist (see `references/quality-checklist.md`)
89
+
90
+ ---
91
+
92
+ ## 3. Universal Design Principles
93
+
94
+ ### Atomic Classification (Summary)
95
+
96
+ | Level | What | Examples | Rule |
97
+ |-------|------|----------|------|
98
+ | **Atom** | Smallest indivisible UI element | Button, Input, Icon, Label, Badge | Cannot be broken down further |
99
+ | **Molecule** | Simple group of atoms working together | SearchBar (Input+Button), FormField (Label+Input+Error) | 2-3 atoms combined for one purpose |
100
+ | **Organism** | Complex section composed of molecules/atoms | Header, Card, Modal, Sidebar, DataTable | Self-contained section of interface |
101
+
102
+ > 📖 Full guide with decision tree: [classification-guide.md](references/classification-guide.md)
103
+
104
+ ### Design Token Usage (MANDATORY)
105
+
106
+ **❌ NEVER hardcode style values:**
107
+ ```css
108
+ /* BAD */
109
+ .button { background-color: #0070f3; padding: 16px; }
110
+ ```
111
+
112
+ **✅ ALWAYS use design tokens:**
113
+ ```css
114
+ /* GOOD */
115
+ .button { background-color: var(--color-primary); padding: var(--spacing-md); }
116
+ ```
117
+
118
+ ### Token Starter Template
119
+
120
+ If no token file exists, create `variables.css` (or equivalent):
121
+
122
+ ```css
123
+ :root {
124
+ /* Colors */
125
+ --color-primary: #0070f3;
126
+ --color-secondary: #7928ca;
127
+ --color-text: #333;
128
+ --color-text-light: #666;
129
+ --color-background: #fff;
130
+ --color-border: #e1e1e1;
131
+
132
+ /* Spacing Scale */
133
+ --spacing-xs: 4px;
134
+ --spacing-sm: 8px;
135
+ --spacing-md: 16px;
136
+ --spacing-lg: 24px;
137
+ --spacing-xl: 32px;
138
+
139
+ /* Typography */
140
+ --font-size-sm: 14px;
141
+ --font-size-md: 16px;
142
+ --font-size-lg: 18px;
143
+ --font-weight-normal: 400;
144
+ --font-weight-medium: 500;
145
+ --font-weight-bold: 700;
146
+
147
+ /* Border Radius */
148
+ --radius-sm: 4px;
149
+ --radius-md: 8px;
150
+ --radius-lg: 12px;
151
+ --radius-full: 9999px;
152
+ }
153
+ ```
154
+
155
+ > **Note:** If the project already has a Design System (e.g., via `/ds-init`), use those tokens instead. Do NOT create a duplicate token file.
156
+
157
+ ### BEM Naming (Default Methodology)
158
+
159
+ ```
160
+ Block: .button
161
+ Element: .button__icon
162
+ Modifier: .button--primary
163
+
164
+ Nesting in SCSS/CSS:
165
+ .card {
166
+ &__header { }
167
+ &__body { }
168
+ &--featured { }
169
+ }
170
+ ```
171
+
172
+ > **Exception:** If the stack convention differs (e.g., Tailwind utility-first), follow stack adapter instructions. BEM is the fallback.
173
+
174
+ ### Type Safety (MANDATORY)
175
+
176
+ Every component MUST have typed props/parameters:
177
+
178
+ | Stack | Mechanism |
179
+ |-------|-----------|
180
+ | React/Vue (TS) | TypeScript `interface` with `Readonly<T>` |
181
+ | React (JS) | PropTypes + JSDoc |
182
+ | Vue (SFC) | `defineProps<T>()` with TypeScript |
183
+ | Blade | PHPDoc on Component class + `@props` |
184
+
185
+ **❌ FORBIDDEN:** `any`, `unknown` as prop types, untyped parameters.
186
+
187
+ ### Testing (MANDATORY)
188
+
189
+ | Requirement | Standard |
190
+ |-------------|----------|
191
+ | Coverage target | 80% minimum |
192
+ | Test location | Colocated with component |
193
+ | What to test | Rendering, props, interactions, disabled states, a11y basics |
194
+
195
+ ### Accessibility (MANDATORY)
196
+
197
+ - Semantic HTML elements (not `div` for everything)
198
+ - ARIA attributes where needed
199
+ - Keyboard navigable
200
+ - Sufficient color contrast (WCAG 2.1 AA)
201
+ - Focus indicators visible
202
+
203
+ ---
204
+
205
+ ## 4. Restrictions & Prohibitions
206
+
207
+ ### ❌ Absolute Prohibitions
208
+
209
+ - **NO** hardcoded style values (colors, spacing, font sizes)
210
+ - **NO** untyped props/parameters (`any`, missing types)
211
+ - **NO** monolithic files (split types, styles, tests)
212
+ - **NO** business logic inside components (extract to hooks/composables/services)
213
+ - **NO** static text hardcoded (extract to data/i18n files)
214
+ - **NO** `dangerouslySetInnerHTML` or `v-html` without sanitization
215
+
216
+ ### ✅ Mandatory Requirements
217
+
218
+ - **MUST** check for design tokens before creating component
219
+ - **MUST** create ALL required files per stack adapter
220
+ - **MUST** use design tokens for ALL style values
221
+ - **MUST** type ALL props/parameters
222
+ - **MUST** colocate tests with components
223
+ - **MUST** use barrel exports (index file)
224
+
225
+ ---
226
+
227
+ ## 5. Composition with UI Libraries
228
+
229
+ When user opts to use a base UI library:
230
+
231
+ | Library | Check | Install Command |
232
+ |---------|-------|----------------|
233
+ | shadcn/ui | `components.json` exists? | `npx shadcn@latest init` |
234
+ | Headless UI | In package.json? | `npm install @headlessui/react` |
235
+ | Radix | In package.json? | `npm install @radix-ui/react-*` |
236
+
237
+ ### Hybrid Styling Rule
238
+
239
+ When composing with a UI library:
240
+ - Use the **library's API** for behavior and base structure
241
+ - Use **BEM/token styles** for custom visual overrides
242
+ - Do NOT rebuild what the library provides
243
+
244
+ ---
245
+
246
+ ## 6. Decision Process Summary
247
+
248
+ ```
249
+ For EVERY component:
250
+
251
+ 1. DETECT STACK
252
+ └── Auto-scan or ask user
253
+ └── Load stack adapter
254
+
255
+ 2. CLASSIFY
256
+ └── Atom, Molecule, or Organism?
257
+ └── Use classification guide if unsure
258
+
259
+ 3. CHECK INFRASTRUCTURE
260
+ └── Tokens exist? Tests? Storybook?
261
+ └── Create/install as needed
262
+
263
+ 4. GENERATE
264
+ └── Types FIRST, then component, styles, tests, exports
265
+ └── Use adapter templates
266
+
267
+ 5. QUALITY GATE
268
+ └── Run quality-checklist.md
269
+ └── ALL items must pass before done
270
+ ```
271
+
272
+ ---
273
+
274
+ ## Related Skills
275
+
276
+ | Skill | Relationship |
277
+ |-------|-------------|
278
+ | `frontend-design` | Design principles (colors, typography, UX) — use BEFORE atomic-design |
279
+ | `clean-code` | Code quality standards — always active |
280
+ | `testing-patterns` | Testing strategies — complements test generation |
281
+ | `design-system-enforcement` | Ensures DS compliance — post-generation audit |
282
+ | `shadcn-ui` | shadcn/ui integration details — when using shadcn base |
@@ -0,0 +1,132 @@
1
+ # Atomic Design Classification Guide
2
+
3
+ > When in doubt about how to classify a component, use this decision tree.
4
+
5
+ ---
6
+
7
+ ## Definitions
8
+
9
+ ### Atoms ⚛️
10
+
11
+ The **smallest, indivisible** UI elements. They cannot be broken down further without losing meaning.
12
+
13
+ **Characteristics:**
14
+ - Single responsibility
15
+ - No internal composition (does not contain other components)
16
+ - Accepts props for customization
17
+ - Reusable across the entire application
18
+
19
+ **Examples:**
20
+
21
+ | Atom | Props |
22
+ |------|-------|
23
+ | Button | variant, size, disabled, onClick |
24
+ | Input | type, placeholder, value, onChange |
25
+ | Label | htmlFor, children |
26
+ | Icon | name, size, color |
27
+ | Badge | variant, children |
28
+ | Avatar | src, alt, size |
29
+ | Spinner | size |
30
+ | Divider | orientation |
31
+ | Checkbox | checked, onChange |
32
+ | Tag | color, children |
33
+
34
+ ---
35
+
36
+ ### Molecules 🧬
37
+
38
+ **Simple groups of 2-3 atoms** working together as a unit for a single purpose.
39
+
40
+ **Characteristics:**
41
+ - Combines atoms into a functional unit
42
+ - Has one clear purpose
43
+ - Introduces layout/arrangement logic between atoms
44
+ - Still relatively simple
45
+
46
+ **Examples:**
47
+
48
+ | Molecule | Composed Of |
49
+ |----------|-------------|
50
+ | SearchBar | Input + Button |
51
+ | FormField | Label + Input + ErrorText |
52
+ | NavItem | Icon + Label |
53
+ | ToggleGroup | Label + Toggle |
54
+ | InputWithIcon | Icon + Input |
55
+ | AvatarWithName | Avatar + Label |
56
+ | StatCard | Label + Value (number) |
57
+ | MenuItem | Icon + Label + Badge |
58
+
59
+ ---
60
+
61
+ ### Organisms 🦠
62
+
63
+ **Complex, self-contained sections** composed of multiple molecules and/or atoms. They form distinct regions of the interface.
64
+
65
+ **Characteristics:**
66
+ - Self-contained section of UI
67
+ - May manage internal state
68
+ - Combines multiple molecules/atoms
69
+ - Can be placed directly in a page/template
70
+
71
+ **Examples:**
72
+
73
+ | Organism | Composed Of |
74
+ |----------|-------------|
75
+ | Header | Logo + NavItems + SearchBar + Avatar |
76
+ | Card | Image + Title + Description + Button |
77
+ | Modal | Overlay + Header + Body + Footer |
78
+ | DataTable | TableHeader + TableRows + Pagination |
79
+ | Sidebar | Logo + MenuItems + Footer |
80
+ | LoginForm | FormFields + Button + Link |
81
+ | CommentSection | AvatarWithName + TextArea + Button |
82
+ | ProductCard | Image + Badge + Title + Price + Button |
83
+
84
+ ---
85
+
86
+ ## Decision Tree
87
+
88
+ ```
89
+ Is this component composed of other components?
90
+
91
+ ├── NO → Is it a single HTML element (or thin wrapper)?
92
+ │ ├── YES → ⚛️ ATOM
93
+ │ └── NO → Probably still an Atom (thin abstraction)
94
+
95
+ └── YES → How many sub-components does it combine?
96
+
97
+ ├── 2-3 simple components, ONE purpose
98
+ │ └── 🧬 MOLECULE
99
+
100
+ └── 4+ components, or contains molecules, forms distinct UI section
101
+ └── 🦠 ORGANISM
102
+ ```
103
+
104
+ ### Edge Cases
105
+
106
+ | Scenario | Classification | Reasoning |
107
+ |----------|---------------|-----------|
108
+ | Button with icon inside | ⚛️ **Atom** | Icon is a prop/slot, not a separate composed component |
109
+ | Dropdown (trigger + menu) | 🧬 **Molecule** | Two atoms working together |
110
+ | Multi-select with search | 🦠 **Organism** | Complex: Input + Dropdown + Tags + Search logic |
111
+ | Simple Card (title + text) | 🧬 **Molecule** | Just 2-3 atoms |
112
+ | Card with image + actions + badge | 🦠 **Organism** | Complex composition with multiple concerns |
113
+ | Toast/Notification | ⚛️ **Atom** | Self-contained, no internal composition |
114
+ | Toast with action button | 🧬 **Molecule** | Toast atom + Button atom |
115
+
116
+ ---
117
+
118
+ ## Naming Conventions
119
+
120
+ | Stack | Atoms | Molecules | Organisms |
121
+ |-------|-------|-----------|-----------|
122
+ | **React** | `Button.tsx` | `SearchBar.tsx` | `Header.tsx` |
123
+ | **Vue** | `BaseButton.vue` | `SearchBar.vue` | `AppHeader.vue` |
124
+ | **Blade** | `button.blade.php` | `search-bar.blade.php` | `header.blade.php` |
125
+
126
+ ### Folder Paths
127
+
128
+ | Stack | Pattern |
129
+ |-------|---------|
130
+ | **React** | `src/components/{atoms\|molecules\|organisms}/{Name}/` |
131
+ | **Vue** | `src/components/{atoms\|molecules\|organisms}/{Name}/` |
132
+ | **Blade** | `resources/views/components/{atoms\|molecules\|organisms}/` |
@@ -0,0 +1,60 @@
1
+ # Component Quality Gate
2
+
3
+ > **MANDATORY:** Every component MUST pass ALL checks before being considered complete.
4
+
5
+ ---
6
+
7
+ ## Structural Integrity
8
+
9
+ - [ ] Component classified correctly (Atom/Molecule/Organism)
10
+ - [ ] ALL required files created per stack adapter
11
+ - [ ] Barrel export (`index.*`) exposes component and types
12
+ - [ ] No monolithic files (types, styles, tests are separate)
13
+ - [ ] Business logic extracted (hooks/composables/services)
14
+ - [ ] Static text/URLs extracted to data/i18n files
15
+
16
+ ## Design Tokens & Styling
17
+
18
+ - [ ] Design token file (`variables.css` or equivalent) exists
19
+ - [ ] **Zero** hardcoded style values (colors, spacing, font sizes, radii)
20
+ - [ ] BEM naming used (or stack-specific convention documented)
21
+ - [ ] Dark mode support applied (if project uses dark mode)
22
+ - [ ] Responsive styles where appropriate
23
+
24
+ ## Type Safety
25
+
26
+ - [ ] All props/parameters have explicit types
27
+ - [ ] **Zero** usage of `any` or untyped parameters
28
+ - [ ] Readonly/immutable prop interfaces (where applicable)
29
+ - [ ] Default values defined for optional props
30
+
31
+ ## Testing
32
+
33
+ - [ ] Test file colocated with component
34
+ - [ ] Rendering test: component mounts correctly
35
+ - [ ] Props test: all prop combinations work
36
+ - [ ] Interaction test: click/input handlers fire correctly
37
+ - [ ] Edge case: disabled/loading/error states covered
38
+ - [ ] Coverage target: 80% minimum
39
+
40
+ ## Accessibility
41
+
42
+ - [ ] Semantic HTML elements used (not `<div>` soup)
43
+ - [ ] Interactive elements are keyboard accessible
44
+ - [ ] ARIA attributes where native semantics insufficient
45
+ - [ ] Color contrast meets WCAG 2.1 AA (4.5:1 text, 3:1 large)
46
+ - [ ] Focus indicators visible
47
+
48
+ ## Storybook (if opted in)
49
+
50
+ - [ ] Story file created with `autodocs` tag
51
+ - [ ] Default story renders correctly
52
+ - [ ] All variants have stories (primary, secondary, disabled, etc.)
53
+ - [ ] `title` follows `{Category}/{Name}` pattern (e.g., `Atoms/Button`)
54
+
55
+ ## Final Verification
56
+
57
+ - [ ] Component renders in dev server without errors
58
+ - [ ] All tests pass
59
+ - [ ] Lint passes (no warnings or errors)
60
+ - [ ] No console errors/warnings in browser