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,3292 @@
1
+ ---
2
+ description: Workflow unificado para novo projeto. Orquestra PRD → TDD Técnico → Design System → Breakdown → TDD Metodologia → Implementação → Deploy. Fluxo completo com checkpointing.
3
+ skills: checkpointing-patterns, project-tracking-patterns, ui-ux-discovery, local-verification, integration-completeness, content-strategy, page-specifications, design-md, enhance-prompt, react-components, stitch-loop, remotion, shadcn-ui, component-library-discovery
4
+ ---
5
+
6
+ # /new-project - Novo Projeto Completo
7
+
8
+ $ARGUMENTS
9
+
10
+ ---
11
+
12
+ ## 🎯 PROPÓSITO
13
+
14
+ Workflow **orquestrador** que guia a criação de um novo projeto do zero, garantindo:
15
+ - Exploração de ideias quando necessário (Brainstorm)
16
+ - Documentação completa (PRD + TDD)
17
+ - Testes antes do código (TDD Metodologia)
18
+ - Rastreabilidade entre documentos
19
+ - Cobertura mínima de 80%
20
+
21
+ ---
22
+
23
+ ## 📊 QUANDO USAR ESTE WORKFLOW?
24
+
25
+ > [!TIP]
26
+ > **Use este guia para escolher o workflow correto:**
27
+
28
+ | Situação | Workflow Recomendado | Por quê? |
29
+ |----------|---------------------|----------|
30
+ | Ideia vaga, preciso explorar opções | `/new-project --brainstorm` | Inclui fase de exploração |
31
+ | Ideia clara, quero documentação formal | `/new-project` | Fluxo completo com PRD + TDD |
32
+ | Projeto rápido, sem PRD formal | `/new-project --quick` | Direto para TDD + Tasks |
33
+ | Apenas explorar ideias técnicas | `/brainstorm` | Sem compromisso de implementar |
34
+ | Projeto legado, preciso documentar | `/document` → `/discovery --from-project` | Engenharia reversa |
35
+ | Nova feature em projeto existente | `/enhance` ou `/tdd new` | Contexto já existe |
36
+
37
+ ---
38
+
39
+ ## 🧩 SUBCOMMANDS
40
+
41
+ | Comando | Ação |
42
+ |---------|------|
43
+ | `/new-project [nome]` | Fluxo **completo** (PRD → TDD → Tests → Code) |
44
+ | `/new-project --brainstorm [nome]` | Inclui **Phase 0** para explorar ideias |
45
+ | `/new-project --quick [nome]` | Modo **ágil** (sem PRD formal, direto TDD) |
46
+ | `/new-project --resume` | **Retomar** de onde parou |
47
+ | `/new-project --from-prd [arquivo]` | Continua de PRD já aprovado |
48
+ | `/new-project --from-tdd [arquivo]` | Continua de TDD já aprovado |
49
+ | `/new-project --from-demand [nome]` | Importa de proposta comercial aprovada |
50
+ | `/new-project --from-figma [url]` | Importa Design System do Figma |
51
+ | `/new-project status` | Mostra status e progresso atual |
52
+
53
+ ---
54
+
55
+ ## 🔀 MODOS DE OPERAÇÃO
56
+
57
+ ### Modo COMPLETO (Padrão)
58
+ ```
59
+ /new-project meu-app
60
+ ```
61
+ ```
62
+ Phase 1 (PRD) → Phase 2 (TDD) → Phase 2.1 (Task Setup) → Phase 2.5+ (Design) → Phase 3 (Breakdown) → Phase 4 (Tests) → Phase 5 (Code) → Phase 6 (Verify) → Phase 7 (Deploy)
63
+ ```
64
+
65
+ ### Modo BRAINSTORM (Ideia indefinida)
66
+ ```
67
+ /new-project --brainstorm meu-app
68
+ ```
69
+ ```
70
+ Phase 0 (Brainstorm) → Phase 1 (PRD) → Phase 2 (TDD) → Phase 2.1 (Task Setup) → ... → Phase 7 (Deploy)
71
+ ```
72
+
73
+ ### Modo QUICK (Ágil, sem PRD formal)
74
+ ```
75
+ /new-project --quick meu-app
76
+ ```
77
+ ```
78
+ Phase 2 (TDD) → Phase 3 (Breakdown) → Phase 4 (Tests) → Phase 5 (Code) → Phase 6 (Verify) → Phase 7 (Deploy)
79
+ ```
80
+ > Pula Phase 0 e Phase 1. Vai direto para TDD com Socratic Gate simplificado.
81
+
82
+ ---
83
+
84
+ ## 💾 SISTEMA DE CHECKPOINTING
85
+
86
+ > [!IMPORTANT]
87
+ > **Projetos podem ser interrompidos.** O workflow salva progresso em `docs/PROJECT-PROGRESS.md` a cada fase.
88
+
89
+ ### Arquivo de Controle: `docs/PROJECT-PROGRESS.md`
90
+
91
+ Criado automaticamente ao iniciar o projeto, contém:
92
+
93
+ | Seção | Conteúdo |
94
+ |-------|----------|
95
+ | Status Geral | Nome, fases, última atualização |
96
+ | Fases | Checklist de cada phase com artefatos |
97
+ | Tasks | Lista de tasks pendentes/concluídas |
98
+ | Histórico | Log de ações |
99
+
100
+ ### Retomada Automática
101
+
102
+ ```bash
103
+ # Retomar de onde parou
104
+ /new-project --resume
105
+
106
+ # Ver status
107
+ /new-project status
108
+ ```
109
+
110
+ **Ao executar `--resume`:**
111
+ 1. Carrega `docs/PROJECT-PROGRESS.md`
112
+ 2. Identifica fase pendente
113
+ 3. **🚨 DESYNC DETECTOR (OBRIGATÓRIO):**
114
+ - Comparar tasks marcadas como ✅ em PROJECT-PROGRESS.md
115
+ - Com status real no Tracker (query por ID)
116
+ - Se LOCAL=✅ mas TRACKER=Não iniciado → **PARAR e executar sync retroativo**
117
+ 4. **🔗 FLYEE BRIDGE CHECK (OBRIGATÓRIO):**
118
+ - Ler `flyee.json`
119
+ - Se `enabled: true` OU `opted_out: true` → Prosseguir silenciosamente
120
+ - Se `enabled: false` E `opted_out: false` → Perguntar ao usuário:
121
+
122
+ ```markdown
123
+ ## 🔗 Integração com Flyee Platform
124
+
125
+ Este projeto não está conectado à plataforma Flyee.
126
+ O Flyee pode rastrear seus documentos, decisões e progresso.
127
+
128
+ | Opção | Descrição |
129
+ |-------|-----------||
130
+ | **A) Configurar agora** | Conectar ao Flyee (listar/criar projeto + registrar docs) |
131
+ | **B) Depois** | Pular (configurar depois com `python .agent/flyee-bridge/bridge.py --setup`) |
132
+ | **C) Não quero** | Desabilitar permanentemente |
133
+ ```
134
+
135
+ - **Se A:** Executar **FLYEE BRIDGE SETUP FLOW** (ver seção abaixo)
136
+ - **Se B:** Continuar sem bridge
137
+ - **Se C:** Setar `opted_out: true` em `config.json`
138
+ 5. **🎯 OKR GAP DETECTOR (OBRIGATÓRIO se Flyee habilitado):**
139
+ - Executar `python3 .agent/flyee-bridge/bridge.py --list-okrs`
140
+ - **Se 0 OKRs encontrados:**
141
+ 1. Ler `docs/PRD-*.md` → Extrair objetivos das seções "Objectives" / "Goals" / "Scope" / "Problema"
142
+ 2. Ler `docs/design/TDD-*.md` → Extrair critérios de sucesso / KPIs / métricas
143
+ 3. Gerar 1-3 OKRs com key results mensuráveis
144
+ 4. Para cada OKR gerado:
145
+ ```bash
146
+ python3 .agent/flyee-bridge/bridge.py --create-okr \
147
+ --objective "Lançar MVP funcional do {projeto}" \
148
+ --key-results '{"kr1": "100% features do PRD implementadas", "kr2": "Cobertura de testes > 80%", "kr3": "Deploy em produção"}' \
149
+ --period "Q1 2026"
150
+ ```
151
+ 5. Registrar métrica de session:
152
+ ```bash
153
+ python3 .agent/flyee-bridge/bridge.py --register-metrics \
154
+ --type session_started \
155
+ --data '{"workflow": "new-project --resume", "action": "okr_gap_filled"}'
156
+ ```
157
+ 6. Apresentar OKRs criados ao usuário para validação
158
+ - **Se >= 1 OKR:** Skip silencioso (OKRs já existem)
159
+ - **Se Flyee desabilitado:** Skip silencioso
160
+ 6. Continua execução (apenas se sem desync)
161
+
162
+ > [!CAUTION]
163
+ > **DESYNC DETECTOR:** Antes de continuar qualquer trabalho em --resume, o agente DEVE:
164
+ > 1. Buscar status de TODAS as tasks marcadas como completas localmente
165
+ > 2. Se encontrar desync (local ✅, Tracker ≠ completed) → Executar sync retroativo PRIMEIRO
166
+ > 3. Só prosseguir após confirmar: "Nenhum desync detectado" ou "Desync corrigido"
167
+
168
+ > [!IMPORTANT]
169
+ > **OKR GAP DETECTOR:** Projetos que passaram pelas fases iniciais sem criar OKRs serão
170
+ > detectados automaticamente no `--resume`. O agente extrai objetivos do PRD e key results
171
+ > do TDD para gerar OKRs relevantes. O template de key results deve incluir:
172
+ > - **KR de entrega:** Features implementadas vs. planejadas
173
+ > - **KR de qualidade:** Cobertura de testes, performance
174
+ > - **KR de impacto:** Métricas de negócio do PRD (usuários, NPS, conversão)
175
+
176
+ ### Template: PROJECT-PROGRESS.md
177
+
178
+ ```markdown
179
+ # Project Progress - {nome}
180
+
181
+ > Arquivo de controle para retomar workflow de onde parou.
182
+ > ⚠️ NÃO EDITAR MANUALMENTE - Atualizado automaticamente.
183
+
184
+ ## 📊 Status Geral
185
+
186
+ | Campo | Valor |
187
+ |-------|-------|
188
+ | Projeto | {nome} |
189
+ | Modo | completo / quick / brainstorm |
190
+ | Iniciado em | {data} |
191
+ | Última atualização | {data} |
192
+ | Status | 🟡 Em Progresso |
193
+ | Fase Atual | 4/7 - TDD Metodologia |
194
+
195
+ ---
196
+
197
+ ## 📋 Fases
198
+
199
+ | Fase | Status | Artefato |
200
+ |------|--------|----------|
201
+ | 0. Brainstorm | ⏭️ Pulado | - |
202
+ | 1. PRD | ✅ Aprovado | `docs/PRD-{nome}.md` |
203
+ | 2. TDD Técnico | ✅ Aprovado | `docs/design/TDD-{nome}.md` |
204
+ | 2.1 Task Setup | ✅ Concluído | {N} tasks de planejamento |
205
+ | 3. Breakdown | ✅ Concluído | 12 tasks criadas |
206
+ | 4. TDD Metodologia | 🟡 Em Progresso | 5/12 testes escritos |
207
+ | 5. Implementação | ⏳ Pendente | - |
208
+ | 6. Verificação | ⏳ Pendente | - |
209
+ | 7. Deploy | ⏳ Pendente | - |
210
+
211
+ ---
212
+
213
+ ## 📝 Tasks (Phase 4-5)
214
+
215
+ | # | Task | Teste | Código | Status |
216
+ |---|------|-------|--------|--------|
217
+ | 1 | Setup inicial | ✅ | ✅ | ✅ Completo |
218
+ | 2 | Auth básica | ✅ | ✅ | ✅ Completo |
219
+ | 3 | CRUD usuários | ✅ | 🟡 | 🟡 Em Progresso |
220
+ | 4 | Integração API | ⏳ | ⏳ | ⏳ Pendente |
221
+ | ... | ... | ... | ... | ... |
222
+
223
+ ---
224
+
225
+ ## 📜 Histórico
226
+
227
+ | Data | Fase | Ação |
228
+ |------|------|------|
229
+ | 2025-01-15 10:00 | 1 | PRD criado |
230
+ | 2025-01-15 14:00 | 1 | PRD aprovado |
231
+ | 2025-01-16 09:00 | 2 | TDD técnico criado |
232
+ | ... | ... | ... |
233
+
234
+ ---
235
+
236
+ ## 🔄 Como Retomar
237
+
238
+ \```bash
239
+ /new-project --resume
240
+ \```
241
+ ```
242
+
243
+ ---
244
+
245
+ ## 🔴 FLUXO COMPLETO
246
+
247
+ ```
248
+ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐
249
+ │ DISCOVERY │───▶│ BRAINSTORM │───▶│ PRD │───▶│ TDD TÉCNICO │───▶│ REFERÊNCIAS │───▶│DESIGN SYSTEM │───▶│ CONTENT │───▶│ STITCH │───▶│ PAGE SPECS │───▶│ BREAKDOWN │───▶│ TESTS │───▶│ IMPLEMENT │───▶│ DEPLOY │
250
+ │ (TIPO+STACK) │ │ (OPCIONAL) │ │ (O QUE) │ │ (COMO) │ │ (COLETAR) │ │ (TOKENS) │ │ (O QUE DIZ) │ │ (PROTÓTIPO) │ │ (BLUEPRINT) │ │ (TASKS) │ │ (PRIMEIRO) │ │ (CÓDIGO) │ │ (PREVIEW) │
251
+ └──────────────┘ └──────────────┘ └──────────────┘ └──────────────┘ └──────────────┘ └──────────────┘ └──────────────┘ └──────────────┘ └──────────────┘ └──────────────┘ └──────────────┘ └──────────────┘ └──────────────┘
252
+ ✋ 🧠 ✋ ✋ ✋ ✋ ✋ ✋ ✋ ✅ ✅ ✅ ✅
253
+ Obrigatório Exploração Aprovação Aprovação Pergunta+Coleta Aprovação Aprovação Aprovação+/stitch Aprovação Automático Automático Automático Final
254
+ ```
255
+
256
+ > **🚦 GATE 0 (Discovery)** é OBRIGATÓRIO e roda ANTES de tudo. Define tipo de projeto, stack e quais fases serão ativadas.
257
+ > **📋 Phase 2.1 (Task Setup)** ocorre entre TDD TÉCNICO e REFERÊNCIAS, criando tasks de tracking para fases 2.5–2.9.
258
+ > **📋 Phase 2.45 (Referências)** pergunta como o usuário quer definir o Design System (recomendações, referências visuais, manual, ou combinação).
259
+
260
+ ---
261
+
262
+ ### 🚦 GATE 0: PROJECT TYPE DISCOVERY (Obrigatório)
263
+
264
+ > [!CAUTION]
265
+ > **OBRIGATÓRIO:** Este gate roda ANTES de qualquer fase, inclusive Brainstorm.
266
+ > **NÃO PULAR:** Mesmo com `--quick` ou `--brainstorm`, este gate deve ser executado.
267
+ > **EXCEÇÃO:** `--resume` (já tem Project Profile salvo em PROJECT-PROGRESS.md).
268
+
269
+ **Objetivo:** Identificar o tipo de projeto e definir o **Project Profile** que controla quais agentes, skills, fases e templates serão ativados.
270
+
271
+ **Trigger:**
272
+ ```
273
+ /new-project [nome] → Gate 0 roda PRIMEIRO
274
+ /new-project --brainstorm [nome] → Gate 0 roda PRIMEIRO
275
+ /new-project --quick [nome] → Gate 0 roda PRIMEIRO
276
+ ```
277
+
278
+ ---
279
+
280
+ #### Pergunta 1: Tipo de Projeto (OBRIGATÓRIA)
281
+
282
+ ```markdown
283
+ ## 🚦 Que tipo de projeto deseja criar?
284
+
285
+ | # | Tipo | Exemplo | Fases Ativadas |
286
+ |---|------|---------|---------|
287
+ | **1** | 🌐 Site Institucional / Landing Page | Perspec, portfólio, LP de produto | PRD → Design System → Content → Stitch → Implementação |
288
+ | **2** | 🖥️ Web App (SaaS / Dashboard) | Painel admin, SaaS, plataforma | PRD → TDD → Design System → Breakdown → TDD Metodologia → Implementação |
289
+ | **3** | 🔌 API / Backend | REST API, microserviços, BFF | PRD → TDD → Breakdown → TDD Metodologia → Implementação |
290
+ | **4** | 📱 Mobile App | React Native, Flutter, nativo | PRD → TDD → Design System (mobile) → Breakdown → Implementação |
291
+ | **5** | 🧩 Fullstack (Web App + API) | App completo com frontend e backend | PRD → TDD → Design System → Breakdown → TDD Metodologia → Implementação |
292
+ | **6** | 📦 Pacote / Biblioteca | npm package, SDK, utility | PRD → TDD → TDD Metodologia → Implementação |
293
+
294
+ Qual número?
295
+ ```
296
+
297
+ **AGUARDAR** resposta do usuário.
298
+
299
+ ---
300
+
301
+ #### Pergunta 2: Stack (Contextual ao Tipo)
302
+
303
+ Após o tipo, fazer perguntas de follow-up **específicas ao tipo escolhido:**
304
+
305
+ ##### Se Tipo 1 (Site Institucional / LP)
306
+ ```markdown
307
+ ### Stack para Site Institucional:
308
+
309
+ | Opção | Stack | Quando usar |
310
+ |-------|-------|-----------|
311
+ | **A** | Next.js (App Router) + CSS Modules | Sites com várias páginas, SEO, rotas dinâmicas |
312
+ | **B** | Next.js (App Router) + Tailwind | Sites rápidos com prototipação visual |
313
+ | **C** | HTML/CSS/JS puro (Vanilla) | Sites simples, sem framework |
314
+ | **D** | Outra (especifique) | Stack já definida |
315
+
316
+ Preferência? (ou quer recomendação baseada no projeto?)
317
+ ```
318
+
319
+ ##### Se Tipo 2 (Web App / SaaS)
320
+ ```markdown
321
+ ### Stack para Web App:
322
+
323
+ | Opção | Stack | Quando usar |
324
+ |-------|-------|-----------|
325
+ | **A** | Next.js + shadcn/ui + Tailwind | Apps modernos com componentes prontos |
326
+ | **B** | Next.js + CSS Modules | Apps com design system customizado |
327
+ | **C** | Vite + React + Tailwind | SPAs sem SSR |
328
+ | **D** | Outra (especifique) | Stack já definida |
329
+
330
+ Preferência?
331
+
332
+ **Perguntas adicionais:**
333
+ - Precisa de autenticação? (Supabase Auth / NextAuth / Clerk / outro)
334
+ - Banco de dados? (Supabase / Prisma+Postgres / Firebase / outro)
335
+ - Deploy? (Vercel / Docker / outro)
336
+ ```
337
+
338
+ ##### Se Tipo 3 (API / Backend)
339
+ ```markdown
340
+ ### Stack para API:
341
+
342
+ | Opção | Stack | Quando usar |
343
+ |-------|-------|-----------|
344
+ | **A** | Node.js + Express/Fastify | APIs REST simples |
345
+ | **B** | NestJS + Prisma | APIs enterprise com DI |
346
+ | **C** | Next.js API Routes | API acoplada ao frontend |
347
+ | **D** | Python (FastAPI / Django) | APIs Python |
348
+ | **E** | Outra (especifique) | Stack já definida |
349
+
350
+ Preferência?
351
+
352
+ **Perguntas adicionais:**
353
+ - Protocolo? (REST / GraphQL / tRPC / gRPC)
354
+ - Banco de dados? (PostgreSQL / MongoDB / SQLite / outro)
355
+ ```
356
+
357
+ ##### Se Tipo 4 (Mobile)
358
+ ```markdown
359
+ ### Stack para Mobile:
360
+
361
+ | Opção | Stack | Quando usar |
362
+ |-------|-------|-----------|
363
+ | **A** | React Native + Expo | Cross-platform rápido |
364
+ | **B** | Flutter | Cross-platform com UI nativa |
365
+ | **C** | SwiftUI (iOS nativo) | Apenas iOS |
366
+ | **D** | Kotlin (Android nativo) | Apenas Android |
367
+
368
+ Preferência?
369
+ ```
370
+
371
+ ##### Se Tipo 5 (Fullstack)
372
+ ```markdown
373
+ ### Stack para Fullstack:
374
+ Combinação de frontend + backend. Responda ambas:
375
+
376
+ **Frontend:** (mesmas opções do Tipo 2)
377
+ **Backend:** (mesmas opções do Tipo 3, ou API Routes integrada?)
378
+ ```
379
+
380
+ ##### Se Tipo 6 (Pacote / Biblioteca)
381
+ ```markdown
382
+ ### Stack para Pacote:
383
+
384
+ | Opção | Stack | Quando usar |
385
+ |-------|-------|-----------|
386
+ | **A** | TypeScript + tsup/unbuild | Pacotes npm modernos |
387
+ | **B** | TypeScript + Rollup/Vite lib | Libs com tree-shaking |
388
+ | **C** | Python + setuptools/poetry | Pacotes PyPI |
389
+
390
+ Preferência?
391
+
392
+ **Perguntas adicionais:**
393
+ - Publicar no npm/PyPI? Ou uso interno?
394
+ - Monorepo? (Turborepo / Nx / pnpm workspaces)
395
+ ```
396
+
397
+ **AGUARDAR** resposta do usuário.
398
+
399
+ ---
400
+
401
+ #### Pergunta 3: Design (Apenas para tipos com UI: 1, 2, 4, 5)
402
+
403
+ ```markdown
404
+ ### Abordagem de Design:
405
+
406
+ | Opção | Descrição |
407
+ |-------|-----------|
408
+ | **A** | Já tenho referências visuais (Figma, screenshots, sites de inspiração) |
409
+ | **B** | Quero recomendações do agente baseadas no segmento |
410
+ | **C** | Vou definir manualmente (tenho as cores, fontes, etc.) |
411
+ | **D** | Combinação: referências + ajustes com recomendações |
412
+
413
+ Qual opção?
414
+ ```
415
+
416
+ > [!NOTE]
417
+ > A resposta desta pergunta **substitui** a Phase 2.45 (Visual Reference Collection).
418
+ > Se o usuário responder aqui, a Phase 2.45 usa essa escolha diretamente sem perguntar novamente.
419
+
420
+ ---
421
+
422
+ #### Resultado: Project Profile
423
+
424
+ Após as respostas, o agente gera o **Project Profile** e salva no `PROJECT-PROGRESS.md`:
425
+
426
+ ```markdown
427
+ ## 🚦 Project Profile
428
+
429
+ | Campo | Valor |
430
+ |-------|-------|
431
+ | Tipo | {tipo escolhido} |
432
+ | Stack | {stack definida} |
433
+ | Agent Principal | {agent selecionado} |
434
+ | Design Approach | {A/B/C/D ou N/A} |
435
+ | Tem UI? | Sim / Não |
436
+ | Tem Backend? | Sim / Não |
437
+ | Fases Ativadas | {lista} |
438
+ | Fases Puladas | {lista} |
439
+ ```
440
+
441
+ #### Mapeamento Tipo → Configuração
442
+
443
+ | Tipo | Agent Principal | Fases Puladas | Skills Extras |
444
+ |------|----------------|---------------|---------------|
445
+ | Site Institucional | `frontend-specialist` | — | `content-strategy`, `seo-fundamentals` |
446
+ | Web App | `frontend-specialist` + `backend-specialist` | Content Strategy (opcional) | `shadcn-ui` (se aplicável) |
447
+ | API / Backend | `backend-specialist` | Design System, Content, Stitch, Page Specs | `api-patterns`, `database-design` |
448
+ | Mobile | `mobile-developer` | Stitch, Content | `mobile-design` |
449
+ | Fullstack | `orchestrator` | — | Combina frontend + backend |
450
+ | Pacote / Biblioteca | `backend-specialist` | Design System, Content, Stitch, Page Specs | `testing-patterns` |
451
+
452
+ **Gate de Saída:**
453
+ ```
454
+ [ ] Tipo de projeto definido
455
+ [ ] Stack confirmada pelo usuário
456
+ [ ] Design approach definido (se tem UI)
457
+ [ ] Project Profile salvo em PROJECT-PROGRESS.md
458
+ ```
459
+
460
+ > [!CAUTION]
461
+ > **BLOQUEADOR:** Não iniciar nenhuma fase (nem Brainstorm) sem o Project Profile definido.
462
+
463
+ ---
464
+
465
+ #### Pergunta 4: Integração Flyee (OBRIGATÓRIA após Project Profile)
466
+
467
+ > Executar APÓS o Project Profile ser salvo, ANTES de iniciar Phase 0/1.
468
+
469
+ **Verificar** `flyee.json`:
470
+ - Se `opted_out: true` → Pular silenciosamente
471
+ - Se `enabled: true` → Pular silenciosamente (já configurado)
472
+ - Se `enabled: false` E `opted_out: false` → Apresentar pergunta:
473
+
474
+ ```markdown
475
+ ## 🔗 Integração com Flyee Platform
476
+
477
+ O Flyee pode rastrear documentos, decisões e progresso deste projeto.
478
+
479
+ | Opção | Descrição |
480
+ |-------|-----------||
481
+ | **A) Configurar agora** | Conectar ao Flyee (listar/criar projeto + registrar docs) |
482
+ | **B) Depois** | Pular (configurar depois com `python .agent/flyee-bridge/bridge.py --setup`) |
483
+ | **C) Não quero** | Desabilitar permanentemente |
484
+ ```
485
+
486
+ **Se A:** Executar **FLYEE BRIDGE SETUP FLOW** (ver seção abaixo)
487
+ **Se B:** Continuar sem bridge (`enabled: false`)
488
+ **Se C:** Setar `opted_out: true` em `config.json`
489
+
490
+ ---
491
+
492
+ ### FLYEE BRIDGE SETUP FLOW
493
+
494
+ > [!IMPORTANT]
495
+ > **Referenciado por:** Gate 0 (Pergunta 4) e `--resume` (Passo 4).
496
+ > Executado quando o usuário escolhe **"A) Configurar agora"**.
497
+
498
+ **Passo 1: Autenticação**
499
+ - Solicitar API URL (default: `https://flyee-api.flyeelab.com`)
500
+ - Solicitar API Key (obtida em Settings → API Keys na plataforma)
501
+
502
+ **Passo 2: Seleção ou Criação de Projeto**
503
+ - Listar projetos existentes via `GET /flyee/projects/` (usando API Key)
504
+ - Apresentar:
505
+
506
+ ```markdown
507
+ | # | Projeto | Status |
508
+ |---|---------|--------|
509
+ | 1 | Projeto A | active |
510
+ | 2 | Projeto B | draft |
511
+ | N | ➕ **Criar novo projeto** | — |
512
+ ```
513
+
514
+ - Se selecionar existente → usar `project_id` deste projeto
515
+ - Se criar novo:
516
+ - Sugerir nome baseado no diretório atual ou `PROJECT-PROGRESS.md`
517
+ - Confirmar com usuário (ou aceitar nome customizado)
518
+ - `POST /flyee/projects/` → salvar `project_id` retornado
519
+
520
+ **Passo 3: Registro de Documentação Existente**
521
+ - Escanear `docs/` buscando:
522
+ - `docs/PRD-*.md` → type: `prd`
523
+ - `docs/design/TDD-*.md` → type: `tdd`
524
+ - `docs/BREAKDOWN-*.md` → type: `other`
525
+ - `docs/PROJECT-PROGRESS.md` → type: `other`
526
+
527
+ - Para cada doc encontrado:
528
+ - Ler conteúdo
529
+ - `POST /flyee/projects/{id}/documents` (title, type, content)
530
+ - Exibir progresso
531
+
532
+ - Apresentar relatório:
533
+
534
+ ```markdown
535
+ 📋 **Documentação Registrada no Flyee**
536
+
537
+ | # | Documento | Tipo | Status |
538
+ |---|-----------|------|--------|
539
+ | 1 | PRD-flyee.md | PRD | ✅ Registrado |
540
+ | 2 | TDD-flyee.md | TDD | ✅ Registrado |
541
+ ```
542
+
543
+ **Passo 4: Salvar Config**
544
+ - Atualizar `config.json` com `api_url`, `project_id`, `api_key`, `enabled: true`
545
+
546
+ > [!TIP]
547
+ > **Comandos CLI disponíveis (para uso manual):**
548
+ > - `python .agent/flyee-bridge/bridge.py --setup` → setup completo interativo
549
+ > - `python .agent/flyee-bridge/bridge.py --list-projects` → listar projetos
550
+ > - `python .agent/flyee-bridge/bridge.py --register-docs` → registrar docs existentes
551
+
552
+ ---
553
+
554
+ ### Phase 0: BRAINSTORM (Opcional)
555
+
556
+ > [!NOTE]
557
+ > **Ativado com:** `/new-project --brainstorm [nome]`
558
+ > **Pule se:** A ideia já está clara e definida.
559
+
560
+ **Objetivo:** Explorar opções antes de se comprometer com uma direção.
561
+
562
+ **Trigger:**
563
+ ```
564
+ /new-project --brainstorm [nome-do-projeto]
565
+ ```
566
+
567
+ **Agentes Envolvidos:**
568
+ - `project-planner` - Estruturação de opções
569
+ - Especialistas de domínio conforme necessidade
570
+
571
+ **Ações:**
572
+ 1. Executar `/brainstorm [nome]`
573
+ 2. Gerar 3+ opções de abordagem
574
+ 3. Comparar prós/contras de cada
575
+ 4. **AGUARDAR** escolha do usuário
576
+
577
+ **Output Format:**
578
+ ```markdown
579
+ ## 🧠 Brainstorm: [Nome do Projeto]
580
+
581
+ ### Option A: [Abordagem 1]
582
+ ✅ Pros: ...
583
+ ❌ Cons: ...
584
+ 📊 Effort: Low | Medium | High
585
+
586
+ ### Option B: [Abordagem 2]
587
+ ...
588
+
589
+ ### Option C: [Abordagem 3]
590
+ ...
591
+
592
+ ## 💡 Recommendation
593
+ Option [X] porque [razão].
594
+
595
+ Qual direção seguir?
596
+ ```
597
+
598
+ **Gate de Saída:**
599
+ ```
600
+ [ ] Usuário escolheu uma direção
601
+ ```
602
+
603
+ ---
604
+
605
+ ### Phase 1: PRD - Product Requirements Document
606
+
607
+ > [!NOTE]
608
+ > **Pulado no modo --quick**
609
+
610
+ **Objetivo:** Definir O QUE será construído.
611
+
612
+ **Trigger:**
613
+ ```
614
+ /new-project [nome-do-projeto]
615
+ ou
616
+ Brainstorm concluído → Automático
617
+ ```
618
+
619
+ **Agentes Envolvidos:**
620
+ - `product-owner` - Lead do discovery
621
+ - `project-planner` - Estruturação
622
+
623
+ **Ações:**
624
+ 1. Executar `/prd new [nome]`
625
+ 2. Aplicar Socratic Gate completo (12 perguntas)
626
+ 3. Gerar `docs/PRD-{nome}.md`
627
+ 4. **AGUARDAR** aprovação humana
628
+
629
+ **Gate de Saída:**
630
+ ```
631
+ [ ] PRD aprovado pelo humano
632
+ ```
633
+
634
+ > [!CAUTION]
635
+ > **BLOQUEADOR:** Não prosseguir sem aprovação do PRD.
636
+
637
+ #### 🔔 FLYEE DECISION LOG (Condicional)
638
+
639
+ > Se `flyee.json` existe E `enabled: true`:
640
+
641
+ ```bash
642
+ # Registrar decisão de governança
643
+ python3 .agent/flyee-bridge/bridge.py --create-decision \
644
+ --decision "PRD aprovado: {nome}" \
645
+ --actor "user" \
646
+ --reason "PRD revisado e aprovado pelo stakeholder" \
647
+ --impact "Escopo definido, prosseguir para TDD técnico"
648
+ ```
649
+
650
+ > Se bridge não configurado → Pular silenciosamente.
651
+
652
+ ---
653
+
654
+ ### Phase 2: TDD TÉCNICO - Technical Design Document
655
+
656
+ **Objetivo:** Definir COMO será construído.
657
+
658
+ **Trigger:**
659
+ ```
660
+ PRD aprovado → Automático
661
+ ou
662
+ /new-project --from-prd docs/PRD-{nome}.md
663
+ ou
664
+ /new-project --quick [nome] (Socratic Gate simplificado)
665
+ ```
666
+
667
+ **Agentes Envolvidos:**
668
+ - `project-planner` - Arquitetura
669
+ - Backend/Frontend specialists conforme necessidade
670
+
671
+ **Ações (Modo Completo):**
672
+ 1. Executar `/tdd new [nome]`
673
+ 2. **Referenciar PRD:** `PRD Fonte: docs/PRD-{nome}.md`
674
+ 3. Preencher com base nas respostas do PRD
675
+ 4. Gerar `docs/design/TDD-{nome}.md`
676
+ 5. Validar com `/tdd validate`
677
+ 6. **AGUARDAR** aprovação humana
678
+
679
+ **Ações (Modo --quick):**
680
+ 1. Aplicar Socratic Gate simplificado (5 perguntas):
681
+ - 🎯 Qual problema estamos resolvendo?
682
+ - 👥 Quem são os usuários?
683
+ - 📦 O que é MVP?
684
+ - 🔗 Integrações necessárias?
685
+ - ⏰ Prazo esperado?
686
+ 2. Gerar `docs/design/TDD-{nome}.md` diretamente
687
+ 3. Validar e **AGUARDAR** aprovação
688
+
689
+ **Gate de Saída:**
690
+ ```
691
+ [ ] TDD validado (>= 75% completo)
692
+ [ ] Nenhum item INDEFINIDO bloqueador
693
+ [ ] **Environment Strategy definida no TDD** (dev vs staging vs prod) ⭐
694
+ [ ] TDD aprovado pelo humano
695
+ ```
696
+
697
+ > [!CAUTION]
698
+ > **ENVIRONMENT STRATEGY (OBRIGATÓRIO):** O TDD DEVE conter uma seção `## Environment Strategy`
699
+ > definindo separação de ambientes ANTES de ser aprovado. Esta seção deve incluir:
700
+ >
701
+ > | Ambientes listados | ✅ | `development`, `staging`, `production` |
702
+ > | Serviços por ambiente | ✅ | Supabase dev vs prod, Stripe test vs live |
703
+ > | Arquivos `.env` mapeados | ✅ | `.env.local` (dev), `.env.production` (prod) |
704
+ > | Credentials separadas | ✅ | Cada ambiente com projeto/chaves próprias |
705
+ > | Variáveis de ambiente listadas | ✅ | Tabela com TODAS as vars necessárias |
706
+ >
707
+ > **FALHA QUE GEROU ESTA REGRA:** Projeto Flyee chegou à Sprint 10 com `.env.local`
708
+ > apontando para Supabase **production**. Nenhuma fase exigiu separação de ambientes.
709
+ > Resultado: risco de corrupção/perda de dados de produção durante desenvolvimento.
710
+ >
711
+ > **Template mínimo para o TDD:**
712
+ > ```markdown
713
+ > ## Environment Strategy
714
+ >
715
+ > | Ambiente | Propósito | Supabase | Stripe | Outros |
716
+ > |----------|-----------|----------|--------|--------|
717
+ > | development | Desenvolvimento local | {projeto}-dev | sk_test_ | ... |
718
+ > | staging | Testes pré-deploy | {projeto}-stg | sk_test_ | ... |
719
+ > | production | Produção | {projeto}-prod | sk_live_ | ... |
720
+ >
721
+ > ### Arquivos de Configuração
722
+ > | Arquivo | Ambiente | Onde usa |
723
+ > |---------|----------|----------|
724
+ > | `.env.local` | development | `npm run dev` |
725
+ > | `.env.production` | production | Vercel/Deploy |
726
+ > | `.env.example` | template | Referência para novos devs |
727
+ > ```
728
+
729
+ > [!CAUTION]
730
+ > **BLOQUEADOR:** Não prosseguir sem aprovação do TDD.
731
+
732
+ #### 🔔 FLYEE DECISION LOG (Condicional)
733
+
734
+ > Se `flyee.json` existe E `enabled: true`:
735
+
736
+ ```bash
737
+ # Registrar decisão de governança
738
+ python3 .agent/flyee-bridge/bridge.py --create-decision \
739
+ --decision "TDD aprovado: {nome}" \
740
+ --actor "user" \
741
+ --reason "Arquitetura e stack definidas no TDD" \
742
+ --impact "Prosseguir para Design System e implementação"
743
+ ```
744
+
745
+ > Se bridge não configurado → Pular silenciosamente.
746
+
747
+ ---
748
+
749
+ ### Phase 2.1: TASK SETUP + TRACKING DE FASES
750
+
751
+ > [!IMPORTANT]
752
+ > **Equivalente ao Phase 3.5 do `/legacy-project`.**
753
+ > Garante que o progresso seja rastreado desde o início do planejamento.
754
+
755
+ > [!NOTE]
756
+ > **Pulado no modo --quick** (não há fases 2.5–2.9 para rastrear).
757
+
758
+ **Objetivo:** Criar tasks de planejamento para TODAS as fases de planejamento (2.5–2.9), permitindo acompanhar o progresso antes do breakdown de implementação.
759
+
760
+ **Trigger:**
761
+ ```
762
+ TDD aprovado → Automático
763
+ ```
764
+
765
+ **Agentes Envolvidos:**
766
+ - `orchestrator` - Integração com tracker
767
+
768
+ #### Detecção Automática do Tracker
769
+
770
+ > [!CAUTION]
771
+ > **O tracker é determinado automaticamente pela configuração do Flyee Bridge.**
772
+ > - Se `flyee.json` → `enabled: true` → **Tracker = Flyee**
773
+ > - Se `enabled: false` → **Tracker = Local (`docs/TASKS.md`)**
774
+
775
+ **NÃO perguntar ao usuário.** A decisão já foi tomada no FLYEE BRIDGE CHECK (Gate 0 / `--resume`).
776
+
777
+ #### Passo 1: Criar Tasks de Planejamento
778
+
779
+ Para CADA fase de planejamento, criar task:
780
+
781
+ | # | Task | Fase | Tipo |
782
+ |---|------|------|------|
783
+ | N+1 | Design System: UI/UX Discovery + MASTER.md | 2.5 | implement_feature |
784
+ | N+2 | Content Strategy: Copy e Conteúdo | 2.65 | implement_feature |
785
+ | N+3 | Stitch: Prototipação com IA | 2.7 | implement_feature |
786
+ | N+4 | Page Specs: Blueprint Detalhado | 2.8 | implement_feature |
787
+ | N+5 | Analytics Strategy: Tracking & Measurement | 2.9 | implement_feature |
788
+
789
+ **Se Tracker = Flyee:**
790
+
791
+ ```bash
792
+ # Para cada task, chamar via bridge.py:
793
+ python .agent/flyee-bridge/bridge.py --create-task \
794
+ --type implement_feature \
795
+ --name "Design System: UI/UX Discovery + MASTER.md" \
796
+ --meta '{"phase": "2.5", "category": "Planejamento"}'
797
+ ```
798
+
799
+ Ou via Python direto:
800
+ ```python
801
+ from bridge import create_task, load_config
802
+ config = load_config()
803
+ create_task(
804
+ api_url=config["api_url"],
805
+ api_key=config["api_key"],
806
+ project_id=config["project_id"],
807
+ task_type="implement_feature",
808
+ name="Design System: UI/UX Discovery + MASTER.md",
809
+ description="Criar tokens de design, descobrir preferências de UI/UX",
810
+ meta={"phase": "2.5", "category": "Planejamento"},
811
+ )
812
+ ```
813
+
814
+ **Se Tracker = Local:**
815
+
816
+ Criar/atualizar `docs/TASKS.md`:
817
+ ```markdown
818
+ # Tasks de Planejamento
819
+
820
+ ## Phase 2.5 — Design System
821
+ - [ ] Design System: UI/UX Discovery + MASTER.md
822
+
823
+ ## Phase 2.65 — Content Strategy
824
+ - [ ] Content Strategy: Copy e Conteúdo
825
+
826
+ ## Phase 2.7 — Stitch
827
+ - [ ] Stitch: Prototipação com IA
828
+
829
+ ## Phase 2.8 — Page Specs
830
+ - [ ] Page Specs: Blueprint Detalhado
831
+
832
+ ## Phase 2.9 — Analytics
833
+ - [ ] Analytics Strategy: Tracking & Measurement
834
+ ```
835
+
836
+ > [!WARNING]
837
+ > **Tasks de implementação (Phase 4–7)** são criadas no Phase 3 (BREAKDOWN), quando o TDD
838
+ > é decomposto em tarefas granulares. Não antecipar estas tasks aqui.
839
+
840
+ #### Passo 2: Atualizar Status ao Executar Fases
841
+
842
+ À medida que cada fase de planejamento for concluída:
843
+
844
+ **Se Flyee:**
845
+ ```python
846
+ update_task(
847
+ api_url=config["api_url"],
848
+ api_key=config["api_key"],
849
+ task_id="{task_id}",
850
+ status="completed",
851
+ result_status="success",
852
+ output={"summary": "Design System criado com tokens completos"},
853
+ metrics={"time_spent": "2h"},
854
+ )
855
+ ```
856
+
857
+ **Se Local:**
858
+ Marcar checkbox em `docs/TASKS.md`: `- [x] Design System: UI/UX Discovery + MASTER.md`
859
+
860
+ #### Passo 3: Relatório de Tasks Criadas
861
+
862
+ ```markdown
863
+ 📋 **TASK SETUP CONCLUÍDO**
864
+
865
+ | # | Task | Fase | Tracker | Status |
866
+ |---|------|------|---------|--------|
867
+ | {id} | Design System | 2.5 | {Flyee/Local} | Pendente |
868
+ | {id} | Content Strategy | 2.65 | {Flyee/Local} | Pendente |
869
+ | {id} | Stitch | 2.7 | {Flyee/Local} | Pendente |
870
+ | {id} | Page Specs | 2.8 | {Flyee/Local} | Pendente |
871
+ | {id} | Analytics | 2.9 | {Flyee/Local} | Pendente |
872
+
873
+ Total: {N} tasks de planejamento criadas ({Tracker})
874
+ ```
875
+
876
+ **Gate de Saída:**
877
+ ```
878
+ [ ] Tracker detectado (Flyee ou Local)
879
+ [ ] Tasks de planejamento criadas
880
+ [ ] PROJECT-PROGRESS.md atualizado
881
+ ```
882
+
883
+ ---
884
+
885
+ ### Phase 2.45: VISUAL REFERENCE COLLECTION (Pergunta Obrigatória)
886
+
887
+ > [!IMPORTANT]
888
+ > **OBRIGATÓRIO:** Antes de iniciar Phase 2.5, perguntar ao usuário COMO quer definir o Design System.
889
+
890
+ **Objetivo:** Determinar a abordagem de definição do Design System e coletar materiais de referência se necessário.
891
+
892
+ **Trigger:**
893
+ ```
894
+ Task Setup concluído → Automático (exceto --no-design)
895
+ ```
896
+
897
+ ---
898
+
899
+ #### Pergunta ao Usuário (OBRIGATÓRIA)
900
+
901
+ ```markdown
902
+ ## 🎨 Como deseja definir o Design System?
903
+
904
+ Antes de definir os tokens visuais (cores, tipografia, efeitos), preciso saber como você quer conduzir:
905
+
906
+ | Opção | Descrição |
907
+ |-------|-----------|
908
+ | **A) Recomendações + Perguntas** | Eu gero recomendações baseadas no contexto do projeto e te faço perguntas granulares por aspecto (cores, tipografia, layout, efeitos, logo) |
909
+ | **B) Referências Visuais** | Você fornece screenshots, URLs ou imagens de sites/apps que gosta e eu extraio os tokens visuais |
910
+ | **C) Definir Manualmente** | Você me informa diretamente os valores (hex das cores, nomes das fontes, estilo) |
911
+ | **D) Combinação** | Referências visuais + perguntas granulares para ajustar |
912
+
913
+ Qual opção?
914
+ ```
915
+
916
+ **AGUARDAR** resposta do usuário.
917
+
918
+ ---
919
+
920
+ #### Se Opção B ou D (Referências Visuais)
921
+
922
+ **Passo 1: Criar pasta de referências**
923
+
924
+ ```powershell
925
+ # PowerShell (Windows)
926
+ New-Item -ItemType Directory -Force -Path "design-system/{nome}/references/"
927
+ ```
928
+
929
+ ```bash
930
+ # Bash (macOS/Linux)
931
+ mkdir -p design-system/{nome}/references/
932
+ ```
933
+
934
+ **Passo 2: Orientar o usuário**
935
+
936
+ ```markdown
937
+ ## 📂 Pasta de Referências Criada
938
+
939
+ A pasta `design-system/{nome}/references/` foi criada no projeto.
940
+
941
+ ### Como adicionar referências:
942
+
943
+ | Tipo | Como fazer |
944
+ |------|-----------|
945
+ | **Screenshots** | Salve imagens (.png, .jpg, .webp) diretamente na pasta |
946
+ | **URLs de sites** | Me informe as URLs e eu faço screenshots ou analiso |
947
+ | **Imagens de inspiração** | Arraste para a pasta ou cole aqui no chat |
948
+ | **Figma/Dribbble** | Me envie o link e eu extraio os tokens |
949
+
950
+ ### Dicas para boas referências:
951
+ - Pode ser de **concorrentes**, de **produtos que admira**, ou qualquer design que transmita o "feeling" desejado
952
+ - Pode ser **parcial**: "Gosto SÓ das cores desse site" ou "Só o layout"
953
+ - **Quanto mais referências, melhor** eu entendo a direção visual
954
+
955
+ ### Quando terminar:
956
+ Quando tiver adicionado todas as referências, me avise e eu analiso para extrair os tokens.
957
+ ```
958
+
959
+ **AGUARDAR** o usuário adicionar referências e confirmar.
960
+
961
+ **Passo 3: Analisar referências**
962
+
963
+ 1. Ler todas as imagens/URLs fornecidas
964
+ 2. Extrair para cada referência:
965
+ - Cores dominantes (hex exatos)
966
+ - Tipografia identificada
967
+ - Estilo de layout e espaçamento
968
+ - Efeitos visuais (glassmorphism, shadows, gradients)
969
+ - Direção visual geral
970
+ 3. Consolidar em uma análise comparativa
971
+ 4. Apresentar ao usuário para validação
972
+
973
+ ---
974
+
975
+ #### Se Opção A (Recomendações + Perguntas)
976
+
977
+ Prosseguir diretamente para Phase 2.5 com o fluxo de recomendações.
978
+
979
+ #### Se Opção C (Manual)
980
+
981
+ Prosseguir para Phase 2.5 com perguntas diretas sobre cada token.
982
+
983
+ ---
984
+
985
+ **Gate de Saída:**
986
+ ```
987
+ [ ] Usuário respondeu como quer definir o Design System
988
+ [ ] Se referências visuais: pasta criada e materiais adicionados
989
+ [ ] Se referências visuais: análise apresentada ao usuário
990
+ ```
991
+
992
+ ---
993
+
994
+ ### Phase 2.5: DESIGN SYSTEM - Tokens Visuais (Opcional para APIs)
995
+
996
+ > [!NOTE]
997
+ > **Pulado se:** Projeto é apenas API/Backend sem interface.
998
+ > **Skills de referência:** `frontend-design` ou `mobile-design`
999
+
1000
+ > [!IMPORTANT]
1001
+ > **TEMPLATE-FIRST:** Antes de gerar do zero, verificar se existe template em `.agent/templates/design-system/`.
1002
+ > **Templates disponíveis atualmente:** `CORPORATE-TEMPLATE.md` (sites institucionais/corporativos).
1003
+ > **SKILL OBRIGATÓRIA:** Seguir `ui-ux-discovery` para perguntas granulares ANTES de finalizar Design System.
1004
+ > **REFERÊNCIAS:** Se Phase 2.45 coletou referências visuais, usá-las como base para as recomendações.
1005
+
1006
+ **Objetivo:** Definir os **tokens visuais globais** (DNA do projeto) com base na abordagem escolhida na Phase 2.45.
1007
+
1008
+ > [!NOTE]
1009
+ > **MASTER.md contém APENAS tokens** (cores, tipografia, espaçamento, radius, shadows, efeitos, direção visual).
1010
+ > **Specs de componentes** (buttons, cards, sidebar, etc.) são definidos como **task no Phase 3 (Breakdown)**.
1011
+ > Os tokens DEVEM ser definidos primeiro porque os componentes os consomem.
1012
+
1013
+ **Trigger:**
1014
+ ```
1015
+ Phase 2.45 concluída → Automático
1016
+ ```
1017
+
1018
+ **Agentes Envolvidos:**
1019
+ - `frontend-specialist` - Para projetos web
1020
+ - `mobile-developer` - Para projetos mobile
1021
+ - `design-specialist` - Para projetos complexos
1022
+
1023
+ ---
1024
+
1025
+ #### PASSO 0: Verificar Templates Disponíveis (NOVO — OBRIGATÓRIO)
1026
+
1027
+ > [!CAUTION]
1028
+ > **ANTES de gerar do zero:** Verificar se há template adequado ao tipo de projeto.
1029
+ > Templates existem em `.agent/templates/design-system/` e foram extraídos de projetos aprovados.
1030
+ > **Usar template é SEMPRE preferível** a gerar do zero — evita o problema de DS genéricos.
1031
+
1032
+ **Verificar templates:**
1033
+ 1. Ler `.agent/templates/design-system/` para templates disponíveis
1034
+ 2. Comparar com o tipo de projeto definido no Gate 0
1035
+
1036
+ **Templates disponíveis:**
1037
+
1038
+ | Template | Arquivo | Para quais tipos |
1039
+ |----------|---------|------------------|
1040
+ | Corporate Landing | `CORPORATE-TEMPLATE.md` | Site Institucional, LP, Financeiro, Jurídico, Imobiliário |
1041
+ | *(futuros templates serão adicionados aqui)* | | |
1042
+
1043
+ ---
1044
+
1045
+ ##### Se Template Compatível Encontrado → Oferecer ao Usuário
1046
+
1047
+ ```markdown
1048
+ ## 🎨 Template de Design System Disponível
1049
+
1050
+ Encontrei um template **aprovado e testado** para o tipo de projeto que você está criando:
1051
+
1052
+ 📄 **{TEMPLATE_NAME}** — Baseado em projetos reais, inclui:
1053
+ - ✅ Tipografia (Inter + Plus Jakarta Sans)
1054
+ - ✅ Escala de espaçamento completa
1055
+ - ✅ Shadows, radius, transições
1056
+ - ✅ Hover effects e anti-patterns
1057
+ - ✅ Componentes recomendados
1058
+
1059
+ ### Escolha a paleta de cores:
1060
+
1061
+ | # | Paleta | Segmentos | Cor Principal |
1062
+ |---|--------|-----------|---------------|
1063
+ | 1 | 🟡 Corporate Gold | Financeiro, imobiliário, jurídico | `#cc9933` |
1064
+ | 2 | 🔵 Executive Blue | Tech, consultoria, saúde, educação | `#2563EB` |
1065
+ | 3 | 🟢 Forest Green | Sustentabilidade, agro, bem-estar | `#166534` |
1066
+ | 4 | 🟣 Royal Purple | Luxo, beleza, criativo | `#7C3AED` |
1067
+ | 5 | 🔴 Crimson Red | Alimentação, esportes, energia | `#DC2626` |
1068
+ | 6 | 🫐 Deep Navy | Governo, aviação, finanças tradicionais | `#1E3A5F` |
1069
+ | 7 | 🩷 Rose Elegance | Moda, beleza, lifestyle | `#BE185D` |
1070
+ | 8 | 🟠 Warm Terracotta | Arquitetura, gastronomia, artesanal | `#C2572A` |
1071
+ | 9 | ⬛ Slate Minimal | Tech, SaaS, developer tools | `#475569` |
1072
+ | 10 | 🌊 Ocean Teal | Turismo, wellness, saúde | `#0D9488` |
1073
+ | 11 | 🎨 **Customizada** | Fornecer cores manualmente | — |
1074
+
1075
+ > Detalhes completos de cada paleta: `.agent/templates/design-system/COLOR-PALETTES.md`
1076
+
1077
+ Qual paleta? (número ou "customizada" com os hex)
1078
+ ```
1079
+
1080
+ **AGUARDAR** resposta do usuário.
1081
+
1082
+ **Após escolha:**
1083
+ 1. Ler `COLOR-PALETTES.md` para obter os valores da paleta
1084
+ 2. Ler `CORPORATE-TEMPLATE.md` como base
1085
+ 3. Substituir todos os `{PALETTE.*}` pelos valores da paleta escolhida
1086
+ 4. Gerar `design-system/MASTER.md` com valores concretos
1087
+ 5. **AGUARDAR** aprovação humana
1088
+
1089
+ > [!TIP]
1090
+ > O usuário pode pedir ajustes após ver o MASTER.md gerado (trocar fontes, ajustar espaçamento, etc.)
1091
+ > Neste caso, editar o MASTER.md sem precisar recomeçar.
1092
+
1093
+ ---
1094
+
1095
+ ##### Se Nenhum Template Compatível → Gerar do Zero (Fallback)
1096
+
1097
+ Seguir o processo original abaixo (Abordagem A/B/C/D da Phase 2.45).
1098
+
1099
+ ---
1100
+
1101
+ #### Processo por Abordagem
1102
+
1103
+ ##### Se Abordagem A (Recomendações + Perguntas) ou D (Combinação)
1104
+
1105
+ > [!CAUTION]
1106
+ > **OBRIGATÓRIO:** Seguir skill `ui-ux-discovery`.
1107
+ > **NÃO** gerar Design System final sem respostas do usuário.
1108
+
1109
+ | Passo | Ação | Detalhes |
1110
+ |-------|------|----------|
1111
+ | 1 | Executar `/ui-ux-pro-max` | Obter recomendações modernas |
1112
+ | 1.5 | Incorporar referências visuais (se D) | Combinar com recomendações |
1113
+ | 2 | **Perguntas Granulares ⭐** | Por aspecto: cores, tipografia, layout, efeitos, logo |
1114
+ | 3 | Aguardar Respostas | **BLOQUEADOR** - Não prosseguir sem resposta |
1115
+ | 4 | Consolidar Decisões | Combinar escolhas do usuário + recomendações |
1116
+ | 5 | Validar e Aprovar | Aguardar aprovação humana |
1117
+
1118
+ ##### Se Abordagem B (Referências Visuais)
1119
+
1120
+ | Passo | Ação | Detalhes |
1121
+ |-------|------|----------|
1122
+ | 1 | Analisar referências | Extrair tokens de cada referência |
1123
+ | 2 | Apresentar extração | Mostrar tokens extraídos por referência |
1124
+ | 3 | **Perguntas de Ajuste ⭐** | "Gostou das cores do site X ou Y?" |
1125
+ | 4 | Consolidar | Combinar preferências do usuário |
1126
+ | 5 | Validar e Aprovar | Aguardar aprovação humana |
1127
+
1128
+ ##### Se Abordagem C (Manual)
1129
+
1130
+ | Passo | Ação | Detalhes |
1131
+ |-------|------|----------|
1132
+ | 1 | Solicitar tokens | Pedir cores, fontes, estilo diretamente |
1133
+ | 2 | Validar acessibilidade | Verificar contraste WCAG |
1134
+ | 3 | Consolidar | Organizar valores fornecidos |
1135
+ | 4 | Validar e Aprovar | Aguardar aprovação humana |
1136
+
1137
+ ---
1138
+
1139
+ **PASSO 1 (Abordagem A/D): Executar `/ui-ux-pro-max` (OBRIGATÓRIO)**
1140
+
1141
+ ```bash
1142
+ python3 .agent/.shared/ui-ux-pro-max/scripts/search.py "{produto} {indústria} {keywords}" --design-system -p "{Projeto}"
1143
+ ```
1144
+
1145
+ **Exemplo para SaaS:**
1146
+ ```bash
1147
+ python3 .agent/.shared/ui-ux-pro-max/scripts/search.py "saas startup professional" --design-system -p "MeuProjeto"
1148
+ ```
1149
+
1150
+ **Output esperado:**
1151
+ - Pattern recomendado (landing, dashboard, etc.)
1152
+ - Style (glassmorphism, minimalism, etc.)
1153
+ - Paleta de cores completa
1154
+ - Tipografia (Google Fonts)
1155
+ - Efeitos visuais
1156
+ - Anti-patterns a evitar
1157
+
1158
+ ---
1159
+
1160
+ **PASSO 2: Persistir Design System**
1161
+
1162
+ ```bash
1163
+ python3 .agent/.shared/ui-ux-pro-max/scripts/search.py "{query}" --design-system --persist -p "{Projeto}"
1164
+ ```
1165
+
1166
+ Gera:
1167
+ - `design-system/MASTER.md` - Source of Truth global
1168
+ - `design-system/pages/` - Folder para overrides por página
1169
+
1170
+ ---
1171
+
1172
+ **PASSO 3: Buscar Guidelines do Stack**
1173
+
1174
+ ```bash
1175
+ python3 .agent/.shared/ui-ux-pro-max/scripts/search.py "layout responsive form" --stack {stack}
1176
+ ```
1177
+
1178
+ Stacks disponíveis: `html-tailwind`, `react`, `nextjs`, `shadcn`, `vue`, `swiftui`, `react-native`, `flutter`, etc.
1179
+
1180
+ ---
1181
+
1182
+ **PASSO 4: Documentar Design System (Tokens)**
1183
+
1184
+ 1. Analisar TDD para requisitos visuais
1185
+ 2. Combinar recomendações / referências / manual com requisitos do TDD
1186
+ 3. Definir tokens:
1187
+ - Paleta de cores
1188
+ - Tipografia
1189
+ - Espaçamento (spacing scale)
1190
+ - Border radius
1191
+ - Shadows
1192
+ - Efeitos visuais
1193
+ 4. Gerar `design-system/{nome}/MASTER.md`
1194
+ 5. **AGUARDAR** aprovação humana
1195
+
1196
+ **Template MASTER.md (Tokens Only):**
1197
+ ```markdown
1198
+ ## design-system/{nome}/MASTER.md
1199
+
1200
+ > Gerado em {data}
1201
+ > Abordagem: {A/B/C/D}
1202
+ > Referências: {lista de referências se houver}
1203
+
1204
+ ### Direção Visual
1205
+ - Pattern: {landing, dashboard, etc.}
1206
+ - Style: {estilo escolhido}
1207
+
1208
+ ### Cores
1209
+ - Primary: {hex}
1210
+ - Secondary: {hex}
1211
+ - Accent: {hex}
1212
+ - Background: {hex}
1213
+ - Surface: {hex}
1214
+ - Text: {hex}
1215
+ - Text Muted: {hex}
1216
+ - Border: {hex}
1217
+ - Error: {hex}
1218
+ - Success: {hex}
1219
+ - Warning: {hex}
1220
+
1221
+ ### Tipografia
1222
+ - Heading: {fonte} (Google Fonts)
1223
+ - Body: {fonte} (Google Fonts)
1224
+ - Mono: {fonte para código}
1225
+ - Scale: {ratio, ex: 1.25}
1226
+
1227
+ ### Espaçamento
1228
+ - Base: {ex: 8px}
1229
+ - Scale: {ex: 4, 8, 12, 16, 24, 32, 48, 64, 96}
1230
+
1231
+ ### Border Radius
1232
+ - Small: {ex: 4px}
1233
+ - Medium: {ex: 8px}
1234
+ - Large: {ex: 12px}
1235
+ - Full: {ex: 9999px}
1236
+
1237
+ ### Shadows
1238
+ - Level 1: {ex: 0 1px 3px rgba(0,0,0,0.12)}
1239
+ - Level 2: {value}
1240
+ - Level 3: {value}
1241
+
1242
+ ### Efeitos Visuais
1243
+ - {lista de efeitos: glassmorphism, gradients, dark mode, etc.}
1244
+
1245
+ ### Anti-Patterns (EVITAR)
1246
+ - {lista}
1247
+
1248
+ ### Referências Visuais (se houver)
1249
+ - ![ref_001](./references/{arquivo})
1250
+ - {descrição do que foi extraído de cada referência}
1251
+ ```
1252
+
1253
+ > [!NOTE]
1254
+ > **Specs de componentes** (Buttons, Cards, Sidebar, Forms, etc.) serão definidos
1255
+ > como **task dedicada no Phase 3 (Breakdown)**, consumindo estes tokens.
1256
+ > O workflow `/atomic` será usado na Phase 5 para implementar cada componente.
1257
+
1258
+ ---
1259
+
1260
+ **Gate de Saída:**
1261
+ ```
1262
+ [ ] Abordagem escolhida na Phase 2.45 seguida
1263
+ [ ] Perguntas granulares respondidas pelo usuário (skill: ui-ux-discovery)
1264
+ [ ] Se referências: analisadas e incorporadas
1265
+ [ ] Design System (tokens) persistido (design-system/{nome}/MASTER.md)
1266
+ [ ] Design System aprovado pelo humano
1267
+ ```
1268
+
1269
+ > [!CAUTION]
1270
+ > **BLOQUEADOR:** Não prosseguir sem aprovação do Design System.
1271
+
1272
+ ---
1273
+
1274
+ ### Phase 2.65: CONTENT STRATEGY - Conteúdo e Copy
1275
+
1276
+ > [!NOTE]
1277
+ > **Pulado se:** Projeto é apenas API/Backend sem interface pública.
1278
+ > **Obrigatório para:** LPs, sites institucionais, SaaS com marketing pages.
1279
+
1280
+ > [!IMPORTANT]
1281
+ > **SKILL:** Seguir `content-strategy` para definição de copy e conteúdo.
1282
+ > **Documento:** `docs/content/CONTENT-STRATEGY-{nome}.md`
1283
+
1284
+ **Objetivo:** Definir copy e conteúdo ANTES de prototipar, para que Stitch use textos reais.
1285
+
1286
+ **Trigger:**
1287
+ ```
1288
+ Design System aprovado → Automático (exceto --no-content)
1289
+ ```
1290
+
1291
+ **Agentes Envolvidos:**
1292
+ - `frontend-specialist` - Estrutura de páginas
1293
+ - `product-owner` - Messaging e posicionamento
1294
+
1295
+ ---
1296
+
1297
+ #### Processo (Skill: content-strategy)
1298
+
1299
+ > [!CAUTION]
1300
+ > **OBRIGATÓRIO:** Seguir TODOS os 4 passos definidos na skill `content-strategy`.
1301
+ > **NÃO** prosseguir sem respostas do usuário sobre tom de voz e proposta de valor.
1302
+
1303
+ | Passo | Ação | Detalhes |
1304
+ |-------|------|----------|
1305
+ | 1 | Identificar Páginas | Listar todas as páginas que precisam de conteúdo |
1306
+ | 2 | **Perguntas ao Usuário ⭐** | Tom de voz, público, USP, pricing |
1307
+ | 3 | Gerar Documento | Hero, Features, FAQ, SEO metadata |
1308
+ | 4 | Validar e Aprovar | Aguardar aprovação humana |
1309
+
1310
+ **Gate de Saída:**
1311
+ ```
1312
+ [ ] CONTENT-STRATEGY-{nome}.md gerado
1313
+ [ ] Copy da LP definido (Hero, Features, CTA)
1314
+ [ ] Pricing/FAQ definidos (se aplicável)
1315
+ [ ] Metadados SEO definidos
1316
+ [ ] Conteúdo aprovado pelo humano
1317
+ ```
1318
+
1319
+ > [!CAUTION]
1320
+ > **BLOQUEADOR:** Não prosseguir para Phase 2.7 (Stitch) sem Content Strategy aprovado (exceto --no-content).
1321
+
1322
+ ---
1323
+
1324
+ ### Phase 2.7: STITCH GENERATION - UI com IA (Opcional)
1325
+
1326
+ > [!NOTE]
1327
+ > **Ativado com:** `/new-project --stitch` OU quando usuário responder "Sim" na pergunta abaixo.
1328
+ > **Pulado se:** UI será desenhada manualmente (Figma) ou projeto não visual.
1329
+
1330
+ > [!TIP]
1331
+ > **Workflow relacionado:** `/stitch` (contém todas as flags e skills)
1332
+ > **Skills usadas:** `design-md`, `enhance-prompt`, `react-components`, `stitch-loop`
1333
+
1334
+ **Objetivo:** Usar IA (Stitch) para gerar screens e componentes base, usando o copy real do Content Strategy.
1335
+
1336
+ **Trigger:**
1337
+ ```
1338
+ Content Strategy aprovado → Perguntar ao usuário
1339
+ ```
1340
+
1341
+ **Agentes Envolvidos:**
1342
+ - `stitch-designer` - Especialista em geração de UI com Stitch
1343
+ - `frontend-specialist` - Validação e integração
1344
+
1345
+ ---
1346
+
1347
+ #### Pergunta ao Usuário (OBRIGATÓRIA)
1348
+
1349
+ ```markdown
1350
+ ## 🎨 Geração de UI com IA
1351
+
1352
+ O Content Strategy está definido. Deseja usar **Stitch AI** para acelerar a criação da UI?
1353
+
1354
+ | Opção | Descrição |
1355
+ |-------|-----------|
1356
+ | **Sim, completo** | Gerar todas as telas principais com Stitch loop |
1357
+ | **Sim, parcial** | Apenas otimizar prompts e gerar DESIGN.md semântico |
1358
+ | **Não** | Implementar manualmente (pular para Phase 2.8) |
1359
+
1360
+ Qual opção?
1361
+ ```
1362
+
1363
+ ---
1364
+
1365
+ #### Processo Completo (Se "Sim, completo")
1366
+
1367
+ | Passo | Skill | Ação | Output |
1368
+ |-------|-------|------|--------|
1369
+ | 1 | `enhance-prompt` | Otimizar descrições de cada tela | Prompts otimizados |
1370
+ | 2 | `design-md` | Gerar DESIGN.md semântico | `DESIGN.md` |
1371
+ | 3 | `stitch-loop` | Gerar screens com Stitch MCP | HTML + Screenshots |
1372
+ | 4 | `react-components` | Converter para React | Componentes prontos |
1373
+
1374
+ **PASSO 1: Otimizar Prompts (`/stitch --prompt`)**
1375
+
1376
+ ```markdown
1377
+ # Para cada tela principal do TDD:
1378
+
1379
+ ## Tela: {nome}
1380
+
1381
+ **Descrição original:** {descrição do TDD}
1382
+
1383
+ **Prompt otimizado:** {gerado pela skill enhance-prompt}
1384
+ - Adicionados: keywords de UI/UX, contexto de design system
1385
+ - Estrutura: layout, componentes, estados
1386
+ ```
1387
+
1388
+ **PASSO 2: Gerar DESIGN.md Semântico (`/stitch --design`)**
1389
+
1390
+ Converte `design-system/MASTER.md` (humano) → `DESIGN.md` (otimizado para IA):
1391
+
1392
+ ```bash
1393
+ # A skill design-md lê o MASTER.md e gera versão semântica
1394
+ # Output: DESIGN.md na raiz do projeto
1395
+ ```
1396
+
1397
+ **PASSO 3: Gerar Screens com Stitch (Se Stitch MCP disponível)**
1398
+
1399
+ > [!IMPORTANT]
1400
+ > **VERIFICAÇÃO OBRIGATÓRIA:** Antes de prosseguir, verificar se Stitch MCP está configurado.
1401
+
1402
+ #### 3.1 Verificar Stitch MCP
1403
+
1404
+ ```bash
1405
+ # Verificar se stitch-mcp está nos MCP servers configurados
1406
+ # O agente deve verificar os MCP Servers disponíveis
1407
+ ```
1408
+
1409
+ **Se Stitch MCP NÃO estiver disponível, perguntar:**
1410
+
1411
+ ```markdown
1412
+ ## ⚠️ Stitch MCP não detectado
1413
+
1414
+ O Stitch MCP Server não está configurado. Para usar a geração de UI com IA:
1415
+
1416
+ ### Opções:
1417
+
1418
+ | Opção | Ação |
1419
+ |-------|------|
1420
+ | **A. Configurar agora** | Vou guiar a instalação do Stitch MCP |
1421
+ | **B. Pular** | Continuar sem Stitch (usar apenas skills offline) |
1422
+ | **C. Já configurei** | Tentar detectar novamente |
1423
+
1424
+ Qual opção?
1425
+ ```
1426
+
1427
+ #### 3.2 Se Opção A (Configurar Stitch MCP)
1428
+
1429
+ ```markdown
1430
+ ## 🔧 Configuração do Stitch MCP
1431
+
1432
+ ### Passo 1: Conta no Stitch
1433
+ 1. Acesse: https://stitch.withgoogle.com/
1434
+ 2. Faça login com sua conta Google
1435
+ 3. Crie um projeto (ou use existente)
1436
+
1437
+ ### Passo 2: Obter Token
1438
+ 1. No Stitch, vá em Settings → API
1439
+ 2. Gere um token de API
1440
+ 3. Copie o token
1441
+
1442
+ ### Passo 3: Configurar MCP Server
1443
+ Adicione ao seu arquivo de configuração MCP:
1444
+
1445
+ **Claude Desktop (~/.claude/claude_desktop_config.json):**
1446
+ \`\`\`json
1447
+ {
1448
+ "mcpServers": {
1449
+ "stitch": {
1450
+ "command": "npx",
1451
+ "args": ["-y", "@anthropic/stitch-mcp"],
1452
+ "env": {
1453
+ "STITCH_API_KEY": "seu-token-aqui"
1454
+ }
1455
+ }
1456
+ }
1457
+ }
1458
+ \`\`\`
1459
+
1460
+ ### Passo 4: Reiniciar
1461
+ 1. Feche completamente o Claude Desktop
1462
+ 2. Reabra
1463
+ 3. Responda "C. Já configurei" para verificar
1464
+
1465
+ **Precisa de ajuda?** Responda "ajuda stitch" para mais detalhes.
1466
+ ```
1467
+
1468
+ #### 3.3 Se Stitch MCP disponível (ou Opção C confirmada)
1469
+
1470
+ ```markdown
1471
+ # Seguir skill stitch-loop:
1472
+ 1. Criar SITE.md com visão do projeto
1473
+ 2. Criar next-prompt.md (baton) com primeira tela
1474
+ 3. Executar loop de geração
1475
+ 4. Integrar screens ao projeto
1476
+ ```
1477
+
1478
+ #### 3.4 Se Opção B (Pular)
1479
+
1480
+ > [!NOTE]
1481
+ > Stitch MCP pulado. Usar apenas skills offline (`design-md`, `enhance-prompt`, `react-components`).
1482
+ > Screens serão implementadas manualmente na Phase 5.
1483
+
1484
+ **PASSO 4: Converter para React (`/stitch --components`)**
1485
+
1486
+ ```bash
1487
+ # Usar skill react-components para converter HTML gerado
1488
+ # Aplicar design tokens do MASTER.md
1489
+ # Validar com scripts da skill
1490
+ ```
1491
+
1492
+ ---
1493
+
1494
+ #### Processo Parcial (Se "Sim, parcial")
1495
+
1496
+ Apenas executar PASSO 1 e PASSO 2 (otimizar prompts e gerar DESIGN.md).
1497
+ Screens serão implementadas manualmente na Phase 5.
1498
+
1499
+ ---
1500
+
1501
+ **Gate de Saída:**
1502
+ ```
1503
+ [ ] Usuário escolheu opção (completo/parcial/não)
1504
+ [ ] Se completo/parcial: Prompts otimizados para telas principais
1505
+ [ ] Se completo/parcial: DESIGN.md gerado
1506
+ [ ] Se completo: Screens geradas (ou justificativa para pular)
1507
+ [ ] Se completo: Componentes React extraídos
1508
+ ```
1509
+
1510
+ ---
1511
+
1512
+ #### 🚨 GATE DE VALIDAÇÃO DO CLIENTE (OBRIGATÓRIO) ⭐
1513
+
1514
+ > [!CAUTION]
1515
+ > **REGRA BLOQUEANTE:** Após gerar protótipos, o CLIENTE deve validar CADA tela via Tracker.
1516
+ > NÃO prosseguir para Phase 2.8 (Page Specs) sem TODAS as tasks de prototipação com Status = "Concluído".
1517
+
1518
+ > [!IMPORTANT]
1519
+ > **REGRA:** 1 TASK POR TELA. Não criar task única para múltiplas telas.
1520
+ > Usar Flyee API para criação de tasks de prototipação.
1521
+
1522
+ **Processo (para CADA tela gerada):**
1523
+
1524
+ | Passo | Ação | Detalhes |
1525
+ |-------|------|----------|
1526
+ | 1 | Criar Task no Tracker | Tipo: `implement_feature`, Status: `pending` |
1527
+ | 2 | Adicionar Preview | Screenshot/link do protótipo no corpo da task |
1528
+ | 3 | Mudar Status | `Aguardando Aprovação` |
1529
+ | 4 | Notificar Cliente | Via plataforma Flyee |
1530
+ | 5 | Aguardar | Cliente revisa e marca `Concluído` ou deixa feedback |
1531
+
1532
+ **Fluxo de Status:**
1533
+ ```
1534
+ Não iniciado → Em andamento → Aguardando Aprovação → Concluído
1535
+ ↑ ↓
1536
+ CLIENTE VALIDA → Dev
1537
+ ```
1538
+
1539
+ **Checklists para cada tela:**
1540
+
1541
+ ```markdown
1542
+ ## Tasks de Prototipação (1 por tela)
1543
+ - [ ] Task #X: Header (Desktop) → Status: Aguardando Aprovação
1544
+ - [ ] Task #Y: Header (Mobile) → Status: Aguardando Aprovação
1545
+ - [ ] Task #Z: Hero Section → Status: Aguardando Aprovação
1546
+ - [ ] Task #W: Footer → Status: Aguardando Aprovação
1547
+ ...
1548
+ ```
1549
+
1550
+ **Query para verificar aprovações pendentes:**
1551
+
1552
+ ```python
1553
+ # Flyee API: listar tasks pendentes de prototipação
1554
+ from bridge import list_tasks, load_config
1555
+ config = load_config()
1556
+ tasks = list_tasks(
1557
+ api_url=config["api_url"],
1558
+ api_key=config["api_key"],
1559
+ project_id=config["project_id"],
1560
+ status="pending",
1561
+ )
1562
+ prototype_tasks = [t for t in tasks if t.get("meta", {}).get("category") == "Prototipação"]
1563
+ pending = [t for t in prototype_tasks if t["status"] != "completed"]
1564
+ ```
1565
+
1566
+ **Se houver tasks não concluídas → PARAR e aguardar:**
1567
+
1568
+ ```markdown
1569
+ ⏳ **AGUARDANDO VALIDAÇÃO DO CLIENTE**
1570
+
1571
+ 📋 {N} protótipo(s) pendente(s) de aprovação:
1572
+
1573
+ | ID | Tela | Status |
1574
+ |----|------|--------|
1575
+ | #{id} | {nome} | Aguardando Aprovação |
1576
+
1577
+ 👤 **Ação do Cliente:**
1578
+ - 🟢 **Aprovar:** Marcar status como "Concluído"
1579
+ - 🔴 **Recusar:** Marcar status como "Recusado" + comentário com feedback
1580
+ ```
1581
+
1582
+ ---
1583
+
1584
+ #### Tratamento de Recusa
1585
+
1586
+ > [!IMPORTANT]
1587
+ > **Se Status = "Recusado":** Agente deve analisar comentários e ajustar.
1588
+
1589
+ **Processo de Ajuste:**
1590
+
1591
+ | Passo | Ação |
1592
+ |-------|------|
1593
+ | 1 | Buscar comentários da task recusada |
1594
+ | 2 | Analisar feedback do cliente |
1595
+ | 3 | Ajustar protótipo conforme solicitado |
1596
+ | 4 | Atualizar preview na task |
1597
+ | 5 | Mudar Status → "Aguardando Aprovação" |
1598
+ | 6 | Adicionar comentário notificando cliente |
1599
+
1600
+ **Query para detectar tasks recusadas:**
1601
+
1602
+ ```python
1603
+ # Flyee API: buscar tasks recusadas
1604
+ rejected = [t for t in prototype_tasks if t["result_status"] == "rejected"]
1605
+ ```
1606
+
1607
+ **Buscar detalhes da task para entender feedback:**
1608
+
1609
+ ```python
1610
+ from bridge import get_task
1611
+ task_detail = get_task(
1612
+ api_url=config["api_url"],
1613
+ api_key=config["api_key"],
1614
+ task_id="{task_id}",
1615
+ )
1616
+ feedback = task_detail.get("output", {}).get("feedback", "")
1617
+ ```
1618
+
1619
+ **Após ajustar, atualizar task:**
1620
+
1621
+ ```python
1622
+ from bridge import update_task
1623
+ update_task(
1624
+ api_url=config["api_url"],
1625
+ api_key=config["api_key"],
1626
+ task_id="{task_id}",
1627
+ status="pending",
1628
+ output={
1629
+ "message": "🔄 Protótipo ajustado conforme feedback",
1630
+ "changes": ["{item 1}", "{item 2}"],
1631
+ "preview_updated": True,
1632
+ },
1633
+ )
1634
+ ```
1635
+
1636
+ ---
1637
+
1638
+ ### Phase 2.8: PAGE SPECIFICATIONS - Blueprint Detalhado
1639
+
1640
+ > [!NOTE]
1641
+ > **Pulado se:** Projeto é apenas API/Backend sem interface.
1642
+ > **Obrigatório para:** Qualquer projeto com UI (Web, Mobile, Dashboard).
1643
+
1644
+ > [!IMPORTANT]
1645
+ > **SKILL:** Seguir `page-specifications` para detalhamento de páginas.
1646
+ > **Documento Principal:** `design-system/{nome}/layout/SHARED-LAYOUT.md`
1647
+ > **Docs por Página:** `design-system/{nome}/pages/PAGE-SPEC-*.md`
1648
+
1649
+ **Objetivo:** Criar blueprint detalhado de CADA página antes do Breakdown.
1650
+
1651
+ **Trigger:**
1652
+ ```
1653
+ Content Strategy aprovado → Automático (exceto --no-specs)
1654
+ ```
1655
+
1656
+ **Agentes Envolvidos:**
1657
+ - `frontend-specialist` - Layout e componentes
1658
+ - `design-specialist` - Visual specs
1659
+ - `product-owner` - Validação de fluxos
1660
+
1661
+ ---
1662
+
1663
+ #### Processo (Skill: page-specifications)
1664
+
1665
+ > [!CAUTION]
1666
+ > **OBRIGATÓRIO:** Seguir TODOS os 5 passos definidos na skill `page-specifications`.
1667
+ > **NÃO** prosseguir sem PAGE-SPECs aprovados pelo usuário.
1668
+
1669
+ | Passo | Ação | Detalhes |
1670
+ |-------|------|----------|
1671
+ | 1 | Identificar Páginas | Listar todas baseado em PRD/TDD/Content |
1672
+ | 2 | Criar SHARED-LAYOUT.md | Header, Footer, Mobile Menu |
1673
+ | 3 | **Perguntar Priorização ⭐** | Quais páginas detalhar agora vs V2 |
1674
+ | 4 | Gerar PAGE-SPECs | Para cada página priorizada |
1675
+ | 5 | Validar e Aprovar | Aguardar aprovação humana |
1676
+
1677
+ ---
1678
+
1679
+ #### PASSO 1: Identificar Páginas
1680
+
1681
+ Categorizar por prioridade:
1682
+
1683
+ ```markdown
1684
+ ## Páginas Identificadas
1685
+
1686
+ ### Alta Prioridade (MVP)
1687
+ - [ ] Landing Page (/)
1688
+ - [ ] Pricing (/pricing)
1689
+ - [ ] Start/Wizard (/start)
1690
+ - [ ] Dashboard (/dashboard)
1691
+
1692
+ ### Média Prioridade
1693
+ - [ ] How it Works (/how-it-works)
1694
+ - [ ] Workflows Library (/workflows)
1695
+ - [ ] Video Pages (/videos/[slug])
1696
+
1697
+ ### Baixa Prioridade (V2)
1698
+ - [ ] Community (/community)
1699
+ - [ ] Blog (/blog)
1700
+
1701
+ ### Interna
1702
+ - [ ] Admin (/admin)
1703
+ ```
1704
+
1705
+ ---
1706
+
1707
+ #### PASSO 2: Criar SHARED-LAYOUT.md
1708
+
1709
+ > [!IMPORTANT]
1710
+ > **CRIAR PRIMEIRO:** Antes de qualquer PAGE-SPEC individual.
1711
+ > Define elementos compartilhados (Header, Footer, Mobile Menu).
1712
+
1713
+ **Output:** `design-system/{nome}/layout/SHARED-LAYOUT.md`
1714
+
1715
+ **Conteúdo mínimo:**
1716
+ - Header (Navbar): Position, elementos, estados
1717
+ - Footer: Links, social, visual
1718
+ - Mobile Menu: Overlay, animação
1719
+
1720
+ ---
1721
+
1722
+ #### PASSO 3-4: Gerar PAGE-SPECs
1723
+
1724
+ Para cada página priorizada, criar `PAGE-SPEC-{Página}.md` com:
1725
+
1726
+ | Seção | Conteúdo |
1727
+ |-------|----------|
1728
+ | **Layout & Estrutura** | Sections, referência ao SHARED-LAYOUT |
1729
+ | **Conteúdo por Seção** | Copy, Visual, Estados (loading, empty, error) |
1730
+ | **Responsividade** | Desktop, Tablet, Mobile adaptations |
1731
+ | **Integrações** | Auth, CMS, Analytics, Payments |
1732
+ | **SEO & Performance** | Title, Meta, OG Image, Loading strategy |
1733
+
1734
+ ---
1735
+
1736
+ **Gate de Saída:**
1737
+ ```
1738
+ [ ] SHARED-LAYOUT.md criado (Header, Footer, Mobile Menu)
1739
+ [ ] Priorização de páginas confirmada com usuário
1740
+ [ ] PAGE-SPEC criado para cada página priorizada
1741
+ [ ] Cada PAGE-SPEC referencia MASTER.md e CONTENT-STRATEGY
1742
+ [ ] Estados (loading, empty, error) documentados
1743
+ [ ] Responsividade descrita para cada página
1744
+ [ ] Todas as PAGE-SPECs aprovadas pelo humano
1745
+ ```
1746
+
1747
+ > [!CAUTION]
1748
+ > **BLOQUEADOR:** Não prosseguir para Breakdown sem PAGE-SPECs aprovados.
1749
+
1750
+ ---
1751
+
1752
+ ### Phase 2.9: ANALYTICS STRATEGY - Tracking & Measurement
1753
+
1754
+ > [!NOTE]
1755
+ > **Pulado se:** Projeto é apenas POC interno sem necessidade de métricas.
1756
+ > **Obrigatório para:** Qualquer produto que precisa medir conversão, engajamento ou retenção.
1757
+
1758
+ > [!IMPORTANT]
1759
+ > **Output:** Seção `## 📊 Analytics` em cada PAGE-SPEC + config no TDD.
1760
+ > **Ferramentas:** PostHog (padrão), Google Search Console, UTM Tracking.
1761
+
1762
+ **Objetivo:** Definir O QUE medir, ONDE medir, e COMO medir antes de implementar.
1763
+
1764
+ **Trigger:**
1765
+ ```
1766
+ PAGE-SPECs aprovados → Automático (exceto --no-analytics)
1767
+ ```
1768
+
1769
+ **Agentes Envolvidos:**
1770
+ - `frontend-specialist` - Eventos de UI
1771
+ - `product-owner` - Métricas de negócio
1772
+ - `growth-specialist` - Funnels e conversão
1773
+
1774
+ ---
1775
+
1776
+ #### Processo (5 Passos)
1777
+
1778
+ | Passo | Ação | Detalhes |
1779
+ |-------|------|----------|
1780
+ | 1 | Definir Stack | PostHog + Search Console + UTMs (padrão) |
1781
+ | 2 | Mapear Eventos por Página | Baseado nas PAGE-SPECs |
1782
+ | 3 | Definir Funnels | Conversão principal + secundários |
1783
+ | 4 | Definir Feature Flags | Para A/B testing |
1784
+ | 5 | Documentar no TDD + PAGE-SPECs | Seção Analytics em cada doc |
1785
+
1786
+ ---
1787
+
1788
+ #### PASSO 1: Definir Stack de Analytics
1789
+
1790
+ ```markdown
1791
+ ## Stack de Analytics
1792
+
1793
+ | Ferramenta | Propósito | Fase |
1794
+ |------------|-----------|------|
1795
+ | **PostHog** | Product Analytics, Session Replay, Feature Flags, Funnels | MVP |
1796
+ | **Google Search Console** | SEO: indexação, keywords, CTR | MVP |
1797
+ | **UTM Tracking** | Atribuição de campanhas (capturado pelo PostHog) | MVP |
1798
+ | **Google Tag Manager** | Gerenciamento centralizado de tags | Growth |
1799
+ | **Meta Pixel** | Facebook/Instagram Ads, Remarketing | Quando anunciar |
1800
+ | **Google Ads Tag** | Google Ads conversions | Quando anunciar |
1801
+ ```
1802
+
1803
+ ---
1804
+
1805
+ #### PASSO 2: Mapear Eventos por Página
1806
+
1807
+ Para **CADA** PAGE-SPEC, adicionar seção:
1808
+
1809
+ ```markdown
1810
+ ## 📊 Analytics (PostHog)
1811
+
1812
+ ### Eventos Customizados
1813
+ | Evento | Trigger | Properties |
1814
+ |--------|---------|------------|
1815
+ | `page_name_viewed` | Pageview | `referrer`, `utm_*` |
1816
+ | `cta_clicked` | Click CTA | `cta_type`, `section` |
1817
+ | ... | ... | ... |
1818
+
1819
+ ### Funis a Medir
1820
+ - Funnel 1: ...
1821
+ - Funnel 2: ...
1822
+
1823
+ ### Feature Flags (A/B)
1824
+ - `flag_name`: Descrição do teste
1825
+ ```
1826
+
1827
+ ---
1828
+
1829
+ #### PASSO 3: Perguntar ao Usuário (OBRIGATÓRIO)
1830
+
1831
+ ```markdown
1832
+ ## 📊 Estratégia de Analytics
1833
+
1834
+ Para definir o tracking do projeto, preciso saber:
1835
+
1836
+ ### 1. Métricas de Sucesso
1837
+ Quais são as **3 principais métricas** que você quer acompanhar?
1838
+ - [ ] Conversão de visitante → signup
1839
+ - [ ] Conversão de free → pago
1840
+ - [ ] Engajamento (tempo na plataforma)
1841
+ - [ ] Retenção (retorno em 7 dias)
1842
+ - [ ] Feature adoption (uso de funcionalidades)
1843
+ - [ ] Outra: ___
1844
+
1845
+ ### 2. Paid Acquisition
1846
+ Você planeja fazer **ads pagos** (Meta, Google)?
1847
+ - [ ] Sim, em breve → Configurar pixels
1848
+ - [ ] Não por agora → Pular pixels
1849
+ - [ ] Não sei ainda → Deixar preparado mas não ativar
1850
+
1851
+ ### 3. A/B Testing
1852
+ Quais elementos você quer testar?
1853
+ - [ ] CTAs (texto, cor)
1854
+ - [ ] Pricing page (ordem dos planos)
1855
+ - [ ] Onboarding flow
1856
+ - [ ] Nenhum por agora
1857
+ ```
1858
+
1859
+ ---
1860
+
1861
+ #### PASSO 4: Atualizar TDD
1862
+
1863
+ Adicionar/atualizar seção `## 📈 Analytics & Tracking Strategy` no TDD com:
1864
+ - Stack de ferramentas
1865
+ - Eventos por página
1866
+ - Variáveis de ambiente necessárias
1867
+
1868
+ ---
1869
+
1870
+ #### PASSO 5: Atualizar PAGE-SPECs
1871
+
1872
+ Para cada PAGE-SPEC priorizada, adicionar seção `## 📊 Analytics (PostHog)` com:
1873
+ - Eventos customizados
1874
+ - Funis a medir
1875
+ - Feature flags para A/B
1876
+
1877
+ ---
1878
+
1879
+ **Gate de Saída:**
1880
+ ```
1881
+ [ ] Stack de Analytics definida no TDD
1882
+ [ ] Eventos mapeados para cada PAGE-SPEC
1883
+ [ ] Variáveis de ambiente listadas no TDD
1884
+ [ ] Usuário confirmou métricas de sucesso
1885
+ [ ] PAGE-SPECs atualizadas com seção Analytics
1886
+ ```
1887
+
1888
+ > [!CAUTION]
1889
+ > **BLOQUEADOR:** Não prosseguir para Breakdown sem Analytics Strategy definida.
1890
+
1891
+ ---
1892
+
1893
+ **Objetivo:** Quebrar TDD **E PAGE-SPECs** em tarefas de **implementação** executáveis.
1894
+
1895
+ > [!NOTE]
1896
+ > **Tasks de planejamento** (Design System, Content, Stitch, Page Specs, Analytics)
1897
+ > já foram criadas na Phase 2.1. Esta fase cria tasks de **implementação** granulares.
1898
+
1899
+ **Trigger:**
1900
+ ```
1901
+ TDD aprovado → Automático
1902
+ ```
1903
+
1904
+ **Agentes Envolvidos:**
1905
+ - `project-planner` - Quebra em tarefas
1906
+
1907
+ > [!IMPORTANT]
1908
+ > **GATE PRÉ-BREAKDOWN: DETECÇÃO DE TRACKER**
1909
+ >
1910
+ > O tracker é determinado automaticamente:
1911
+ > - Se `flyee.json` → `enabled: true` → **Tracker = Flyee**
1912
+ > - Se `enabled: false` → **Tracker = Local (`docs/TASKS.md`)**
1913
+ >
1914
+ > **NÃO perguntar ao usuário.** A decisão foi tomada no FLYEE BRIDGE CHECK.
1915
+
1916
+ > [!CAUTION]
1917
+ > **REGRAS POR MODO DE TRACKING:**
1918
+ >
1919
+ > **Se Modo = Flyee:**
1920
+ > - Criar tasks via `bridge.py create_task()` ou `POST /flyee/projects/{id}/tasks`
1921
+ > - Cada task inclui: `type`, `input.name`, `input.description`, `meta` (phase, category)
1922
+ > - Salvar `task_id` retornado para updates futuros
1923
+ >
1924
+ > **Se Modo = Local (`docs/TASKS.md`):**
1925
+ > - Criar/editar o arquivo `docs/TASKS.md`
1926
+ > - Agrupar tasks por Épico ou Página, usando Markdown com checkboxes (`- [ ]`)
1927
+ > - Exemplo: `## Landing Page\n- [ ] Criar Hero com Video BG`
1928
+
1929
+ **Ações:**
1930
+ 1. Detectar Tracker automaticamente (Flyee ou Local).
1931
+ 2. Executar `/tdd breakdown docs/design/TDD-{nome}.md`
1932
+ 3. Gerar planejamento de tasks em memória.
1933
+ 4. **Verificar Cobertura PAGE-SPEC (OBRIGATÓRIO):**
1934
+ - Listar todos `design-system/{projeto}/pages/PAGE-SPEC-*.md`
1935
+ - Para CADA PAGE-SPEC, garantir pelo menos 1 task correspondente
1936
+ 5. Executar a gravação das tasks baseada no Tracker:
1937
+ - **Caso Flyee**: chamar `bridge.py create_task()` para cada task, salvando IDs retornados.
1938
+ - **Caso Local**: usar `write_to_file` ou `multi_replace_file_content` para popular `docs/TASKS.md`.
1939
+ 6. Verificar gate de saída.
1940
+
1941
+ **Gate de Saída (OBRIGATÓRIO):**
1942
+ ```
1943
+ [ ] Tracker detectado (Flyee ou Local)
1944
+ [ ] Se Flyee: Todas tasks criadas via API com IDs salvos
1945
+ [ ] Se Local: Arquivo docs/TASKS.md gerado com checkboxes
1946
+ [ ] **CADA PAGE-SPEC tem pelo menos 1 task correspondente** ⭐
1947
+ ```
1948
+
1949
+ **Output:**
1950
+ ```
1951
+ Tasks criadas ({Tracker}):
1952
+ - [x] Task 1: Setup Infraestrutura → (Registrada)
1953
+ - [x] Task 2: Entidades principais → (Registrada)
1954
+ ...
1955
+ ```
1956
+
1957
+
1958
+ ---
1959
+
1960
+ ### Phase 3.5: SETUP BASE - Infraestrutura
1961
+
1962
+ > [!CAUTION]
1963
+ > **REGRA BLOQUEANTE:** NÃO iniciar Phase 4 (TDD) sem infraestrutura configurada.
1964
+ > Não é possível escrever testes sem projeto inicializado.
1965
+
1966
+ **Objetivo:** Preparar infraestrutura base antes de escrever testes.
1967
+
1968
+ **Trigger:**
1969
+ ```
1970
+ Breakdown concluído → Automático
1971
+ ```
1972
+
1973
+ **Agentes Envolvidos:**
1974
+ - `devops-engineer` - Setup inicial
1975
+ - `app-builder` - Inicialização do projeto
1976
+
1977
+ **Ações para Projeto NOVO (sem código):**
1978
+
1979
+ 1. **Inicializar Projeto:**
1980
+ ```bash
1981
+ # Web (Next.js)
1982
+ npx -y create-next-app@latest ./ --typescript --tailwind --app --src-dir --import-alias "@/*"
1983
+
1984
+ # Mobile (React Native)
1985
+ npx react-native init {NomeProjeto} --template react-native-template-typescript
1986
+ ```
1987
+
1988
+ 2. **Configurar Test Runner:**
1989
+ ```bash
1990
+ # Next.js / React
1991
+ npm install -D vitest @testing-library/react @testing-library/dom jsdom @vitejs/plugin-react
1992
+ ```
1993
+
1994
+ 3. **Criar Estrutura Base:**
1995
+ ```
1996
+ src/
1997
+ ├── app/ # Rotas (Next.js)
1998
+ ├── components/ # Componentes UI
1999
+ ├── lib/ # Lógica de negócio
2000
+ ├── tests/ # Testes
2001
+ └── types/ # TypeScript types
2002
+ ```
2003
+
2004
+ 4. **Configurar vitest.config.ts:**
2005
+ ```typescript
2006
+ import { defineConfig } from 'vitest/config';
2007
+ import react from '@vitejs/plugin-react';
2008
+
2009
+ export default defineConfig({
2010
+ plugins: [react()],
2011
+ test: {
2012
+ environment: 'jsdom',
2013
+ globals: true,
2014
+ },
2015
+ });
2016
+ ```
2017
+
2018
+ 5. **Verificar Setup:**
2019
+ ```bash
2020
+ npm test -- --run # Deve rodar sem erros (0 tests ok)
2021
+ ```
2022
+
2023
+ 6. **🔴 Configurar Separação de Ambientes (OBRIGATÓRIO):**
2024
+
2025
+ > [!CAUTION]
2026
+ > **REGRA BLOQUEANTE:** NÃO prosseguir sem ambientes separados.
2027
+ > `.env.local` NUNCA deve conter credenciais de produção.
2028
+ >
2029
+ > **FALHA QUE GEROU ESTA REGRA:** Projeto Flyee desenvolvido por 10 sprints
2030
+ > com `.env.local` apontando para Supabase production. Risco de corrupção de dados reais.
2031
+
2032
+ **6.1 Criar projetos separados para cada serviço externo:**
2033
+
2034
+ | Serviço | Ambiente Dev | Ambiente Prod |
2035
+ |---------|-------------|---------------|
2036
+ | Supabase | `{nome}-dev` (novo projeto) | `{nome}` (existente) |
2037
+ | Stripe | `sk_test_` / `pk_test_` | `sk_live_` / `pk_live_` |
2038
+ | PostHog | Mesmo projeto, flag `DEV` | Mesmo projeto |
2039
+ | Sanity | `development` dataset | `production` dataset |
2040
+ | Resend | Mesmo (test mode) | Mesmo (prod mode) |
2041
+
2042
+ **6.2 Criar arquivos `.env`:**
2043
+
2044
+ ```bash
2045
+ # .env.example — Template com placeholders (commitado no git)
2046
+ # .env.local — Credenciais DEV (gitignored)
2047
+ # .env.production — Credenciais PROD (definidas na plataforma de deploy, NÃO no repo)
2048
+ ```
2049
+
2050
+ **6.3 Validar que `.env.local` NÃO contém credenciais de produção:**
2051
+
2052
+ ```markdown
2053
+ ⚠️ ENVIRONMENT VALIDATION GATE
2054
+
2055
+ [ ] `.env.example` existe com placeholders genéricos
2056
+ [ ] `.env.local` existe com credenciais de DEVELOPMENT
2057
+ [ ] `.env.local` NÃO aponta para projetos de produção
2058
+ [ ] `.gitignore` inclui `.env.local` e `.env.production`
2059
+ [ ] Variáveis de produção serão configuradas APENAS na plataforma de deploy (Vercel)
2060
+
2061
+ ❌ Se `.env.local` tiver URLs/keys de produção → PARAR e corrigir
2062
+ ✅ Todos OK → Prosseguir
2063
+ ```
2064
+
2065
+ **6.4 Perguntar ao usuário (se projetos dev não existem):**
2066
+
2067
+ ```markdown
2068
+ ## 🔐 Separação de Ambientes
2069
+
2070
+ Para garantir segurança, preciso de credenciais de **DESENVOLVIMENTO** (não produção).
2071
+
2072
+ | Serviço | Ação Necessária |
2073
+ |---------|----------------|
2074
+ | **Supabase** | Criar projeto `{nome}-dev` no dashboard Supabase |
2075
+ | **Stripe** | Usar chaves `test` (já disponíveis no dashboard) |
2076
+ | **Sanity** | Criar dataset `development` (Settings → Datasets) |
2077
+
2078
+ Quando tiver as credenciais dev, me informe para configurar o `.env.local`.
2079
+ ```
2080
+
2081
+ **Ações para Projeto EXISTENTE (já tem código):**
2082
+
2083
+ 1. Verificar se test runner existe
2084
+ 2. Se não existir, instalar (passo 2 acima)
2085
+ 3. Verificar estrutura de pastas
2086
+ 4. **🔴 Verificar separação de ambientes (passo 6 acima)**
2087
+ 5. Prosseguir para Phase 4
2088
+
2089
+ #### 🚨 SYNC DE SETUP (OBRIGATÓRIO)
2090
+
2091
+ > [!CAUTION]
2092
+ > **REGRA DE OURO:** O agente **não pode** concluir esta fase sem sincronizar cada task técnica no Tracker (Status=completed).
2093
+ >
2094
+ > **Protocolo:**
2095
+ > 1. Buscar ID da task (ex: #1, #2, #3, #4)
2096
+ > 2. Atualizar Tracker (Status=completed)
2097
+ > 3. Adicionar comentário e atualizar arquivos locais
2098
+
2099
+ **Gate de Saída:**
2100
+ ```
2101
+ [ ] Projeto inicializado (package.json existe)
2102
+ [ ] Test runner configurado (vitest/jest)
2103
+ [ ] Estrutura de pastas criada
2104
+ [ ] npm test roda sem erros
2105
+ [ ] **Ambientes separados (dev ≠ prod)** ⭐
2106
+ [ ] **`.env.local` com credenciais de DEVELOPMENT apenas** ⭐
2107
+ [ ] **`.env.example` com placeholders genéricos** ⭐
2108
+ ```
2109
+
2110
+ > [!TIP]
2111
+ > Se projeto já existe e tem tests configurados, esta fase é automática (verificação apenas).
2112
+
2113
+ ---
2114
+
2115
+ ### Phase 4: TDD METODOLOGIA - Testes Primeiro
2116
+
2117
+ **Objetivo:** Escrever testes ANTES do código.
2118
+
2119
+ **Trigger:**
2120
+ ```
2121
+ Breakdown concluído → Automático
2122
+ ```
2123
+
2124
+ **Skill de Referência:** `tdd-workflow`
2125
+
2126
+ > [!IMPORTANT]
2127
+ > **Para componentes com UI:** Seguir skill `design-system-enforcement` durante GREEN.
2128
+ > Componentes devem usar MASTER.md desde a criação, não apenas na fase de styling.
2129
+
2130
+ > [!CAUTION]
2131
+ > **REGRA DE STYLING INLINE (OBRIGATÓRIO):**
2132
+ > Todo componente UI criado na fase GREEN **DEVE já sair com o styling premium final**
2133
+ > (glassmorphism, gradientes, glows, backdrop-blur, micro-animações) conforme MASTER.md.
2134
+ > **NÃO é aceitável** criar um "esqueleto funcional" para estilizar depois.
2135
+ > Phase 5.3 é apenas para **validação e ajustes finos**, não para aplicar estilo do zero.
2136
+ >
2137
+ > **FALHA QUE GEROU ESTA REGRA:** Pricing Page foi criada com estilos básicos (cores
2138
+ > sólidas, sem glassmorphism, sem animações) durante TDD GREEN. Resultado: retrabalho
2139
+ > completo de 5 arquivos CSS na Phase 5.3 para atingir o nível premium da Landing Page.
2140
+
2141
+ **Agentes Envolvidos:**
2142
+ - `test-engineer` - Geração de testes
2143
+ - Especialistas de domínio conforme task
2144
+
2145
+ **Ciclo para CADA Task:**
2146
+
2147
+ | Fase | Ação | Verificação |
2148
+ |------|------|-------------|
2149
+ | 🔴 RED | `/test [task]` - Escrever teste que falha | Teste falha corretamente |
2150
+ | 📖 SPEC | **Ler specs de UI** (ver gate abaixo) | Checklist preenchido |
2151
+ | 🟢 GREEN | Implementar código **com styling premium final** (Design System + efeitos visuais) | Teste passa + visual premium |
2152
+ | 🔵 REFACTOR | Melhorar código | Testes continuam passando |
2153
+
2154
+ #### 🚨 UI SPEC READING GATE (OBRIGATÓRIO para tasks com UI)
2155
+
2156
+ > [!CAUTION]
2157
+ > **REGRA BLOQUEANTE:** Antes de escrever código UI (GREEN phase), o agente DEVE ler
2158
+ > TODAS as specs aplicáveis. NÃO implementar com base em inferência ou memória.
2159
+ >
2160
+ > **FALHA QUE GEROU ESTA REGRA:** Landing Page desenvolvida sem consultar SHARED-LAYOUT.md.
2161
+ > Header implementado sem scroll shadow, search, github, language, theme e login icons.
2162
+ > Footer implementado com 3 colunas em vez de 4.
2163
+ > Mobile menu implementado como dropdown inline em vez de slide-in sheet.
2164
+ > Resultado: retrabalho completo de Header e Footer.
2165
+
2166
+ **Checklist OBRIGATÓRIO antes do GREEN (se task envolve UI):**
2167
+
2168
+ ```markdown
2169
+ ⚠️ UI SPEC READING GATE — Task: {título}
2170
+
2171
+ [ ] MASTER.md lido — seção Cores (tokens CSS)
2172
+ [ ] MASTER.md lido — seção Tipografia
2173
+ [ ] MASTER.md lido — seção Efeitos Visuais (glassmorphism, shadows, micro-animations) ⭐
2174
+ [ ] MASTER.md lido — seção Componentes (se criando button, input, card, etc.)
2175
+ [ ] SHARED-LAYOUT.md lido (se componente é Header, Footer, Mobile Menu, ou layout compartilhado)
2176
+ [ ] PAGE-SPEC-{página}.md lido (se implementando seção de uma página específica)
2177
+ [ ] Elementos obrigatórios identificados (lista extraída do spec)
2178
+ [ ] Responsividade/breakpoints anotados
2179
+
2180
+ ❌ Se QUALQUER item aplicável desmarcado → NÃO IMPLEMENTAR
2181
+ ✅ TODOS marcados → Prosseguir com GREEN
2182
+ ```
2183
+
2184
+ > [!CAUTION]
2185
+ > **FALHA QUE GEROU ESTA EXPANSÃO (v2):** Dashboard UI foi criado com cores sólidas
2186
+ > (`var(--color-bg-secondary)`) sem aplicar glassmorphism (`backdrop-filter: blur(16px)`,
2187
+ > `var(--color-overlay-*)`) definido na seção "Efeitos Visuais" do MASTER.md.
2188
+ > O agente leu MASTER.md mas focou apenas nos tokens (cores, tipografia), ignorando
2189
+ > a seção de efeitos visuais. Resultado: dashboard visualmente plano, sem a estética
2190
+ > premium "Technical Glassmorphism" das referências SphereUI.
2191
+ >
2192
+ > **FIX:** O checklist agora lista CADA seção do MASTER.md separadamente,
2193
+ > com destaque ⭐ para Efeitos Visuais que é o mais esquecido.
2194
+
2195
+ #### 🖼️ REFERENCE ANALYSIS GATE (Se referências visuais existem)
2196
+
2197
+ > [!CAUTION]
2198
+ > **FALHA QUE GEROU ESTA REGRA (v3):** Dashboard Sidebar e TopBar foram implementados
2199
+ > como "floating pills" com `border-radius: 32px` descolados das bordas da viewport,
2200
+ > quando as referências SphereUI (`sphereui_13.jpg`, `sphereui_15.jpg`) mostravam
2201
+ > claramente componentes **edge-to-edge** (sidebar colada à borda esquerda, topbar como
2202
+ > faixa horizontal contínua no topo do conteúdo).
2203
+ > O agente "olhou" as referências mas não fez análise estrutural — inferiu layout
2204
+ > "premium" baseado em suposições genéricas em vez de observar a anatomia real.
2205
+ >
2206
+ > **FIX:** Antes de implementar qualquer componente de layout, o agente DEVE produzir
2207
+ > uma análise textual da anatomia espacial vista nas referências.
2208
+
2209
+ **ANTES de escrever CSS para layout (sidebar, topbar, shell, drawer), produzir:**
2210
+
2211
+ ```markdown
2212
+ ## 📐 Análise Espacial — {Componente} (ref: {arquivo_referencia})
2213
+
2214
+ ### O que eu VEJO na referência:
2215
+ - Sidebar: [edge-to-edge left/top/bottom | floating pill com gap]
2216
+ - Sidebar border-radius: [0 nas bordas da viewport | radius interno apenas | radius em todos os lados]
2217
+ - TopBar: [faixa contínua acima do conteúdo, NÃO sobrepõe sidebar | full-width sobre tudo | pill flutuante]
2218
+ - Toggle collapse: [no header da sidebar | no topbar | botão inline]
2219
+ - Padding externo (gap entre sidebar/topbar e viewport): [0px — colado | Npx — descolado]
2220
+
2221
+ ### Implementação proposta:
2222
+ - sidebar { width: Xpx; height: 100vh; border-radius: 0; position: sticky }
2223
+ - topbar { height: Xpx; border-radius: 0; width: 100% do main }
2224
+
2225
+ ❌ NÃO INFERIR. Descrever APENAS o que está VISÍVEL na imagem.
2226
+ ```
2227
+
2228
+ **Se NÃO houver referência visual:** Usar PAGE-SPEC-{página}.md → Spatial Anatomy table.
2229
+
2230
+ **Mapeamento de Specs por Componente:**
2231
+
2232
+ | Componente | Specs Obrigatórias |
2233
+ |------------|-------------------|
2234
+ | Header / Navbar | `SHARED-LAYOUT.md` §1 |
2235
+ | Footer | `SHARED-LAYOUT.md` §2 |
2236
+ | Mobile Menu | `SHARED-LAYOUT.md` §3 |
2237
+ | Dashboard Layout | `SHARED-LAYOUT.md` §4 + `PAGE-SPEC-Dashboard.md` |
2238
+ | Dashboard Sections (KPIs, Cards) | `PAGE-SPEC-Dashboard.md` + `MASTER.md` §Efeitos Visuais |
2239
+ | Seções de LP | `PAGE-SPEC-Landing.md` + `SHARED-LAYOUT.md` §1-§2 |
2240
+ | Seções de Pricing | `PAGE-SPEC-Pricing.md` |
2241
+ | Componentes UI (Button, Input) | `MASTER.md` apenas |
2242
+ | Docs Search | `SHARED-LAYOUT.md` §1.1 |
2243
+
2244
+ **Ações:**
2245
+ 1. Para cada task do breakdown:
2246
+ - Gerar testes baseados nos critérios de aceite
2247
+ - Verificar que testes falham (RED)
2248
+ - **Se tem UI:** Passar pelo UI Spec Reading Gate (📖 SPEC)
2249
+ - Implementar código mínimo (GREEN)
2250
+ - **Se tem UI:** Usar variáveis CSS do MASTER.md (skill: `design-system-enforcement`)
2251
+ - Refatorar mantendo verde (REFACTOR)
2252
+ 2. **Concluir task no Tracker** (OBRIGATÓRIO - ver abaixo)
2253
+
2254
+ #### 🚫 ANTI-MOCK TEST GATE (OBRIGATÓRIO — Phase 4) 🔴
2255
+
2256
+ > [!CAUTION]
2257
+ > **REGRA BLOQUEANTE:** Testes que testam MOCK DATA de pages/routes de produção são
2258
+ > INVÁLIDOS. Um teste que passa com `const mockProject = {...}` hardcoded na page.
2259
+ > NÃO garante que a page funciona com dados reais do Supabase.
2260
+ >
2261
+ > **FALHA QUE GEROU ESTA REGRA:** Projeto Flyee criou 140+ testes em ~2h.
2262
+ > TODOS passavam porque testavam renderização de props mock, não integração.
2263
+ > Resultado: 7 páginas com mock data marcadas como "implementadas".
2264
+
2265
+ **Regras para testes válidos:**
2266
+
2267
+ | Tipo de Teste | O que DEVE validar | O que NÃO é válido |
2268
+ |--------------|-------------------|--------------------|
2269
+ | **Page (server component)** | Query Supabase retorna dados → renderiza | Props mock passadas manualmente |
2270
+ | **API route** | Request → INSERT/UPDATE no DB → Response real | `return NextResponse.json(mockData)` |
2271
+ | **Client component** | onClick → chama função → efeito colateral | `onSubmit={() => {}}` como handler |
2272
+ | **Form** | Submit → API call → feedback ao user | Form que renderiza mas não envia |
2273
+
2274
+ **Na Phase GREEN (implementação):**
2275
+
2276
+ ```markdown
2277
+ ⚠️ ANTI-MOCK TEST CHECK — Task: {título}
2278
+
2279
+ [ ] Page/route queries banco de dados REAL (não hardcoded)?
2280
+ [ ] API route persiste dados (INSERT/UPDATE), não retorna mock?
2281
+ [ ] Handlers de click/submit executam ação REAL, não noop?
2282
+ [ ] Teste valida COMPORTAMENTO end-to-end, não apenas renderização?
2283
+
2284
+ ❌ Se mock detectado em produção → Reescrever para usar dados reais
2285
+ ✅ Todos OK → GREEN válido
2286
+ ```
2287
+
2288
+ > [!CAUTION]
2289
+ > **GATE DE CONCLUSÃO DE TASK (OBRIGATÓRIO):**
2290
+ > Após cada task aprovada (testes passando), seguir **FLYEE SYNC FLOW** (ver seção abaixo).
2291
+ > **Não prosseguir** para próxima task sem completar sync.
2292
+
2293
+ ---
2294
+
2295
+ #### 🚨 SYNC OBRIGATÓRIO - EXECUTAR APÓS CADA TASK CONCLUÍDA ⭐
2296
+
2297
+ > [!CAUTION]
2298
+ > **HARD BLOCKER:** O agente NÃO PODE prosseguir para próxima task sem executar TODAS as chamadas abaixo.
2299
+ > Se pular este sync, o workflow está QUEBRADO e perde transparência com cliente.
2300
+
2301
+ **PASSO 1 - Buscar task_id (se não tiver):**
2302
+
2303
+ ```python
2304
+ # Flyee API: listar tasks do projeto
2305
+ from bridge import list_tasks, load_config
2306
+ config = load_config()
2307
+ tasks = list_tasks(
2308
+ api_url=config["api_url"],
2309
+ api_key=config["api_key"],
2310
+ project_id=config["project_id"],
2311
+ )
2312
+ # Encontrar task pelo nome
2313
+ task = next(t for t in tasks if t["input"]["name"] == "{task_name}")
2314
+ task_id = task["id"]
2315
+ ```
2316
+
2317
+ **PASSO 2 - Atualizar status da task (OBRIGATÓRIO):**
2318
+
2319
+ ```python
2320
+ from bridge import update_task
2321
+ update_task(
2322
+ api_url=config["api_url"],
2323
+ api_key=config["api_key"],
2324
+ task_id=task_id,
2325
+ status="completed",
2326
+ result_status="success",
2327
+ output={
2328
+ "summary": "{descrição do que foi feito}",
2329
+ "tests": "{resultado dos testes}",
2330
+ "files": ["{arquivo1}", "{arquivo2}"],
2331
+ },
2332
+ metrics={"time_spent": "{Xh Ym}"},
2333
+ )
2334
+ ```
2335
+
2336
+ Ou via CLI:
2337
+ ```bash
2338
+ python .agent/flyee-bridge/bridge.py --update-task {task_id} \
2339
+ --status completed \
2340
+ --result-status success
2341
+ ```
2342
+
2343
+ **PASSO 3 - Atualizar arquivos locais:**
2344
+
2345
+ 1. `task.md` → Marcar `[x]` para esta task
2346
+ 2. `PROJECT-PROGRESS.md` → Adicionar entrada no histórico
2347
+
2348
+ ---
2349
+
2350
+ > [!WARNING]
2351
+ > **VERIFICAÇÃO DE ENFORCEMENT:**
2352
+ > Antes de iniciar próxima task, o agente DEVE confirmar:
2353
+ > - "Sync executado para Task #X: ✅"
2354
+ >
2355
+ > Se não conseguir confirmar, PARAR e executar sync primeiro.
2356
+
2357
+ ---
2358
+
2359
+ **Gate de Saída (por task):**
2360
+ ```
2361
+ [ ] PASSO 1: task_id obtido
2362
+ [ ] PASSO 2: update_task() executado (status=completed, output, metrics)
2363
+ [ ] PASSO 3: task.md e PROJECT-PROGRESS.md atualizados
2364
+ [ ] CONFIRMAÇÃO: "Sync executado para Task #X: ✅"
2365
+ ```
2366
+
2367
+ ---
2368
+
2369
+ ### Phase 5: IMPLEMENTAÇÃO - Código
2370
+
2371
+ **Objetivo:** Implementar todas as features COM UI estilizada.
2372
+
2373
+ **Trigger:**
2374
+ ```
2375
+ Testes escritos → Automático
2376
+ ```
2377
+
2378
+ > [!CAUTION]
2379
+ > **PRE-IMPLEMENTATION GATE OBRIGATÓRIO POR TASK:** ANTES de implementar qualquer task, execute:
2380
+ > - **Gate 1 (Context Gathering):** Ler task Flyee + TDD + `docs/flows/` (skill `context-gathering-patterns`)
2381
+ > - **Gate 1.5 (Resource Discovery):** Consultar `project-resources.json` e Flyee Collections via `bridge.py`
2382
+ > - **Gate 2 (History Check):** Buscar bugs/features anteriores (skill `history-check-patterns`)
2383
+ > - **Gate 3 (Flyee Sync):** Criar/atualizar task via `bridge.py`
2384
+ > Persistir checklist em `PROJECT-PROGRESS.md`.
2385
+
2386
+ > [!IMPORTANT]
2387
+ > **Phase 5 tem 3 SUB-FASES OBRIGATÓRIAS:**
2388
+ > 1. Backend/Lógica
2389
+ > 2. UI Components (estrutura)
2390
+ > 3. UI Styling (Design System)
2391
+
2392
+ ---
2393
+
2394
+ #### Phase 5.1: BACKEND E LÓGICA
2395
+
2396
+ **Agentes Envolvidos:**
2397
+ - `app-builder` - Orquestração
2398
+ - `database-architect` - Schema
2399
+ - `backend-specialist` - API
2400
+
2401
+ **Ações:**
2402
+ 1. Implementar lib modules (auth, db, api, etc.)
2403
+ 2. Criar endpoints/rotas de API
2404
+ 3. Rodar testes a cada mudança
2405
+ 4. Atualizar progresso no `PROJECT-PROGRESS.md`
2406
+
2407
+ **Gate de Saída:**
2408
+ ```
2409
+ [ ] Todos os lib modules implementados
2410
+ [ ] Testes do backend passando
2411
+ ```
2412
+
2413
+ ---
2414
+
2415
+ #### Phase 5.2: UI COMPONENTS (Estrutura + Styling Premium)
2416
+
2417
+ > [!CAUTION]
2418
+ > **STYLING INLINE OBRIGATÓRIO:** Componentes DEVEM ser criados já com o styling
2419
+ > premium final (glassmorphism, gradientes, glows, backdrop-blur, micro-animações).
2420
+ > **NÃO** criar estrutura primeiro para estilizar depois — isso gera retrabalho.
2421
+
2422
+ **Agentes Envolvidos:**
2423
+ - `frontend-specialist` - Web
2424
+ - `mobile-developer` - Mobile
2425
+
2426
+ **Ações:**
2427
+ 1. **Classificar cada componente antes de criar** (🔴 OBRIGATÓRIO):
2428
+
2429
+ | Tipo | Critério | Pasta |
2430
+ |------|----------|-------|
2431
+ | **Reutilizável** | Pode ser usado em 2+ páginas/features diferentes | `src/components/ui/` |
2432
+ | **Feature-specific** | Só faz sentido em 1 contexto (ex: Step3Audience) | `src/components/{feature}/` |
2433
+ | **Layout compartilhado** | Usado no shell da aplicação (topbar, sidebar) | `src/components/dashboard/` ou `src/components/layout/` |
2434
+
2435
+ > [!CAUTION]
2436
+ > **REGRA BLOQUEANTE:** Um componente que pode ser reutilizado em outro contexto
2437
+ > DEVE ser criado em `src/components/ui/` desde o início, com CSS Module próprio.
2438
+ > Criar em pasta de feature e mover depois = retrabalho de import.
2439
+ >
2440
+ > **FALHA QUE GEROU ESTA REGRA:** `ReviewCard` e `IconButton` foram criados
2441
+ > em `src/components/wizard/steps/` e na TopBar respectivamente,
2442
+ > sem CSS Module, com Tailwind inline. Precisaram ser movidos, refatorados
2443
+ > e conectados ao Design System em uma sessão separada.
2444
+
2445
+ **Perguntas para classificar:**
2446
+ - "Este botão/card/input pode ser usado na dashboard E no wizard?" → `ui/`
2447
+ - "Este componente tem lógica/visual genérico suficiente para outro dev reutilizar?" → `ui/`
2448
+ - "Este componente só faz sentido dentro de 1 passo do wizard?" → `wizard/steps/`
2449
+
2450
+ 2. Criar estrutura de componentes **com styling premium desde o início**
2451
+ 3. Aplicar tokens do MASTER.md + efeitos visuais (glassmorphism, gradientes, glows)
2452
+ 4. Implementar lógica dos componentes (estados, hooks)
2453
+ 5. Conectar com backend/APIs
2454
+ 6. Criar rotas do app
2455
+
2456
+ **Gate de Saída:**
2457
+ ```
2458
+ [ ] **Componentes classificados (ui/ vs feature-specific) antes de criar** ⭐
2459
+ [ ] **Componentes reutilizáveis em src/components/ui/ com CSS Module próprio** ⭐
2460
+ [ ] Componentes criados com lógica funcional
2461
+ [ ] Componentes com styling premium aplicado — NÃO apenas CSS variables, mas:
2462
+ [ ] Glassmorphism (backdrop-filter + overlay) onde MASTER.md define ⭐
2463
+ [ ] Shadows (var(--shadow-*)) com níveis de elevação corretos
2464
+ [ ] Micro-animações em hover/focus (transition, transform)
2465
+ [ ] Borders usando overlay variables (var(--color-overlay-*))
2466
+ [ ] Rotas do app funcionando
2467
+ [ ] Componentes conectados ao backend
2468
+ [ ] 🔴 **DATA INTEGRATION VERIFICADO** (ver gate abaixo)
2469
+ ```
2470
+
2471
+ #### 🔌 DATA INTEGRATION GATE (OBRIGATÓRIO — Phase 5.2) 🔴
2472
+
2473
+ > [!CAUTION]
2474
+ > **REGRA BLOQUEANTE:** Antes de marcar Phase 5.2 como concluída, o agente DEVE
2475
+ > verificar que NENHUMA page/route de produção contém mock data.
2476
+ >
2477
+ > **FALHA QUE GEROU ESTA REGRA:** Phase 5.2 tinha o gate "Componentes conectados ao backend"
2478
+ > mas sem mecanismo de verificação. O agente marcou como ✅ sem checar. 7 arquivos tinham
2479
+ > `mockData`, `// MVP: mock response`, e `onApprove={() => {}}` em produção.
2480
+
2481
+ **Verificação OBRIGATÓRIA (executar para cada page/route):**
2482
+
2483
+ ```markdown
2484
+ ⚠️ DATA INTEGRATION SCAN — Phase 5.2 Completa?
2485
+
2486
+ Para CADA arquivo em src/app/ (pages e routes de produção):
2487
+ [ ] Buscar padrão: `mock` (case insensitive) — ZERO ocorrências?
2488
+ [ ] Buscar padrão: `() => {}` ou `() => { }` — ZERO callbacks noop?
2489
+ [ ] Buscar padrão: `// TODO` em lógica de negócio — ZERO placeholders?
2490
+ [ ] Buscar padrão: `// MVP:` — ZERO flags de MVP?
2491
+
2492
+ Se QUALQUER padrão encontrado:
2493
+ → LISTAR arquivos afetados
2494
+ → CORRIGIR antes de marcar Phase 5.2 como concluída
2495
+ → Conectar ao banco de dados / implementar lógica real
2496
+
2497
+ ✅ ZERO mock patterns em produção → Phase 5.2 LIBERADA
2498
+ ```
2499
+
2500
+ **Comandos de scan sugeridos:**
2501
+
2502
+ ```bash
2503
+ # Buscar mock data em pages de produção
2504
+ grep -rn "mock" src/app/ --include="*.tsx" --include="*.ts" -l
2505
+ grep -rn "() => {}" src/app/ --include="*.tsx" --include="*.ts" -l
2506
+ grep -rn "// TODO" src/app/ --include="*.tsx" --include="*.ts" -l
2507
+ grep -rn "// MVP" src/app/ --include="*.tsx" --include="*.ts" -l
2508
+ ```
2509
+
2510
+ > [!CAUTION]
2511
+ > **FALHA QUE GEROU ESTA EXPANSÃO:** O gate anterior apenas checava
2512
+ > "styling premium aplicado (não esqueleto)" — vago demais. O agente
2513
+ > interpretou como "usar CSS variables" e passou o gate sem aplicar
2514
+ > glassmorphism, shadows ou animações. Agora cada sub-item é explícito.
2515
+
2516
+ > [!CAUTION]
2517
+ > **VALIDAÇÃO OBRIGATÓRIA:** Antes de prosseguir, verificar conexões UI→Função.
2518
+ > **Skill:** `integration-completeness`
2519
+
2520
+ **Checklist de Integração (OBRIGATÓRIO):**
2521
+ ```markdown
2522
+ Para CADA componente interativo:
2523
+ [ ] onClick/onSubmit definido?
2524
+ [ ] Handler chama função correta (não é vazio)?
2525
+ [ ] Função está importada?
2526
+ [ ] Teste verifica clique → ação (não só existência)?
2527
+ ```
2528
+
2529
+ ---
2530
+
2531
+ #### Phase 5.3: UI STYLING VALIDATION (Verificação + Ajustes Finos) ⭐ OBRIGATÓRIO
2532
+
2533
+ > [!CAUTION]
2534
+ > **REGRA BLOQUEANTE:** NÃO prosseguir para Phase 6 sem completar esta sub-fase.
2535
+ > Componentes sem styling = projeto incompleto.
2536
+
2537
+ > [!IMPORTANT]
2538
+ > **Esta fase é APENAS para VALIDAÇÃO e AJUSTES FINOS.**
2539
+ > Se o styling inline foi seguido corretamente durante Phase 4 (TDD GREEN) e Phase 5.2,
2540
+ > os componentes já possuem styling premium. Esta fase verifica se a qualidade visual
2541
+ > está uniforme entre todas as páginas e faz ajustes de polimento se necessário.
2542
+ > **NÃO é para aplicar styling do zero** — se isso for necessário, significa que as
2543
+ > phases anteriores não foram executadas corretamente.
2544
+
2545
+ > [!IMPORTANT]
2546
+ > **EXECUTAR WORKFLOW:** `/ui-ux-pro-max` se Design System ainda não existe.
2547
+ > Este workflow contém 50+ estilos, 97 paletas de cores e checklist profissional.
2548
+
2549
+ **Agentes Envolvidos:**
2550
+ - `frontend-specialist` - Web
2551
+ - `mobile-developer` - Mobile
2552
+
2553
+ ---
2554
+
2555
+ **PASSO 1: Executar `/ui-ux-pro-max` (OBRIGATÓRIO)**
2556
+
2557
+ ```bash
2558
+ # Gerar Design System completo com recomendações
2559
+ python3 .agent/.shared/ui-ux-pro-max/scripts/search.py "{produto} {indústria} {keywords}" --design-system -p "{Nome do Projeto}"
2560
+ ```
2561
+
2562
+ **Exemplo para SaaS:**
2563
+ ```bash
2564
+ python3 .agent/.shared/ui-ux-pro-max/scripts/search.py "saas startup professional" --design-system -p "Flyeelab"
2565
+ ```
2566
+
2567
+ **Output esperado:**
2568
+ - Pattern recomendado
2569
+ - Style (glassmorphism, minimalism, etc.)
2570
+ - Paleta de cores
2571
+ - Tipografia
2572
+ - Efeitos visuais
2573
+ - Anti-patterns a evitar
2574
+
2575
+ ---
2576
+
2577
+ **PASSO 2: Persistir Design System (se não existir)**
2578
+
2579
+ ```bash
2580
+ python3 .agent/.shared/ui-ux-pro-max/scripts/search.py "{query}" --design-system --persist -p "{Projeto}"
2581
+ ```
2582
+
2583
+ Gera:
2584
+ - `design-system/MASTER.md` - Source of Truth
2585
+ - `design-system/pages/` - Overrides por página
2586
+
2587
+ ---
2588
+
2589
+ **PASSO 2.5: Instalar CSS Variables (OBRIGATÓRIO) 🔴**
2590
+
2591
+ > [!CAUTION]
2592
+ > **REGRA BLOQUEANTE:** Antes de estilizar componentes, garantir que as variáveis CSS
2593
+ > do Design System estão instaladas no `globals.css` (ou equivalente).
2594
+
2595
+ **Ações:**
2596
+ 1. Abrir `design-system/{projeto}/MASTER.md`
2597
+ 2. Copiar seção "CSS Variables" ou "Tokens"
2598
+ 3. Colar em `src/app/globals.css` (Next.js) ou arquivo CSS global equivalente
2599
+ 4. Verificar que variáveis incluem:
2600
+ - Cores primárias (--lime, --bg-primary, etc.)
2601
+ - Backgrounds (--bg-card, --bg-elevated)
2602
+ - Texto (--text-primary, --text-secondary, --text-muted)
2603
+ - Espaçamentos (--radius-sm, --radius-md, etc.)
2604
+ 5. Definir body styling base:
2605
+ ```css
2606
+ body {
2607
+ background: var(--bg-primary);
2608
+ color: var(--text-primary);
2609
+ font-family: 'Plus Jakarta Sans', sans-serif; /* ou font do MASTER.md */
2610
+ }
2611
+ ```
2612
+ 6. Reiniciar dev server (`npm run dev`)
2613
+
2614
+ **Gate de Saída PASSO 2.5:**
2615
+ ```
2616
+ [ ] CSS variables do MASTER.md copiadas para globals.css
2617
+ [ ] Body styling definido (background, color, font)
2618
+ [ ] Dev server reiniciado
2619
+ [ ] Página renderiza com cores corretas (verificar no browser)
2620
+ ```
2621
+
2622
+ ---
2623
+
2624
+ **PASSO 3: Buscar Guidelines do Stack**
2625
+
2626
+ ```bash
2627
+ python3 .agent/.shared/ui-ux-pro-max/scripts/search.py "layout responsive form" --stack html-tailwind
2628
+ ```
2629
+
2630
+ Stacks disponíveis: `html-tailwind`, `react`, `nextjs`, `shadcn`, etc.
2631
+
2632
+ ---
2633
+
2634
+ **PASSO 4: Aplicar para CADA componente**
2635
+
2636
+ 1. Carregar `design-system/{nome}/MASTER.md`
2637
+ 2. Aplicar cores, tipografia, espaçamento
2638
+ 3. Verificar regras do `/ui-ux-pro-max`:
2639
+ - ❌ Sem emojis como ícones (usar SVG)
2640
+ - ✅ `cursor-pointer` em clicáveis
2641
+ - ✅ Hover states com feedback visual
2642
+ - ✅ Contraste adequado (4.5:1 mínimo)
2643
+ - ✅ Responsivo em 375px, 768px, 1024px, 1440px
2644
+
2645
+ ---
2646
+
2647
+ **PASSO 4.5: Usar shadcn/ui Components (Opcional - /stitch --shadcn)**
2648
+
2649
+ > [!TIP]
2650
+ > Para acelerar desenvolvimento, use componentes prontos do shadcn/ui.
2651
+ > **Workflow:** `/stitch --shadcn [componente]`
2652
+ > **Skill:** `shadcn-ui`
2653
+
2654
+ ```bash
2655
+ # Instalar componente
2656
+ npx shadcn-ui@latest add button
2657
+ npx shadcn-ui@latest add dialog
2658
+ npx shadcn-ui@latest add form
2659
+
2660
+ # Ver todos disponíveis
2661
+ npx shadcn-ui@latest add --help
2662
+ ```
2663
+
2664
+ **Quando usar:**
2665
+ - Formulários complexos → `form`, `input`, `select`
2666
+ - Modais/Dialogs → `dialog`, `alert-dialog`
2667
+ - Navegação → `navigation-menu`, `dropdown-menu`
2668
+ - Feedback → `toast`, `alert`
2669
+
2670
+ ---
2671
+
2672
+ **PASSO 4.6: Componentes Premium de Bibliotecas Externas (Opcional)**
2673
+
2674
+ > [!TIP]
2675
+ > **Skill:** `component-library-discovery`
2676
+ > Use bibliotecas externas compatíveis com shadcn para componentes premium.
2677
+
2678
+ **Bibliotecas Disponíveis:**
2679
+
2680
+ | Biblioteca | Foco | Comando Base |
2681
+ |------------|------|--------------|
2682
+ | **badtz-ui** | LPs, conversão | `npx shadcn@latest add https://badtz-ui.com/r/<comp>.json` |
2683
+ | **uselayouts** | Micro-interações | `npx shadcn@latest add https://uselayouts.com/r/<comp>` |
2684
+ | **lucide-animated** | Ícones animados | Copy-paste de lucide-animated.com |
2685
+
2686
+ **Componentes Comuns:**
2687
+
2688
+ | Necessidade | Biblioteca | Componente |
2689
+ |-------------|------------|------------|
2690
+ | Hero Section | badtz-ui | `hero-section` |
2691
+ | CTA com destaque | badtz-ui | `glowing-button` |
2692
+ | Cards 3D | uselayouts | `3d-book` |
2693
+ | Loading animado | lucide-animated | `loader-pinwheel` |
2694
+ | Success feedback | lucide-animated | `check`, `circle-check` |
2695
+
2696
+ **Se não souber qual componente usar:**
2697
+ > Seguir skill `component-library-discovery` → PASSO 2 (Perguntas Interativas)
2698
+
2699
+ **Catálogos completos:**
2700
+ - [badtz-ui.com/docs](https://badtz-ui.com/docs)
2701
+ - [uselayouts.com/docs](https://uselayouts.com/docs/introduction)
2702
+ - [lucide-animated.com](https://lucide-animated.com)
2703
+
2704
+ ---
2705
+
2706
+ **PASSO 5: Pre-Delivery Checklist (OBRIGATÓRIO)**
2707
+
2708
+ Verificar ANTES de marcar Phase 5.3 como concluída:
2709
+
2710
+ ```markdown
2711
+ ### Visual Quality
2712
+ - [ ] No emojis used as icons (use SVG instead)
2713
+ - [ ] All icons from consistent icon set (Heroicons/Lucide)
2714
+ - [ ] Hover states don't cause layout shift
2715
+ - [ ] Theme colors applied correctly
2716
+
2717
+ ### Interaction
2718
+ - [ ] All clickable elements have `cursor-pointer`
2719
+ - [ ] Hover states provide clear visual feedback
2720
+ - [ ] Transitions are smooth (150-300ms)
2721
+ - [ ] Focus states visible for keyboard navigation
2722
+
2723
+ ### Light/Dark Mode
2724
+ - [ ] Light mode text has sufficient contrast
2725
+ - [ ] Glass/transparent elements visible in light mode
2726
+ - [ ] Test both modes before delivery
2727
+
2728
+ ### Layout
2729
+ - [ ] Floating elements have proper spacing from edges
2730
+ - [ ] No content hidden behind fixed navbars
2731
+ - [ ] Responsive at 375px, 768px, 1024px, 1440px
2732
+ - [ ] No horizontal scroll on mobile
2733
+ ```
2734
+
2735
+ ---
2736
+
2737
+ **PASSO 6: Validação Automatizada (OBRIGATÓRIO)**
2738
+
2739
+ > [!CAUTION]
2740
+ > **EXECUTE ANTES DE MARCAR COMPLETO:**
2741
+
2742
+ > **Skill:** `ui-validation`
2743
+
2744
+ ```bash
2745
+ python .agent/skills/ui-validation/scripts/ui_antipattern_check.py .
2746
+ ```
2747
+
2748
+ **Resultado:**
2749
+ - ❌ Errors → CORRIGIR antes de prosseguir
2750
+ - ⚠️ Warnings → Considerar correção
2751
+ - ✅ Passed → Pode prosseguir
2752
+
2753
+ ---
2754
+
2755
+ **Gate de Saída Phase 5.3:**
2756
+ ```
2757
+ [ ] /ui-ux-pro-max executado
2758
+ [ ] Design System persistido
2759
+ [ ] TODOS os componentes estilizados
2760
+ [ ] Pre-Delivery Checklist 100% ✅
2761
+ [ ] 🔴 ui-validation script PASSOU
2762
+ [ ] Verificação visual (screenshot ou preview)
2763
+ [ ] Responsivo verificado
2764
+ ```
2765
+
2766
+ ---
2767
+
2768
+ #### Phase 5.4: TRACKER SYNC (OBRIGATÓRIO) 🔴
2769
+
2770
+ > [!CAUTION]
2771
+ > **REGRA BLOQUEANTE:** Após completar cada épico, sincronizar Tracker.
2772
+ > NÃO prosseguir para Phase 6 sem todas as tasks sincronizadas.
2773
+
2774
+ **Ações para CADA épico:**
2775
+ 1. Listar tasks do épico no Tracker
2776
+ 2. Atualizar cada task:
2777
+
2778
+ ```python
2779
+ from bridge import update_task, list_tasks, load_config
2780
+ config = load_config()
2781
+
2782
+ # Listar tasks do projeto
2783
+ tasks = list_tasks(
2784
+ api_url=config["api_url"],
2785
+ api_key=config["api_key"],
2786
+ project_id=config["project_id"],
2787
+ )
2788
+
2789
+ # Para cada task do épico
2790
+ for task in epic_tasks:
2791
+ update_task(
2792
+ api_url=config["api_url"],
2793
+ api_key=config["api_key"],
2794
+ task_id=task["id"],
2795
+ status="completed",
2796
+ result_status="success",
2797
+ output={
2798
+ "summary": "{resumo}",
2799
+ "tests": "{resultado}",
2800
+ "files": ["{arquivos}"],
2801
+ },
2802
+ metrics={"time_spent": "{tempo}"},
2803
+ )
2804
+ ```
2805
+
2806
+ 3. **Exibir log de execução** (conforme `project-tracking-patterns` Seção 6)
2807
+
2808
+ **Gate de Saída Phase 5:**
2809
+ ```
2810
+ [ ] Todas as sub-fases (5.1, 5.2, 5.3, 5.4) concluídas
2811
+ [ ] PROJECT-PROGRESS.md atualizado
2812
+ [ ] 🔴 TRACKER SINCRONIZADO - Todas as tasks do projeto
2813
+ ```
2814
+
2815
+ **Template de verificação:**
2816
+ ```markdown
2817
+ 📊 **Tracker Sync - Phase 5**
2818
+
2819
+ | Épico | Tasks | Sync |
2820
+ |-------|-------|------|
2821
+ | 1. Setup | 5/5 | ✅ |
2822
+ | 2. Auth | 4/4 | ✅ |
2823
+ | 3. Landing | 4/4 | ✅ |
2824
+ | ... | ... | ... |
2825
+
2826
+ ✅ Tracker 100% sincronizado. Liberado para Phase 6.
2827
+ ```
2828
+
2829
+ ---
2830
+
2831
+ **Regras Gerais Phase 5:**
2832
+ - ✅ Ler TDD a cada nova task
2833
+ - ✅ Rodar testes antes de cada commit
2834
+ - ✅ Aplicar Design System em 100% dos componentes
2835
+ - ❌ Não inventar features não documentadas
2836
+ - ❌ Não deixar componentes sem styling
2837
+ - ❌ Não prosseguir para Phase 6 com UI incompleta
2838
+
2839
+ ---
2840
+
2841
+ ### 🛑 GATE OBRIGATÓRIO: Phase 5 → Phase 6
2842
+
2843
+ > [!CAUTION]
2844
+ > **BLOQUEADOR ABSOLUTO:** Você NÃO PODE iniciar Phase 6 sem completar TODAS as sub-fases de Phase 5.
2845
+
2846
+ **Checklist de Verificação (OBRIGATÓRIO):**
2847
+
2848
+ ```markdown
2849
+ ⚠️ VERIFICAÇÃO OBRIGATÓRIA ANTES DE PHASE 6
2850
+
2851
+ ## Sub-Fases Obrigatórias
2852
+ [ ] 5.1 Backend/Lógica - Todos os épicos implementados
2853
+ [ ] 5.2 UI Components - Todos os componentes criados
2854
+ [ ] 5.3 UI STYLING - Design System aplicado
2855
+ [ ] /ui-ux-pro-max executado
2856
+ [ ] Pre-Delivery Checklist 100%
2857
+ [ ] Verificação visual feita
2858
+ [ ] 5.4 Tracker Sync - Todas tasks sincronizadas
2859
+ [ ] Épico 1 → 100%
2860
+ [ ] Épico 2 → 100%
2861
+ [ ] ... → 100%
2862
+
2863
+ ## Regra de Decisão
2864
+ ❌ QUALQUER item desmarcado → EXECUTE a sub-fase faltante
2865
+ ✅ TODOS marcados → Pode prosseguir para Phase 6
2866
+
2867
+ ## Ação se Incompleto
2868
+ Se 5.3 faltando: /new-project --phase 5.3
2869
+ Se 5.4 faltando: /new-project --phase 5.4
2870
+ ```
2871
+
2872
+ > [!IMPORTANT]
2873
+ > **Se você chegou aqui sem completar 5.3 ou 5.4:**
2874
+ > PARE imediatamente e execute as sub-fases faltantes.
2875
+
2876
+ ---
2877
+
2878
+ ### Phase 6: VERIFICAÇÃO - Gate de Cobertura
2879
+
2880
+ **Objetivo:** Garantir qualidade mínima.
2881
+
2882
+ **Trigger:**
2883
+ ```
2884
+ Implementação concluída
2885
+ ```
2886
+
2887
+ **Ações:**
2888
+ 1. Executar `/test coverage`
2889
+ 2. Verificar cobertura >= 80%
2890
+ 3. 🔴 **Executar E2E SMOKE TEST do Core Loop** (ver abaixo)
2891
+
2892
+ **Gate de Saída:**
2893
+
2894
+ | Verificação | Ação |
2895
+ |-------------|------|
2896
+ | Cobertura >= 80% | ✅ Prosseguir |
2897
+ | Cobertura < 80% | ❌ Adicionar testes faltantes |
2898
+ | **E2E Smoke Test FALHOU** | ❌ **CORRIGIR — fluxo principal não funciona** |
2899
+
2900
+ > [!CAUTION]
2901
+ > **BLOQUEADOR:** Não fazer deploy com cobertura < 80%.
2902
+
2903
+ #### 🔄 E2E CORE LOOP SMOKE TEST (OBRIGATÓRIO — Phase 6) 🔴
2904
+
2905
+ > [!CAUTION]
2906
+ > **REGRA BLOQUEANTE:** Phase 6 NÃO é apenas cobertura de testes.
2907
+ > O agente DEVE verificar que o **CORE LOOP do produto funciona de ponta a ponta**
2908
+ > com DADOS REAIS, não apenas que os testes unitários passam.
2909
+ >
2910
+ > **FALHA QUE GEROU ESTA REGRA:** Projeto Flyee tinha 140+ testes passando e
2911
+ > cobertura >80%, mas o core loop (criar projeto → criar decisão → portal → aprovar)
2912
+ > estava 100% broken porque nenhum teste verificava integração real.
2913
+
2914
+ **O que é o Core Loop?**
2915
+
2916
+ Consultar o PRD seção "Core Flow" ou "Jornada Principal" para identificar
2917
+ o fluxo principal do produto. Exemplo:
2918
+
2919
+ ```
2920
+ [Ação 1] → [Ação 2] → [Ação 3] → [Resultado Final]
2921
+ ```
2922
+
2923
+ **Verificação OBRIGATÓRIA para cada etapa do Core Loop:**
2924
+
2925
+ ```markdown
2926
+ ⚠️ E2E CORE LOOP SMOKE TEST — {nome do projeto}
2927
+
2928
+ Core Loop identificado no PRD: {descrever fluxo}
2929
+
2930
+ | # | Etapa | Page/Route | Mock? | DB Query? | Funcional? |
2931
+ |---|-------|-----------|-------|-----------|------------|
2932
+ | 1 | {ação 1} | {arquivo} | [ ] | [ ] | [ ] |
2933
+ | 2 | {ação 2} | {arquivo} | [ ] | [ ] | [ ] |
2934
+ | 3 | {ação 3} | {arquivo} | [ ] | [ ] | [ ] |
2935
+ | ... | ... | ... | ... | ... | ... |
2936
+
2937
+ Para CADA etapa:
2938
+ [ ] Nenhum mock data em produção?
2939
+ [ ] Queries ao banco reais (supabase.from() / prisma)?
2940
+ [ ] Handlers conectados a ações reais (não noop)?
2941
+ [ ] Fluxo anterior → etapa atual funciona?
2942
+
2943
+ ❌ Se QUALQUER etapa falhar → PARAR e corrigir ANTES de Phase 7
2944
+ ✅ Core Loop 100% funcional → Liberado para deploy
2945
+ ```
2946
+
2947
+ > [!TIP]
2948
+ > Se possível, rodar o smoke test no browser (dev server) e não apenas via testes unitários.
2949
+ > Isso detecta problemas que testes de componente isolado não capturam.
2950
+
2951
+ ---
2952
+
2953
+ ### Phase 7: PREVIEW e DEPLOY
2954
+
2955
+ **Objetivo:** Visualizar e publicar.
2956
+
2957
+ **Agentes Envolvidos:**
2958
+ - `devops-engineer` - Definição de infra e deploy
2959
+ - `security-auditor` - Validação pré-deploy
2960
+
2961
+ ---
2962
+
2963
+ #### Phase 7.1: ENVIRONMENT DISCOVERY (OBRIGATÓRIO) ⭐
2964
+
2965
+ > [!CAUTION]
2966
+ > **BLOQUEADOR:** ANTES de qualquer deploy, DEVE-SE definir ambientes.
2967
+ > Esta pergunta é OBRIGATÓRIA mesmo para projetos simples.
2968
+
2969
+ **Verificar se ambientes já estão definidos:**
2970
+ 1. Checar `docs/design/TDD-{nome}.md` seção "Infraestrutura"
2971
+ 2. Checar `docs/PROJECT-PROGRESS.md`
2972
+
2973
+ **Se NÃO estão definidos, PERGUNTAR:**
2974
+
2975
+ ```markdown
2976
+ ## 🌍 Definição de Ambientes
2977
+
2978
+ Preciso entender sua estratégia de ambientes antes do deploy:
2979
+
2980
+ 1. **Quais ambientes você precisa?**
2981
+ - [ ] Development (local)
2982
+ - [ ] Staging (testes/validação)
2983
+ - [ ] Production (usuários finais)
2984
+
2985
+ 2. **Onde será hospedado cada ambiente?**
2986
+ - Ex: Vercel, Railway, VPS, Docker, etc.
2987
+
2988
+ 3. **Variáveis de ambiente diferem por ambiente?**
2989
+ - Ex: API keys de teste vs produção
2990
+ ```
2991
+
2992
+ **Template de Ambientes:**
2993
+
2994
+ | Ambiente | URL | Propósito |
2995
+ |----------|-----|-----------|
2996
+ | Development | `localhost:3000` | Desenvolvimento local |
2997
+ | Staging | `staging.{app}.com` | Testes e validação |
2998
+ | Production | `{app}.com` | Usuários finais |
2999
+
3000
+ **Template de Variáveis por Ambiente:**
3001
+
3002
+ | Variável | Dev | Staging | Prod |
3003
+ |----------|-----|---------|------|
3004
+ | `DATABASE_URL` | local | staging-db | prod-db |
3005
+ | `API_KEY` | test-key | test-key | prod-key |
3006
+ | `DEBUG` | true | true | false |
3007
+
3008
+ **Gate de Saída Phase 7.1:**
3009
+ ```
3010
+ [ ] Ambientes definidos (dev/staging/prod ou subset)
3011
+ [ ] Plataforma escolhida para cada ambiente
3012
+ [ ] Variáveis de ambiente mapeadas
3013
+ [ ] AGUARDAR confirmação do usuário
3014
+ ```
3015
+
3016
+ > [!TIP]
3017
+ > Se usuário confirmar "só preciso de prod", prosseguir. Mas a pergunta DEVE ser feita.
3018
+
3019
+ ---
3020
+
3021
+ #### Phase 7.2: PRE-FLIGHT CHECKS
3022
+
3023
+ **Ações:**
3024
+ 1. Rodar checklist final: `python .agent/scripts/checklist.py .`
3025
+ 2. Verificar todos os gates anteriores (5.3 UI, 5.4 Tracker Sync, 6 Coverage)
3026
+ 3. Validar variáveis de ambiente
3027
+
3028
+ **Gate de Saída:**
3029
+ ```
3030
+ [ ] Checklist passou
3031
+ [ ] Variáveis de ambiente documentadas
3032
+ [ ] Rollback plan definido
3033
+ ```
3034
+
3035
+ ---
3036
+
3037
+ #### Phase 7.3: PREVIEW e DEPLOY
3038
+
3039
+ **Ações:**
3040
+ 1. Iniciar preview: `auto_preview.py`
3041
+ 2. Apresentar URL ao usuário
3042
+ 3. Se aprovado, executar deploy para ambiente escolhido
3043
+
3044
+ **Para cada ambiente (se staging + prod):**
3045
+ 1. Deploy staging primeiro
3046
+ 2. Validar em staging
3047
+ 3. Deploy production
3048
+
3049
+ ---
3050
+
3051
+ ### Phase 7.5: PUBLICAÇÃO DE DOCUMENTAÇÃO TÉCNICA NO FLYEE
3052
+
3053
+ > [!CAUTION]
3054
+ > **REGRA BLOQUEANTE:** Toda documentação gerada nas fases anteriores DEVE ser publicada
3055
+ > na plataforma Flyee para **acesso da equipe de desenvolvimento**.
3056
+ > Os devs acessam via plataforma Flyee.
3057
+
3058
+ **Objetivo:** Publicar documentação completa na plataforma Flyee para acesso dos devs.
3059
+
3060
+ **Trigger:**
3061
+ ```
3062
+ Phase 7.3 concluída (deploy feito) → Automático
3063
+ ```
3064
+
3065
+ **Agentes Envolvidos:**
3066
+ - `orchestrator` - Integração Tracker
3067
+
3068
+ > [!IMPORTANT]
3069
+ > **SKILL:** Seguir Flyee API → seção "DOCUMENTATION DATABASES" OBRIGATORIAMENTE.
3070
+
3071
+ #### Passo 1: Verificar conexão com Flyee
3072
+
3073
+ ```python
3074
+ from bridge import load_config
3075
+ config = load_config()
3076
+ assert config["enabled"], "Flyee Bridge não conectado"
3077
+ project_id = config["project_id"]
3078
+ ```
3079
+
3080
+ > Se bridge não conectado → Publicar apenas localmente em `docs/`.
3081
+
3082
+ #### Passo 2: Coletar Artefatos Gerados
3083
+
3084
+ | Fonte | Tipo | Arquivo Local | Publicar? |
3085
+ |---|---|---|---|
3086
+ | Phase 1 | PRD | `docs/PRD-{nome}.md` | ✅ |
3087
+ | Phase 2 | TDD | `docs/design/TDD-{nome}.md` | ✅ |
3088
+ | Phase 2.5 | Design System | `design-system/{nome}/MASTER.md` | ✅ (se UI) |
3089
+ | Phase 4 | Testes | (relatório de cobertura) | ✅ |
3090
+
3091
+ #### Passo 3: Publicar
3092
+
3093
+ > Seguir Flyee API → seção "Processo: Publicação de Documentação Técnica"
3094
+
3095
+ Para cada doc:
3096
+ 1. Verificar upsert (doc já existe?)
3097
+ 2. Ler conteúdo completo do arquivo local
3098
+ 3. Registrar via Flyee API (POST /flyee/projects/{id}/documents)
3099
+ 4. Preencher propriedades + histórico + tasks relacionadas
3100
+
3101
+ #### Passo 4: Relatório de Publicação
3102
+
3103
+ ```markdown
3104
+ 📚 **DOCUMENTAÇÃO TÉCNICA PUBLICADA - {projeto}**
3105
+
3106
+ | # | Documento | Tipo | Status |
3107
+ |---|-----------|------|--------|
3108
+ | 1 | {nome} | PRD | Publicado |
3109
+ | 2 | {nome} | TDD | Publicado |
3110
+ | ... | ... | ... | ... |
3111
+
3112
+ Total: {N} documentos publicados
3113
+ ✅ Devs podem consultar em: Flyee → Documentação
3114
+ ```
3115
+
3116
+ **Gate de Saída:**
3117
+ ```
3118
+ [ ] Documentação registrada no Flyee
3119
+ [ ] Todos os artefatos publicados
3120
+ [ ] Upsert verificado (sem duplicatas)
3121
+ [ ] Histórico e tasks referenciadas em cada doc
3122
+ [ ] PROJECT-PROGRESS.md atualizado
3123
+ ```
3124
+
3125
+ ---
3126
+
3127
+ ### Phase 7.6: PUBLICAÇÃO DO MANUAL DO USUÁRIO NO FLYEE
3128
+
3129
+ > [!CAUTION]
3130
+ > **REGRA BLOQUEANTE:** Para cada fluxo publicado na Phase 7.5, DEVE existir uma versão
3131
+ > em linguagem acessível na plataforma Flyee.
3132
+ > Usuários finais e operadores leem estes guias — sem código, sem jargão técnico.
3133
+
3134
+ **Objetivo:** Publicar guias em linguagem acessível na plataforma Flyee.
3135
+
3136
+ **Trigger:**
3137
+ ```
3138
+ Phase 7.5 concluída → Automático
3139
+ ```
3140
+
3141
+ **Agentes Envolvidos:**
3142
+ - `orchestrator` - Integração Tracker
3143
+
3144
+ > [!IMPORTANT]
3145
+ > **SKILL:** Seguir Flyee API → seção "Processo: Publicação do Manual do Usuário" OBRIGATORIAMENTE.
3146
+
3147
+ #### Passo 1: Verificar conexão com Flyee
3148
+
3149
+ ```python
3150
+ # Reutilizar config já carregado na Phase 7.5
3151
+ assert config["enabled"], "Flyee Bridge não conectado"
3152
+ ```
3153
+
3154
+ > Se bridge não conectado → Publicar apenas localmente em `docs/`.
3155
+
3156
+ #### Passo 2: Mapear e Publicar Guias
3157
+
3158
+ > Seguir Flyee API → tabela "Mapear Fluxos Técnicos → Guias de Usuário"
3159
+
3160
+ Para cada guia:
3161
+ 1. **Verificar upsert** — guia já existe? (query por Nome)
3162
+ 2. **Gerar conteúdo** em linguagem simples (sem código)
3163
+ 3. **Criar ou atualizar** página com template de guia do usuário
3164
+ 4. **Definir propriedades:** Nome, Seção, Status, Público-alvo
3165
+
3166
+ #### Passo 3: Relatório de Publicação
3167
+
3168
+ ```markdown
3169
+ 📖 **MANUAL DO USUÁRIO PUBLICADO - {projeto}**
3170
+
3171
+ | # | Guia | Público-alvo | Seção | Status |
3172
+ |---|------|-------------|-------|--------|
3173
+ | 1 | {nome} | Usuário Final | {seção} | Publicado |
3174
+ | ... | ... | ... | ... | ... |
3175
+
3176
+ Total: {N} guias publicados
3177
+ ✅ Usuários e operadores podem consultar em: Flyee → Manual do Usuário
3178
+ ```
3179
+
3180
+ **Gate de Saída:**
3181
+ ```
3182
+ [ ] Manual do Usuário registrado no Flyee
3183
+ [ ] Todos os fluxos mapeados para guias
3184
+ [ ] Upsert verificado (sem duplicatas)
3185
+ [ ] Conteúdo sem jargão técnico
3186
+ [ ] PROJECT-PROGRESS.md atualizado
3187
+ ```
3188
+
3189
+ ---
3190
+
3191
+ ## 📁 Estrutura de Arquivos Gerados
3192
+
3193
+ ### Modo Completo
3194
+ ```
3195
+ projeto/
3196
+ ├── docs/
3197
+ │ ├── PRD-{nome}.md # Phase 1
3198
+ │ └── design/
3199
+ │ └── TDD-{nome}.md # Phase 2
3200
+ ├── {nome}.md # Plan file (Phase 3)
3201
+ ├── tests/ # Phase 4
3202
+ │ ├── unit/
3203
+ │ └── integration/
3204
+ └── src/ # Phase 5
3205
+ ```
3206
+
3207
+ ### Modo --quick
3208
+ ```
3209
+ projeto/
3210
+ ├── docs/
3211
+ │ └── design/
3212
+ │ └── TDD-{nome}.md # Phase 2 (sem PRD)
3213
+ ├── {nome}.md # Plan file
3214
+ ├── tests/
3215
+ └── src/
3216
+ ```
3217
+
3218
+ ---
3219
+
3220
+ ## 🔗 INTEGRAÇÃO COM OUTROS WORKFLOWS
3221
+
3222
+ | Este workflow chama | Propósito |
3223
+ |---------------------|-----------|
3224
+ | `/brainstorm` | Phase 0 (opcional) |
3225
+ | `/prd new` | Phase 1 |
3226
+ | `/tdd new` + `/tdd validate` + `/tdd breakdown` | Phase 2-3 |
3227
+ | `/test [feature]` | Phase 4 |
3228
+ | `/create` ou `/orchestrate` | Phase 5 |
3229
+ | `/test coverage` | Phase 6 |
3230
+ | Flyee API → "DOCUMENTATION DATABASE" | Phase 7.5 |
3231
+
3232
+ | Workflows Relacionados | Quando Usar |
3233
+ |------------------------|-------------|
3234
+ | `/discovery` | Alternativa ágil (equivale a `--quick` + Tracker) |
3235
+ | `/brainstorm` | Exploração standalone sem projeto |
3236
+ | `/enhance` | Nova feature em projeto existente |
3237
+ | `/document` | Documentar projeto legado |
3238
+
3239
+ ---
3240
+
3241
+ ## 🔴 REGRAS CRÍTICAS
3242
+
3243
+ 1. **Aprovação humana obrigatória** em PRD e TDD
3244
+ 2. **Testes ANTES do código** (TDD Metodologia)
3245
+ 3. **Cobertura >= 80%** antes de deploy
3246
+ 4. **Rastreabilidade:** TDD referencia PRD, Tasks referenciam TDD
3247
+ 5. **Um projeto = Um PRD = Um TDD principal**
3248
+ 6. **Ambientes obrigatórios:** SEMPRE perguntar sobre dev/staging/prod antes de deploy (Phase 7.1)
3249
+ 7. **📚 DOCUMENTAÇÃO PARA DEVS E USUÁRIOS** - Ao final do projeto (Phase 7.5 + 7.6), publicar docs completos nas plataforma Flyee. Seguir Flyee API → "DOCUMENTATION DATABASES"
3250
+ 8. **📋 TRACKING DESDE O INÍCIO** - Tasks de planejamento (Phase 2.5–2.9) são criadas na Phase 2.1, garantindo tracking completo desde o início do projeto. Pulado no modo `--quick`
3251
+
3252
+ ---
3253
+
3254
+ ## Usage Examples
3255
+
3256
+ ```bash
3257
+ # Novo projeto com ideia indefinida (inclui brainstorm)
3258
+ /new-project --brainstorm meu-app-fitness
3259
+
3260
+ # Novo projeto com ideia clara (fluxo completo)
3261
+ /new-project meu-app-fitness
3262
+
3263
+ # Projeto rápido sem PRD formal (modo ágil)
3264
+ /new-project --quick meu-app-fitness
3265
+
3266
+ # Continuar de PRD já aprovado
3267
+ /new-project --from-prd docs/PRD-meu-app.md
3268
+
3269
+ # Continuar de TDD já aprovado
3270
+ /new-project --from-tdd docs/design/TDD-meu-app.md
3271
+
3272
+ # Importar de proposta comercial aprovada
3273
+ /new-project --from-demand "Proposta App Fitness"
3274
+
3275
+ # Ver status do projeto
3276
+ /new-project status
3277
+ ```
3278
+
3279
+ ---
3280
+
3281
+ ## 📋 Comparativo de Modos
3282
+
3283
+ | Aspecto | Completo | --brainstorm | --quick |
3284
+ |---------|----------|--------------|---------|
3285
+ | Phase 0 (Brainstorm) | ❌ | ✅ | ❌ |
3286
+ | Phase 1 (PRD) | ✅ | ✅ | ❌ |
3287
+ | Phase 2 (TDD) | ✅ | ✅ | ✅ |
3288
+ | Phase 2.1 (Task Setup) | ✅ | ✅ | ❌ |
3289
+ | Socratic Gate | 12 perguntas | 12 perguntas | 5 perguntas |
3290
+ | Documentação | PRD + TDD | PRD + TDD | TDD only |
3291
+ | Tempo estimado | Maior | Maior | Menor |
3292
+ | Recomendado para | Projetos formais | Ideias indefinidas | MVPs rápidos |