antigravity-ide 4.2.1 → 4.3.3

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 (359) hide show
  1. package/.agent/.shared/{design-philosophy → core/design-philosophy}/README.md +12 -1
  2. package/.agent/.shared/{ai-master → technical/ai-master}/README.md +12 -1
  3. package/.agent/.shared/{api-standards → technical/api-standards}/README.md +12 -1
  4. package/.agent/.shared/{database-master → technical/database-master}/README.md +12 -2
  5. package/.agent/.shared/{seo-master → technical/seo-master}/README.md +12 -1
  6. package/.agent/.shared/{ui-ux-pro-max → technical/ui-ux-pro-max}/README.md +12 -1
  7. package/.agent/ARCHITECTURE.md +16 -10
  8. package/.agent/ARCHITECTURE.vi.md +8 -8
  9. package/{GEMINI.md → .agent/GEMINI.md} +4 -5
  10. package/.agent/RESOURCES.md +6 -1
  11. package/.agent/agents/backend-specialist.md +154 -19
  12. package/.agent/agents/browser-subagent.md +45 -0
  13. package/.agent/agents/cloud-architect.md +108 -189
  14. package/.agent/agents/debugger.md +83 -182
  15. package/.agent/agents/documentation-writer.md +125 -72
  16. package/.agent/agents/frontend-specialist.md +40 -7
  17. package/.agent/agents/game-developer.md +111 -116
  18. package/.agent/agents/mobile-developer.md +108 -321
  19. package/.agent/agents/orchestrator.md +106 -366
  20. package/.agent/agents/performance-optimizer.md +105 -136
  21. package/.agent/agents/project-planner.md +132 -39
  22. package/.agent/agents/quality-inspector.md +136 -32
  23. package/.agent/agents/security-auditor.md +138 -15
  24. package/.agent/agents/seo-specialist.md +118 -72
  25. package/.agent/agents/test-engineer.md +142 -11
  26. package/.agent/brain/task.md +16 -0
  27. package/.agent/rules/GEMINI.md +63 -31
  28. package/.agent/rules/code-quality.md +34 -3
  29. package/.agent/rules/frontend.md +3 -3
  30. package/.agent/rules/strict-protocol.md +44 -3
  31. package/.agent/rules/system-update.md +56 -3
  32. package/.agent/skills/agent-backend-patterns/SKILL.md +16 -3
  33. package/.agent/skills/ai-engineer/SKILL.md +29 -16
  34. package/.agent/skills/api-documenter/SKILL.md +4 -4
  35. package/.agent/skills/app-builder/SKILL.md +1 -1
  36. package/.agent/skills/app-builder/tech-stack.md +2 -2
  37. package/.agent/skills/app-builder/templates/nextjs-fullstack/TEMPLATE.md +39 -79
  38. package/.agent/skills/app-builder/templates/nextjs-saas/TEMPLATE.md +53 -75
  39. package/.agent/skills/app-builder/templates/nextjs-static/TEMPLATE.md +56 -119
  40. package/.agent/skills/app-builder/templates/nuxt-app/TEMPLATE.md +61 -94
  41. package/.agent/skills/app-builder/templates/react-native-app/TEMPLATE.md +56 -82
  42. package/.agent/skills/brand-guidelines-anthropic/LICENSE.txt +202 -0
  43. package/.agent/skills/brand-guidelines-anthropic/SKILL.md +26 -0
  44. package/.agent/skills/brand-guidelines-anthropic/sub-skills/color-application.md +5 -0
  45. package/.agent/skills/brand-guidelines-anthropic/sub-skills/colors.md +14 -0
  46. package/.agent/skills/brand-guidelines-anthropic/sub-skills/font-management.md +6 -0
  47. package/.agent/skills/brand-guidelines-anthropic/sub-skills/shape-and-accent-colors.md +7 -0
  48. package/.agent/skills/brand-guidelines-anthropic/sub-skills/smart-font-application.md +6 -0
  49. package/.agent/skills/brand-guidelines-anthropic/sub-skills/text-styling.md +6 -0
  50. package/.agent/skills/brand-guidelines-anthropic/sub-skills/typography.md +7 -0
  51. package/.agent/skills/cloud-architect-master/SKILL.md +9 -4
  52. package/.agent/skills/cro-expert-kit/SKILL.md +9 -4
  53. package/.agent/skills/database-migration/SKILL.md +9 -3
  54. package/.agent/skills/deployment-engineer/SKILL.md +9 -3
  55. package/.agent/skills/frontend-design/ux-psychology.md +10 -585
  56. package/.agent/skills/full-stack-scaffold/SKILL.md +4 -4
  57. package/.agent/skills/game-development/2d-games/SKILL.md +4 -2
  58. package/.agent/skills/game-development/3d-games/SKILL.md +4 -2
  59. package/.agent/skills/game-development/SKILL.md +18 -149
  60. package/.agent/skills/game-development/game-art/SKILL.md +4 -2
  61. package/.agent/skills/game-development/game-audio/SKILL.md +4 -2
  62. package/.agent/skills/game-development/game-design/SKILL.md +4 -2
  63. package/.agent/skills/game-development/mobile-games/SKILL.md +4 -2
  64. package/.agent/skills/game-development/multiplayer/SKILL.md +4 -2
  65. package/.agent/skills/game-development/pc-games/SKILL.md +4 -2
  66. package/.agent/skills/game-development/vr-ar/SKILL.md +4 -2
  67. package/.agent/skills/game-development/web-games/SKILL.md +4 -2
  68. package/.agent/skills/geo-fundamentals/SKILL.md +9 -136
  69. package/.agent/skills/git-collaboration-master/SKILL.md +9 -4
  70. package/.agent/skills/i18n-localization/SKILL.md +10 -118
  71. package/.agent/skills/incident-responder/SKILL.md +9 -6
  72. package/.agent/skills/internal-comms-anthropic/LICENSE.txt +202 -0
  73. package/.agent/skills/internal-comms-anthropic/SKILL.md +33 -0
  74. package/.agent/skills/internal-comms-anthropic/examples/3p-updates.md +47 -0
  75. package/.agent/skills/internal-comms-anthropic/examples/company-newsletter.md +65 -0
  76. package/.agent/skills/internal-comms-anthropic/examples/faq-answers.md +30 -0
  77. package/.agent/skills/internal-comms-anthropic/examples/general-comms.md +16 -0
  78. package/.agent/skills/last30days/tests/__init__.py +1 -0
  79. package/.agent/skills/last30days/tests/test_cache.py +59 -0
  80. package/.agent/skills/last30days/tests/test_dates.py +114 -0
  81. package/.agent/skills/last30days/tests/test_dedupe.py +111 -0
  82. package/.agent/skills/last30days/tests/test_models.py +135 -0
  83. package/.agent/skills/last30days/tests/test_normalize.py +138 -0
  84. package/.agent/skills/last30days/tests/test_render.py +116 -0
  85. package/.agent/skills/last30days/tests/test_score.py +168 -0
  86. package/.agent/skills/legacy-modernizer/SKILL.md +9 -4
  87. package/.agent/skills/lint-and-validate/scripts/lint_runner.py +2 -14
  88. package/.agent/skills/loki-mode/.github/workflows/claude-code-review.yml +57 -0
  89. package/.agent/skills/loki-mode/.github/workflows/claude.yml +50 -0
  90. package/.agent/skills/loki-mode/.github/workflows/release.yml +128 -0
  91. package/.agent/skills/loki-mode/tests/run-all-tests.sh +78 -0
  92. package/.agent/skills/loki-mode/tests/test-agent-timeout.sh +348 -0
  93. package/.agent/skills/loki-mode/tests/test-bootstrap.sh +196 -0
  94. package/.agent/skills/loki-mode/tests/test-circuit-breaker.sh +389 -0
  95. package/.agent/skills/loki-mode/tests/test-state-recovery.sh +393 -0
  96. package/.agent/skills/loki-mode/tests/test-task-queue.sh +396 -0
  97. package/.agent/skills/loki-mode/tests/test-wrapper.sh +314 -0
  98. package/.agent/skills/mcp-builder/SKILL.md +21 -164
  99. package/.agent/skills/mobile-design/SKILL.md +21 -369
  100. package/.agent/skills/mobile-design/mobile-performance.md +1 -1
  101. package/.agent/skills/modern-web-architect/SKILL.md +12 -6
  102. package/.agent/skills/nextjs-react-expert/scripts/convert_rules.py +1 -1
  103. package/.agent/skills/penetration-tester-master/SKILL.md +9 -4
  104. package/.agent/skills/performance-engineer/SKILL.md +4 -5
  105. package/.agent/skills/production-code-audit/SKILL.md +6 -0
  106. package/.agent/skills/rust-pro/SKILL.md +0 -177
  107. package/.agent/skills/security-auditor/SKILL.md +35 -27
  108. package/.agent/skills/seo-expert-kit/SKILL.md +9 -4
  109. package/.agent/skills/shopify-development/scripts/tests/test_shopify_init.py +379 -0
  110. package/.agent/skills/tdd-master-workflow/SKILL.md +9 -3
  111. package/.agent/workflows/audit.md +30 -16
  112. package/.agent/workflows/brainstorm.md +33 -96
  113. package/.agent/workflows/create.md +37 -45
  114. package/.agent/workflows/debug.md +45 -84
  115. package/.agent/workflows/deploy.md +33 -158
  116. package/.agent/workflows/document.md +38 -15
  117. package/.agent/workflows/enhance.md +33 -48
  118. package/.agent/workflows/monitor.md +35 -14
  119. package/.agent/workflows/orchestrate.md +33 -218
  120. package/.agent/workflows/plan.md +39 -70
  121. package/.agent/workflows/security.md +35 -14
  122. package/.agent/workflows/seo.md +39 -16
  123. package/.agent/workflows/status.md +33 -72
  124. package/.agent/workflows/test.md +30 -127
  125. package/.agent/workflows/ui-ux-pro-max.md +24 -283
  126. package/LICENSE +22 -8
  127. package/README.md +105 -72
  128. package/README.vi.md +93 -110
  129. package/cli/create.js +275 -413
  130. package/cli/index.js +36 -24
  131. package/cli/lib/auto-update.js +14 -21
  132. package/cli/logic/product-skills.js +58 -0
  133. package/cli/logic/skill-definitions.js +0 -39
  134. package/cli/prompts.js +151 -145
  135. package/cli/skills/browser-subagent-core/SKILL.md +22 -0
  136. package/cli/tools/browser.js +75 -0
  137. package/cli/ui/dashboard.js +48 -0
  138. package/docs/AGENTS_GUIDE.vi.md +39 -45
  139. package/docs/CONTRIBUTING.vi.md +12 -3
  140. package/docs/{GEMINI_GUIDE.md → GEMINI_USAGE.md} +6 -6
  141. package/docs/GLOSSARY.vi.md +49 -30
  142. package/docs/HOW_ANTIGRAVITY_THINKS.vi.md +1 -1
  143. package/docs/OPERATIONAL_FLOW.vi.md +15 -0
  144. package/docs/{PUBLISHING.md → PUBLISHING_GUIDE.md} +31 -3
  145. package/docs/RULES_GUIDE.vi.md +67 -31
  146. package/docs/SHARED_LIBRARY_GUIDE.vi.md +18 -22
  147. package/docs/SKILLS_GUIDE.vi.md +119 -32
  148. package/docs/TROUBLESHOOTING.vi.md +10 -2
  149. package/docs/WORKFLOW_GUIDE.vi.md +57 -9
  150. package/package.json +32 -8
  151. package/setup.js +147 -114
  152. package/.agent/.shared/compliance/README.md +0 -19
  153. package/.agent/.shared/design-system/README.md +0 -18
  154. package/.agent/.shared/domain-blueprints/README.md +0 -18
  155. package/.agent/.shared/dx-toolkit/README.md +0 -19
  156. package/.agent/.shared/i18n-master/README.md +0 -18
  157. package/.agent/.shared/infra-blueprints/README.md +0 -18
  158. package/.agent/.shared/metrics/README.md +0 -17
  159. package/.agent/.shared/resilience-patterns/README.md +0 -19
  160. package/.agent/.shared/security-armor/README.md +0 -25
  161. package/.agent/.shared/testing-master/README.md +0 -20
  162. package/.agent/.shared/vitals-templates/README.md +0 -18
  163. package/.agent/agents/accessibility-expert.md +0 -22
  164. package/.agent/agents/api-architect.md +0 -22
  165. package/.agent/agents/backend-specialist.eco.md +0 -19
  166. package/.agent/agents/backend-specialist.instant.md +0 -19
  167. package/.agent/agents/codebase-expert.md +0 -23
  168. package/.agent/agents/compliance-expert.md +0 -22
  169. package/.agent/agents/data-scientist.md +0 -22
  170. package/.agent/agents/debugger.eco.md +0 -20
  171. package/.agent/agents/debugger.instant.md +0 -20
  172. package/.agent/agents/deep-thinker.ultra.md +0 -23
  173. package/.agent/agents/devex-optimizer.md +0 -22
  174. package/.agent/agents/devops-architect.md +0 -22
  175. package/.agent/agents/frontend-specialist.eco.md +0 -19
  176. package/.agent/agents/frontend-specialist.instant.md +0 -19
  177. package/.agent/agents/growth-engineer.md +0 -22
  178. package/.agent/agents/i18n-specialist.md +0 -21
  179. package/.agent/agents/legacy-modernizer.md +0 -22
  180. package/.agent/agents/microservices-specialist.md +0 -22
  181. package/.agent/agents/motion-designer.md +0 -22
  182. package/.agent/agents/orchestrator.creative.md +0 -28
  183. package/.agent/agents/orchestrator.eco.md +0 -29
  184. package/.agent/agents/orchestrator.instant.md +0 -29
  185. package/.agent/agents/orchestrator.ultra.md +0 -28
  186. package/.agent/agents/performance-benchmarker.md +0 -22
  187. package/.agent/agents/project-planner.eco.md +0 -19
  188. package/.agent/agents/project-planner.instant.md +0 -19
  189. package/.agent/agents/security-pentester.md +0 -22
  190. package/.agent/agents/serverless-expert.md +0 -22
  191. package/.agent/fastcode_index.json +0 -1038
  192. package/.agent/mcp_config.json +0 -24
  193. package/.agent/rules/GEMINI.eco.md +0 -37
  194. package/.agent/rules/GEMINI.instant.md +0 -37
  195. package/.agent/rules/api-spec.md +0 -28
  196. package/.agent/rules/database.md +0 -24
  197. package/.agent/rules/devops.md +0 -23
  198. package/.agent/rules/growth-strategy.md +0 -22
  199. package/.agent/rules/logging-monitoring.md +0 -22
  200. package/.agent/rules/quality-assurance.md +0 -22
  201. package/.agent/rules/system-reasoning.md +0 -20
  202. package/.agent/rules/ui-design.md +0 -23
  203. package/.agent/rules/ux-patterns.md +0 -23
  204. package/.agent/scripts/auto_preview.py +0 -148
  205. package/.agent/scripts/checklist.py +0 -252
  206. package/.agent/scripts/session_manager.py +0 -120
  207. package/.agent/scripts/simulation_install.js +0 -59
  208. package/.agent/scripts/sync_to_global.py +0 -78
  209. package/.agent/scripts/translate_workflows.py +0 -53
  210. package/.agent/scripts/verify_all.py +0 -327
  211. package/.agent/scripts/verify_shared_modules.js +0 -126
  212. package/.agent/skills/fastcode-search/SKILL.md +0 -46
  213. package/.agent/skills/fastcode-search/fastcode_config.example.json +0 -17
  214. package/.agent/skills/frontend-trends-2026/SKILL.md +0 -78
  215. package/.agent/skills/frontend-trends-2026/formulas/BentoGrid.tsx +0 -42
  216. package/.agent/skills/frontend-trends-2026/formulas/LiquidCard.tsx +0 -32
  217. package/.agent/skills/frontend-trends-2026/formulas/NeoButton.tsx +0 -27
  218. package/.agent/workflows/deep-security-audit.md +0 -9
  219. package/.agent/workflows/growth-max.md +0 -9
  220. package/.agent/workflows/performance-max.md +0 -9
  221. package/.editorconfig +0 -21
  222. package/.gitattributes +0 -7
  223. package/CHANGELOG.md +0 -32
  224. package/ERRORS.md +0 -67
  225. package/action.yml +0 -32
  226. package/antigravity-ide-logo.png +0 -0
  227. package/antigravity-ide-logo.svg +0 -24
  228. package/assets/skills-bundle.json +0 -1
  229. package/cli/manifest.js +0 -524
  230. package/cli/skills/fastcode.js +0 -181
  231. package/docs/AGENT_FLOW.md +0 -608
  232. package/docs/CONTRIBUTING.md +0 -46
  233. package/docs/COPYRIGHT.md +0 -57
  234. package/docs/DEPLOYMENT.md +0 -77
  235. package/docs/GLOSSARY.md +0 -109
  236. package/docs/MASTER_GUIDE.md +0 -103
  237. package/docs/OPERATIONAL_FLOW.md +0 -147
  238. package/docs/PLAN-upgrade-core-architecture.md +0 -71
  239. package/docs/SKILLS.md +0 -610
  240. package/docs/TROUBLESHOOTING.md +0 -43
  241. package/jest.config.js +0 -8
  242. package/scripts/bump.js +0 -93
  243. package/scripts/bundle-skills.js +0 -59
  244. package/scripts/internal/automation/auto-release.js +0 -177
  245. package/scripts/internal/fractalize-skills.js +0 -89
  246. package/scripts/internal/generate-skill-definitions.js +0 -134
  247. package/scripts/internal/internal/update-docs.js +0 -115
  248. package/scripts/internal/refactor-skill-content.js +0 -127
  249. package/scripts/internal/rename-skills.js +0 -96
  250. package/scripts/internal/sync-skills.js +0 -112
  251. package/scripts/internal/update-frontmatter-names.js +0 -99
  252. package/scripts/internal/verification/audit-dna.js +0 -56
  253. package/scripts/internal/verification/audit-skills.js +0 -65
  254. package/web/src/app/docs/guide/examples/brainstorm/page.mdx +0 -91
  255. package/web/src/app/docs/guide/examples/create/page.mdx +0 -84
  256. package/web/src/app/docs/guide/examples/debugging/page.mdx +0 -83
  257. package/web/src/app/docs/guide/examples/deployment/page.mdx +0 -93
  258. package/web/src/app/docs/guide/examples/new-feature/page.mdx +0 -102
  259. package/web/src/app/docs/guide/examples/orchestration/page.mdx +0 -99
  260. package/web/src/app/docs/guide/examples/plan/page.mdx +0 -76
  261. package/web/src/app/docs/guide/examples/preview/page.mdx +0 -77
  262. package/web/src/app/docs/guide/examples/status/page.mdx +0 -78
  263. package/web/src/app/docs/guide/examples/test/page.mdx +0 -80
  264. package/web/src/app/docs/guide/examples/ui-design/page.mdx +0 -90
  265. package/web/src/components/mdx/Callout.tsx +0 -60
  266. package/web/src/components/mdx/FeatureGrid.tsx +0 -38
  267. package/web/src/components/mdx/ProTips.tsx +0 -29
  268. package/web/src/components/mdx/StepList.tsx +0 -33
  269. package/web/src/components/mdx/Terminal.tsx +0 -58
  270. package/web/src/components/mdx/index.ts +0 -5
  271. package/web/src/mdx-components.tsx +0 -98
  272. /package/.agent/.shared/{design-philosophy → core/design-philosophy}/MANIFESTO.md +0 -0
  273. /package/.agent/.shared/{design-philosophy → core/design-philosophy}/checklists/tactile_audit.md +0 -0
  274. /package/.agent/.shared/{design-philosophy → core/design-philosophy}/checklists/visual_audit.md +0 -0
  275. /package/.agent/.shared/{design-philosophy → core/design-philosophy}/presets/linear_glow.json +0 -0
  276. /package/.agent/.shared/{dx-toolkit → core/dx-toolkit}/checklists/code_review.md +0 -0
  277. /package/.agent/.shared/{dx-toolkit → core/dx-toolkit}/presets/vscode_settings.json +0 -0
  278. /package/.agent/.shared/{metrics → core/metrics}/benchmarks.json +0 -0
  279. /package/.agent/.shared/{vitals-templates → core/vitals-templates}/audit_report.md +0 -0
  280. /package/.agent/.shared/{vitals-templates → core/vitals-templates}/plan_prd.md +0 -0
  281. /package/.agent/.shared/{ai-master → technical/ai-master}/best_patterns.md +0 -0
  282. /package/.agent/.shared/{ai-master → technical/ai-master}/checklists/prompt_audit.md +0 -0
  283. /package/.agent/.shared/{ai-master → technical/ai-master}/presets/model_configs.json +0 -0
  284. /package/.agent/.shared/{api-standards → technical/api-standards}/data +0 -0
  285. /package/.agent/.shared/{api-standards → technical/api-standards}/endpoints_naming.md +0 -0
  286. /package/.agent/.shared/{api-standards → technical/api-standards}/error_codes.csv +0 -0
  287. /package/.agent/.shared/{api-standards → technical/api-standards}/pagination_sorting.md +0 -0
  288. /package/.agent/.shared/{api-standards → technical/api-standards}/response_format.json +0 -0
  289. /package/.agent/.shared/{database-master → technical/database-master}/schemas/auth_rbac.sql +0 -0
  290. /package/.agent/.shared/{database-master → technical/database-master}/schemas/cms.sql +0 -0
  291. /package/.agent/.shared/{database-master → technical/database-master}/schemas/ecommerce.sql +0 -0
  292. /package/.agent/.shared/{design-system → technical/design-system}/brand_presets.json +0 -0
  293. /package/.agent/.shared/{design-system → technical/design-system}/micro_interactions.md +0 -0
  294. /package/.agent/.shared/{i18n-master → technical/i18n-master}/vi_tech_dictionary.csv +0 -0
  295. /package/.agent/.shared/{i18n-master → technical/i18n-master}/workflows.json +0 -0
  296. /package/.agent/.shared/{resilience-patterns → technical/resilience-patterns}/checklists/chaos_engineering.md +0 -0
  297. /package/.agent/.shared/{resilience-patterns → technical/resilience-patterns}/presets/circuit_breaker.json +0 -0
  298. /package/.agent/.shared/{security-armor → technical/security-armor}/checklists/vuln_scan.md +0 -0
  299. /package/.agent/.shared/{security-armor → technical/security-armor}/hardening.md +0 -0
  300. /package/.agent/.shared/{security-armor → technical/security-armor}/presets/helmet_config.json +0 -0
  301. /package/.agent/.shared/{seo-master → technical/seo-master}/checklists/technical_seo.md +0 -0
  302. /package/.agent/.shared/{seo-master → technical/seo-master}/presets/json_ld_schema.json +0 -0
  303. /package/.agent/.shared/{testing-master → technical/testing-master}/checklists/pre_release.md +0 -0
  304. /package/.agent/.shared/{testing-master → technical/testing-master}/scenarios.md +0 -0
  305. /package/.agent/.shared/{ui-ux-pro-max → technical/ui-ux-pro-max}/data/colors.csv +0 -0
  306. /package/.agent/.shared/{ui-ux-pro-max → technical/ui-ux-pro-max}/data/icons.csv +0 -0
  307. /package/.agent/.shared/{ui-ux-pro-max → technical/ui-ux-pro-max}/data/landing.csv +0 -0
  308. /package/.agent/.shared/{ui-ux-pro-max → technical/ui-ux-pro-max}/data/products.csv +0 -0
  309. /package/.agent/.shared/{ui-ux-pro-max → technical/ui-ux-pro-max}/data/react-performance.csv +0 -0
  310. /package/.agent/.shared/{ui-ux-pro-max → technical/ui-ux-pro-max}/data/stacks/flutter.csv +0 -0
  311. /package/.agent/.shared/{ui-ux-pro-max → technical/ui-ux-pro-max}/data/stacks/html-tailwind.csv +0 -0
  312. /package/.agent/.shared/{ui-ux-pro-max → technical/ui-ux-pro-max}/data/stacks/jetpack-compose.csv +0 -0
  313. /package/.agent/.shared/{ui-ux-pro-max → technical/ui-ux-pro-max}/data/stacks/nextjs.csv +0 -0
  314. /package/.agent/.shared/{ui-ux-pro-max → technical/ui-ux-pro-max}/data/stacks/nuxt-ui.csv +0 -0
  315. /package/.agent/.shared/{ui-ux-pro-max → technical/ui-ux-pro-max}/data/stacks/nuxtjs.csv +0 -0
  316. /package/.agent/.shared/{ui-ux-pro-max → technical/ui-ux-pro-max}/data/stacks/react-native.csv +0 -0
  317. /package/.agent/.shared/{ui-ux-pro-max → technical/ui-ux-pro-max}/data/stacks/react.csv +0 -0
  318. /package/.agent/.shared/{ui-ux-pro-max → technical/ui-ux-pro-max}/data/stacks/shadcn.csv +0 -0
  319. /package/.agent/.shared/{ui-ux-pro-max → technical/ui-ux-pro-max}/data/stacks/svelte.csv +0 -0
  320. /package/.agent/.shared/{ui-ux-pro-max → technical/ui-ux-pro-max}/data/stacks/swiftui.csv +0 -0
  321. /package/.agent/.shared/{ui-ux-pro-max → technical/ui-ux-pro-max}/data/stacks/vue.csv +0 -0
  322. /package/.agent/.shared/{ui-ux-pro-max → technical/ui-ux-pro-max}/data/ux-guidelines.csv +0 -0
  323. /package/.agent/.shared/{ui-ux-pro-max → technical/ui-ux-pro-max}/data/web-interface.csv +0 -0
  324. /package/.agent/.shared/{ui-ux-pro-max → technical/ui-ux-pro-max}/scripts/__pycache__/core.cpython-313.pyc +0 -0
  325. /package/.agent/.shared/{ui-ux-pro-max → technical/ui-ux-pro-max}/scripts/__pycache__/design_system.cpython-313.pyc +0 -0
  326. /package/.agent/.shared/{ui-ux-pro-max → technical/ui-ux-pro-max}/scripts/core.py +0 -0
  327. /package/.agent/.shared/{ui-ux-pro-max → technical/ui-ux-pro-max}/scripts/design_system.py +0 -0
  328. /package/.agent/.shared/{ui-ux-pro-max → technical/ui-ux-pro-max}/scripts/search.py +0 -0
  329. /package/.agent/.shared/{compliance → verticals/compliance}/legal_templates.md +0 -0
  330. /package/.agent/.shared/{domain-blueprints → verticals/domain-blueprints}/edtech.md +0 -0
  331. /package/.agent/.shared/{domain-blueprints → verticals/domain-blueprints}/fintech.md +0 -0
  332. /package/.agent/.shared/{domain-blueprints → verticals/domain-blueprints}/fnb_restaurant.md +0 -0
  333. /package/.agent/.shared/{domain-blueprints → verticals/domain-blueprints}/freelance_marketplace.md +0 -0
  334. /package/.agent/.shared/{domain-blueprints → verticals/domain-blueprints}/healthcare.md +0 -0
  335. /package/.agent/.shared/{domain-blueprints → verticals/domain-blueprints}/hospitality_tourism.md +0 -0
  336. /package/.agent/.shared/{domain-blueprints → verticals/domain-blueprints}/logistics.md +0 -0
  337. /package/.agent/.shared/{domain-blueprints → verticals/domain-blueprints}/marketing_automation.md +0 -0
  338. /package/.agent/.shared/{domain-blueprints → verticals/domain-blueprints}/personal_branding.md +0 -0
  339. /package/.agent/.shared/{domain-blueprints → verticals/domain-blueprints}/real_estate.md +0 -0
  340. /package/.agent/.shared/{domain-blueprints → verticals/domain-blueprints}/retail_ecommerce.md +0 -0
  341. /package/.agent/.shared/{domain-blueprints → verticals/domain-blueprints}/standard-pro-agents.md +0 -0
  342. /package/.agent/.shared/{infra-blueprints → verticals/infra-blueprints}/deployment_specs.md +0 -0
  343. /package/.agent/skills/ai-engineer/{resources → sub-skills}/ai_infra_stack.md +0 -0
  344. /package/.agent/skills/cloud-architect-master/{resources → sub-skills}/cost_optimization_checklist.md +0 -0
  345. /package/.agent/skills/cro-expert-kit/{resources → sub-skills}/psychological_triggers.md +0 -0
  346. /package/.agent/skills/database-migration/{resources → sub-skills}/zero_downtime_strategy.md +0 -0
  347. /package/.agent/skills/deployment-engineer/{resources → sub-skills}/k8s_best_practices.md +0 -0
  348. /package/.agent/skills/git-collaboration-master/{resources → sub-skills}/pr_template.md +0 -0
  349. /package/.agent/skills/incident-responder/{resources → sub-skills}/incident_severity_levels.md +0 -0
  350. /package/.agent/skills/legacy-modernizer/{resources → sub-skills}/strangler_fig_pattern.md +0 -0
  351. /package/.agent/skills/penetration-tester-master/{resources → sub-skills}/owasp_top_10_2025.md +0 -0
  352. /package/.agent/skills/production-code-audit/{resources → sub-skills}/solid_principles_cheat_sheet.md +0 -0
  353. /package/.agent/skills/seo-expert-kit/{resources → sub-skills}/technical_seo_checklist.md +0 -0
  354. /package/.agent/skills/tdd-master-workflow/{resources → sub-skills}/unit_test_naming_convention.md +0 -0
  355. /package/.agent/{.shared → skills}/ui-ux-pro-max/data/charts.csv +0 -0
  356. /package/.agent/{.shared → skills}/ui-ux-pro-max/data/prompts.csv +0 -0
  357. /package/.agent/{.shared → skills}/ui-ux-pro-max/data/styles.csv +0 -0
  358. /package/.agent/{.shared → skills}/ui-ux-pro-max/data/typography.csv +0 -0
  359. /package/.agent/{.shared → skills}/ui-ux-pro-max/data/ui-reasoning.csv +0 -0
@@ -0,0 +1,379 @@
1
+ """
2
+ Tests for shopify_init.py
3
+
4
+ Run with: pytest test_shopify_init.py -v --cov=shopify_init --cov-report=term-missing
5
+ """
6
+
7
+ import os
8
+ import sys
9
+ import json
10
+ import pytest
11
+ import subprocess
12
+ from pathlib import Path
13
+ from unittest.mock import Mock, patch, mock_open, MagicMock
14
+
15
+ sys.path.insert(0, str(Path(__file__).parent.parent))
16
+
17
+ from shopify_init import EnvLoader, EnvConfig, ShopifyInitializer
18
+
19
+
20
+ class TestEnvLoader:
21
+ """Test EnvLoader class."""
22
+
23
+ def test_load_env_file_success(self, tmp_path):
24
+ """Test loading valid .env file."""
25
+ env_file = tmp_path / ".env"
26
+ env_file.write_text("""
27
+ SHOPIFY_API_KEY=test_key
28
+ SHOPIFY_API_SECRET=test_secret
29
+ SHOP_DOMAIN=test.myshopify.com
30
+ # Comment line
31
+ SCOPES=read_products,write_products
32
+ """)
33
+
34
+ result = EnvLoader.load_env_file(env_file)
35
+
36
+ assert result['SHOPIFY_API_KEY'] == 'test_key'
37
+ assert result['SHOPIFY_API_SECRET'] == 'test_secret'
38
+ assert result['SHOP_DOMAIN'] == 'test.myshopify.com'
39
+ assert result['SCOPES'] == 'read_products,write_products'
40
+
41
+ def test_load_env_file_with_quotes(self, tmp_path):
42
+ """Test loading .env file with quoted values."""
43
+ env_file = tmp_path / ".env"
44
+ env_file.write_text("""
45
+ SHOPIFY_API_KEY="test_key"
46
+ SHOPIFY_API_SECRET='test_secret'
47
+ """)
48
+
49
+ result = EnvLoader.load_env_file(env_file)
50
+
51
+ assert result['SHOPIFY_API_KEY'] == 'test_key'
52
+ assert result['SHOPIFY_API_SECRET'] == 'test_secret'
53
+
54
+ def test_load_env_file_nonexistent(self, tmp_path):
55
+ """Test loading non-existent .env file."""
56
+ result = EnvLoader.load_env_file(tmp_path / "nonexistent.env")
57
+ assert result == {}
58
+
59
+ def test_load_env_file_invalid_format(self, tmp_path):
60
+ """Test loading .env file with invalid lines."""
61
+ env_file = tmp_path / ".env"
62
+ env_file.write_text("""
63
+ VALID_KEY=value
64
+ INVALID_LINE_NO_EQUALS
65
+ ANOTHER_VALID=test
66
+ """)
67
+
68
+ result = EnvLoader.load_env_file(env_file)
69
+
70
+ assert result['VALID_KEY'] == 'value'
71
+ assert result['ANOTHER_VALID'] == 'test'
72
+ assert 'INVALID_LINE_NO_EQUALS' not in result
73
+
74
+ def test_get_env_paths(self, tmp_path):
75
+ """Test getting .env file paths from universal directory structure."""
76
+ # Create directory structure (works with .agent, .claude, .gemini, .cursor)
77
+ agent_dir = tmp_path / ".agent"
78
+ skills_dir = agent_dir / "skills"
79
+ skill_dir = skills_dir / "shopify"
80
+
81
+ skill_dir.mkdir(parents=True)
82
+
83
+ # Create .env files at each level
84
+ (skill_dir / ".env").write_text("SKILL=1")
85
+ (skills_dir / ".env").write_text("SKILLS=1")
86
+ (agent_dir / ".env").write_text("AGENT=1")
87
+
88
+ paths = EnvLoader.get_env_paths(skill_dir)
89
+
90
+ assert len(paths) == 3
91
+ assert skill_dir / ".env" in paths
92
+ assert skills_dir / ".env" in paths
93
+ assert agent_dir / ".env" in paths
94
+
95
+ def test_load_config_priority(self, tmp_path, monkeypatch):
96
+ """Test configuration loading priority across different AI tool directories."""
97
+ skill_dir = tmp_path / "skill"
98
+ skills_dir = tmp_path
99
+ agent_dir = tmp_path.parent # Could be .agent, .claude, .gemini, .cursor
100
+
101
+ skill_dir.mkdir(parents=True)
102
+
103
+ (skill_dir / ".env").write_text("SHOPIFY_API_KEY=skill_key")
104
+ (skills_dir / ".env").write_text("SHOPIFY_API_KEY=skills_key\nSHOP_DOMAIN=skills.myshopify.com")
105
+
106
+ monkeypatch.setenv("SHOPIFY_API_KEY", "process_key")
107
+
108
+ config = EnvLoader.load_config(skill_dir)
109
+
110
+ assert config.shopify_api_key == "process_key"
111
+ # Shop domain from skills/.env
112
+ assert config.shop_domain == "skills.myshopify.com"
113
+
114
+ def test_load_config_no_files(self, tmp_path):
115
+ """Test configuration loading with no .env files."""
116
+ config = EnvLoader.load_config(tmp_path)
117
+
118
+ assert config.shopify_api_key is None
119
+ assert config.shopify_api_secret is None
120
+ assert config.shop_domain is None
121
+ assert config.scopes is None
122
+
123
+
124
+ class TestShopifyInitializer:
125
+ """Test ShopifyInitializer class."""
126
+
127
+ @pytest.fixture
128
+ def config(self):
129
+ """Create test config."""
130
+ return EnvConfig(
131
+ shopify_api_key="test_key",
132
+ shopify_api_secret="test_secret",
133
+ shop_domain="test.myshopify.com",
134
+ scopes="read_products,write_products"
135
+ )
136
+
137
+ @pytest.fixture
138
+ def initializer(self, config):
139
+ """Create initializer instance."""
140
+ return ShopifyInitializer(config)
141
+
142
+ def test_prompt_with_default(self, initializer):
143
+ """Test prompt with default value."""
144
+ with patch('builtins.input', return_value=''):
145
+ result = initializer.prompt("Test", "default_value")
146
+ assert result == "default_value"
147
+
148
+ def test_prompt_with_input(self, initializer):
149
+ """Test prompt with user input."""
150
+ with patch('builtins.input', return_value='user_input'):
151
+ result = initializer.prompt("Test", "default_value")
152
+ assert result == "user_input"
153
+
154
+ def test_select_option_valid(self, initializer):
155
+ """Test select option with valid choice."""
156
+ options = ['app', 'extension', 'theme']
157
+ with patch('builtins.input', return_value='2'):
158
+ result = initializer.select_option("Choose", options)
159
+ assert result == 'extension'
160
+
161
+ def test_select_option_invalid_then_valid(self, initializer):
162
+ """Test select option with invalid then valid choice."""
163
+ options = ['app', 'extension']
164
+ with patch('builtins.input', side_effect=['5', 'invalid', '1']):
165
+ result = initializer.select_option("Choose", options)
166
+ assert result == 'app'
167
+
168
+ def test_check_cli_installed_success(self, initializer):
169
+ """Test CLI installed check - success."""
170
+ mock_result = Mock()
171
+ mock_result.returncode = 0
172
+
173
+ with patch('subprocess.run', return_value=mock_result):
174
+ assert initializer.check_cli_installed() is True
175
+
176
+ def test_check_cli_installed_failure(self, initializer):
177
+ """Test CLI installed check - failure."""
178
+ with patch('subprocess.run', side_effect=FileNotFoundError):
179
+ assert initializer.check_cli_installed() is False
180
+
181
+ def test_create_app_config(self, initializer, tmp_path):
182
+ """Test creating app configuration file."""
183
+ initializer.create_app_config(tmp_path, "test-app", "read_products")
184
+
185
+ config_file = tmp_path / "shopify.app.toml"
186
+ assert config_file.exists()
187
+
188
+ content = config_file.read_text()
189
+ assert 'name = "test-app"' in content
190
+ assert 'scopes = "read_products"' in content
191
+ assert 'client_id = "test_key"' in content
192
+
193
+ def test_create_extension_config(self, initializer, tmp_path):
194
+ """Test creating extension configuration file."""
195
+ initializer.create_extension_config(tmp_path, "test-ext", "checkout")
196
+
197
+ config_file = tmp_path / "shopify.extension.toml"
198
+ assert config_file.exists()
199
+
200
+ content = config_file.read_text()
201
+ assert 'name = "test-ext"' in content
202
+ assert 'purchase.checkout.block.render' in content
203
+
204
+ def test_create_extension_config_admin_action(self, initializer, tmp_path):
205
+ """Test creating admin action extension config."""
206
+ initializer.create_extension_config(tmp_path, "admin-ext", "admin_action")
207
+
208
+ config_file = tmp_path / "shopify.extension.toml"
209
+ content = config_file.read_text()
210
+ assert 'admin.product-details.action.render' in content
211
+
212
+ def test_create_readme(self, initializer, tmp_path):
213
+ """Test creating README file."""
214
+ initializer.create_readme(tmp_path, "app", "Test App")
215
+
216
+ readme_file = tmp_path / "README.md"
217
+ assert readme_file.exists()
218
+
219
+ content = readme_file.read_text()
220
+ assert '# Test App' in content
221
+ assert 'shopify app dev' in content
222
+
223
+ @patch('builtins.input')
224
+ @patch('builtins.print')
225
+ def test_init_app(self, mock_print, mock_input, initializer, tmp_path, monkeypatch):
226
+ """Test app initialization."""
227
+ monkeypatch.chdir(tmp_path)
228
+
229
+ # Mock user inputs
230
+ mock_input.side_effect = ['my-app', 'read_products,write_products']
231
+
232
+ initializer.init_app()
233
+
234
+ # Check directory created
235
+ app_dir = tmp_path / "my-app"
236
+ assert app_dir.exists()
237
+
238
+ # Check files created
239
+ assert (app_dir / "shopify.app.toml").exists()
240
+ assert (app_dir / "README.md").exists()
241
+ assert (app_dir / "package.json").exists()
242
+
243
+ # Check package.json content
244
+ package_json = json.loads((app_dir / "package.json").read_text())
245
+ assert package_json['name'] == 'my-app'
246
+ assert 'dev' in package_json['scripts']
247
+
248
+ @patch('builtins.input')
249
+ @patch('builtins.print')
250
+ def test_init_extension(self, mock_print, mock_input, initializer, tmp_path, monkeypatch):
251
+ """Test extension initialization."""
252
+ monkeypatch.chdir(tmp_path)
253
+
254
+ # Mock user inputs: type selection (1 = checkout), name
255
+ mock_input.side_effect = ['1', 'my-extension']
256
+
257
+ initializer.init_extension()
258
+
259
+ # Check directory and files created
260
+ ext_dir = tmp_path / "my-extension"
261
+ assert ext_dir.exists()
262
+ assert (ext_dir / "shopify.extension.toml").exists()
263
+ assert (ext_dir / "README.md").exists()
264
+
265
+ @patch('builtins.input')
266
+ @patch('builtins.print')
267
+ def test_init_theme(self, mock_print, mock_input, initializer):
268
+ """Test theme initialization."""
269
+ mock_input.return_value = 'my-theme'
270
+
271
+ initializer.init_theme()
272
+
273
+ assert mock_print.called
274
+
275
+ @patch('builtins.print')
276
+ def test_run_no_cli(self, mock_print, initializer):
277
+ """Test run when CLI not installed."""
278
+ with patch.object(initializer, 'check_cli_installed', return_value=False):
279
+ with pytest.raises(SystemExit) as exc_info:
280
+ initializer.run()
281
+ assert exc_info.value.code == 1
282
+
283
+ @patch.object(ShopifyInitializer, 'check_cli_installed', return_value=True)
284
+ @patch.object(ShopifyInitializer, 'init_app')
285
+ @patch('builtins.input')
286
+ @patch('builtins.print')
287
+ def test_run_app_selected(self, mock_print, mock_input, mock_init_app, mock_cli_check, initializer):
288
+ """Test run with app selection."""
289
+ mock_input.return_value = '1' # Select app
290
+
291
+ initializer.run()
292
+
293
+ mock_init_app.assert_called_once()
294
+
295
+ @patch.object(ShopifyInitializer, 'check_cli_installed', return_value=True)
296
+ @patch.object(ShopifyInitializer, 'init_extension')
297
+ @patch('builtins.input')
298
+ @patch('builtins.print')
299
+ def test_run_extension_selected(self, mock_print, mock_input, mock_init_ext, mock_cli_check, initializer):
300
+ """Test run with extension selection."""
301
+ mock_input.return_value = '2' # Select extension
302
+
303
+ initializer.run()
304
+
305
+ mock_init_ext.assert_called_once()
306
+
307
+
308
+ class TestMain:
309
+ """Test main function."""
310
+
311
+ @patch('shopify_init.ShopifyInitializer')
312
+ @patch('shopify_init.EnvLoader')
313
+ def test_main_success(self, mock_loader, mock_initializer):
314
+ """Test main function success path."""
315
+ from shopify_init import main
316
+
317
+ mock_config = Mock()
318
+ mock_loader.load_config.return_value = mock_config
319
+
320
+ mock_init_instance = Mock()
321
+ mock_initializer.return_value = mock_init_instance
322
+
323
+ with patch('builtins.print'):
324
+ main()
325
+
326
+ mock_init_instance.run.assert_called_once()
327
+
328
+ @patch('shopify_init.ShopifyInitializer')
329
+ @patch('sys.exit')
330
+ def test_main_keyboard_interrupt(self, mock_exit, mock_initializer):
331
+ """Test main function with keyboard interrupt."""
332
+ from shopify_init import main
333
+
334
+ mock_initializer.return_value.run.side_effect = KeyboardInterrupt
335
+
336
+ with patch('builtins.print'):
337
+ main()
338
+
339
+ mock_exit.assert_called_with(0)
340
+
341
+ @patch('shopify_init.ShopifyInitializer')
342
+ @patch('sys.exit')
343
+ def test_main_exception(self, mock_exit, mock_initializer):
344
+ """Test main function with exception."""
345
+ from shopify_init import main
346
+
347
+ mock_initializer.return_value.run.side_effect = Exception("Test error")
348
+
349
+ with patch('builtins.print'):
350
+ main()
351
+
352
+ mock_exit.assert_called_with(1)
353
+
354
+
355
+ class TestEnvConfig:
356
+ """Test EnvConfig dataclass."""
357
+
358
+ def test_env_config_defaults(self):
359
+ """Test EnvConfig default values."""
360
+ config = EnvConfig()
361
+
362
+ assert config.shopify_api_key is None
363
+ assert config.shopify_api_secret is None
364
+ assert config.shop_domain is None
365
+ assert config.scopes is None
366
+
367
+ def test_env_config_with_values(self):
368
+ """Test EnvConfig with values."""
369
+ config = EnvConfig(
370
+ shopify_api_key="key",
371
+ shopify_api_secret="secret",
372
+ shop_domain="test.myshopify.com",
373
+ scopes="read_products"
374
+ )
375
+
376
+ assert config.shopify_api_key == "key"
377
+ assert config.shopify_api_secret == "secret"
378
+ assert config.shop_domain == "test.myshopify.com"
379
+ assert config.scopes == "read_products"
@@ -1,8 +1,9 @@
1
1
  ---
2
2
  name: tdd-master-workflow
3
- description: >
4
- Comprehensive Test-Driven Development (TDD) cycle. Enforces strict Red-Green-Refactor
5
- discipline, test architecture design, and multi-agent testing coordination.
3
+ description: Comprehensive Test-Driven Development (TDD) cycle.
4
+ category: development
5
+ version: 4.1.0-fractal
6
+ layer: master-skill
6
7
  ---
7
8
 
8
9
  # 🧪 TDD Master Workflow
@@ -54,3 +55,8 @@ You are an **Expert TDD Practitioner**. Your core mission is to ensure code corr
54
55
 
55
56
  ---
56
57
  *Merged and optimized from 7 legacy TDD and testing skills.*
58
+
59
+
60
+ ## 🧠 Knowledge Modules (Fractal Skills)
61
+
62
+ ### 1. [unit_test_naming_convention](./sub-skills/unit_test_naming_convention.md)
@@ -1,28 +1,42 @@
1
1
  ---
2
- description: Sắp bàn giao khách? Kiểm tra lại toàn diện cho chắc.
2
+ description: Sắp bàn giao khách? Kiểm tra lại toàn diện cho chắc theo chuẩn Auditor.
3
3
  ---
4
4
 
5
- # /audit - Comprehensive Quality Check
5
+ # /audit - Final Professional Sign-off
6
6
 
7
7
  $ARGUMENTS
8
8
 
9
9
  ---
10
10
 
11
- ## Task
12
- This command runs a full audit of the project to ensure enterprise quality.
11
+ ## 🟢 PHASE 1: Asset Reconnaissance
12
+ **Agent**: `explorer-agent`
13
+ **Mission**: Identify every file changed in the current task.
14
+ - **Action**: Run `git status` or check `task.md` for modified files.
13
15
 
14
- ### Steps:
15
- 1. **Security Scan**: Check for vulnerabilities (`npm audit`, `pip check`).
16
- 2. **Lint Check**: Run `eslint` or `pylint`.
17
- 3. **Type Check**: Run `tsc` (TypeScript) or `mypy` (Python).
18
- 4. **SEO Audit**: Check key pages for Meta tags (if web project).
19
- 5. **Report**: Generate `AUDIT_REPORT.md` with findings and fix suggestions.
16
+ ## 🟡 PHASE 2: Compliance Review
17
+ **Agent**: `security-auditor` & `quality-inspector`
18
+ **Mission**: Verify against internal standards.
19
+ - **Checklist**:
20
+ - [ ] No hardcoded secrets?
21
+ - [ ] No `any` types or lint errors?
22
+ - [ ] Does it match `GEMINI.md` architecture?
23
+ - [ ] Is it accessible (A11y check)?
24
+
25
+ ## 🔵 PHASE 3: Functional Stress Test
26
+ **Agent**: `test-engineer`
27
+ **Mission**: Try to break it.
28
+ - **Action**: Run `/test` and `/performance` suites.
29
+ - **Audit**: Verify error boundary handling.
30
+
31
+ ## 🔴 PHASE 4: Certification & Master Walkthrough
32
+ **Agent**: `quality-inspector`
33
+ **Mission**: Issue the "Safe to Release" signal.
34
+ - **Artifact**: Create the 100% verified `walkthrough.md`.
35
+ - **Reporting**: Final summary with "Ready for Ops" certification.
20
36
 
21
37
  ---
22
38
 
23
- ## Usage
24
- ```
25
- /audit # Run all checks
26
- /audit security # Only security
27
- /audit seo # Only SEO
28
- ```
39
+ ## Key Principles:
40
+ - **Zero Tolerance**: If a single critical rule is broken, the audit is REJECTED.
41
+ - **Fact-Based**: No "It looks good" — only "It passed [X] test."
42
+ - **Traceable**: Link every finding to a specific line of code.
@@ -1,113 +1,50 @@
1
1
  ---
2
- description: Bí ý tưởng? Dùng cái này để AI gợi ý.
2
+ description: Bí ý tưởng? Dùng cái này để AI gợi ý theo chuẩn Senior.
3
3
  ---
4
4
 
5
- # /brainstorm - Structured Idea Exploration
5
+ # /brainstorm - Structured Strategic Exploration
6
6
 
7
7
  $ARGUMENTS
8
8
 
9
9
  ---
10
10
 
11
- ## Purpose
11
+ ## 🟢 PHASE 1: Domain Discovery
12
+ **Agent**: `explorer-agent`
13
+ **Mission**: Understand the boundaries of the problem.
14
+ - **Action**: Scan relevant files for context.
15
+ - **DNA Link**: Map the request to the correct scale in `GEMINI.md`.
12
16
 
13
- This command activates BRAINSTORM mode for structured idea exploration. Use when you need to explore options before committing to an implementation.
17
+ ## 🟡 PHASE 2: Multi-Option Generation
18
+ **Agent**: `project-planner` or specific specialist
19
+ **Mission**: Divergent thinking.
20
+ - **Action**: Provide at least 3 distinct approaches:
21
+ - **Option A**: Conservative/Safe.
22
+ - **Option B**: Modern/Aggressive.
23
+ - **Option C**: Creative/Out-of-the-box.
24
+ - **Artifact**: Create a comparison table with Pros, Cons, and Effort.
14
25
 
15
- ---
16
-
17
- ## Behavior
18
-
19
- When `/brainstorm` is triggered:
20
-
21
- 1. **Understand the goal**
22
- - What problem are we solving?
23
- - Who is the user?
24
- - What constraints exist?
25
-
26
- 2. **Generate options**
27
- - Provide at least 3 different approaches
28
- - Each with pros and cons
29
- - Consider unconventional solutions
30
-
31
- 3. **Compare and recommend**
32
- - Summarize tradeoffs
33
- - Give a recommendation with reasoning
34
-
35
- ---
36
-
37
- ## Output Format
26
+ ## 🔵 PHASE 3: Competitive Analysis & Recommendation
27
+ **Agent**: `product-manager`
28
+ **Mission**: Convergent thinking.
29
+ - **Action**: Analyze tradeoffs against the original goal.
30
+ - **Action**: State a professional recommendation with clear rationale.
38
31
 
39
- ```markdown
40
- ## 🧠 Brainstorm: [Topic]
41
-
42
- ### Context
43
- [Brief problem statement]
32
+ ## 🔴 PHASE 4: Strategic Handoff
33
+ **Agent**: `project-planner`
34
+ **Mission**: Prepare for action.
35
+ - **Action**: Ask the user which path to take.
36
+ - **Transition**: Ready to trigger `/plan` based on selection.
44
37
 
45
38
  ---
46
39
 
47
- ### Option A: [Name]
48
- [Description]
49
-
50
- **Pros:**
51
- - [benefit 1]
52
- - [benefit 2]
53
-
54
- ❌ **Cons:**
55
- - [drawback 1]
56
-
57
- 📊 **Effort:** Low | Medium | High
40
+ ## Brainstorming Rules:
41
+ - **No Code**: Focus on architecture and logic.
42
+ - **Honest Tradeoffs**: Don't hide complexity.
43
+ - **User-Centric**: Tailor solutions to the user's specific context.
58
44
 
59
45
  ---
60
46
 
61
- ### Option B: [Name]
62
- [Description]
63
-
64
- **Pros:**
65
- - [benefit 1]
66
-
67
- ❌ **Cons:**
68
- - [drawback 1]
69
- - [drawback 2]
70
-
71
- 📊 **Effort:** Low | Medium | High
72
-
73
- ---
74
-
75
- ### Option C: [Name]
76
- [Description]
77
-
78
- ✅ **Pros:**
79
- - [benefit 1]
80
-
81
- ❌ **Cons:**
82
- - [drawback 1]
83
-
84
- 📊 **Effort:** Low | Medium | High
85
-
86
- ---
87
-
88
- ## 💡 Recommendation
89
-
90
- **Option [X]** because [reasoning].
91
-
92
- What direction would you like to explore?
93
- ```
94
-
95
- ---
96
-
97
- ## Examples
98
-
99
- ```
100
- /brainstorm authentication system
101
- /brainstorm state management for complex form
102
- /brainstorm database schema for social app
103
- /brainstorm caching strategy
104
- ```
105
-
106
- ---
107
-
108
- ## Key Principles
109
-
110
- - **No code** - this is about ideas, not implementation
111
- - **Visual when helpful** - use diagrams for architecture
112
- - **Honest tradeoffs** - don't hide complexity
113
- - **Defer to user** - present options, let them decide
47
+ ## Examples:
48
+ - `/brainstorm state management strategy`
49
+ - `/brainstorm database schema for social media`
50
+ - `/brainstorm UI design system for mobile`