sinapse-ai 9.4.0 → 9.5.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 (266) hide show
  1. package/.claude/CLAUDE.md +10 -4
  2. package/.claude/hooks/enforce-architecture-first.py +197 -197
  3. package/.claude/hooks/enforce-git-push-authority.sh +25 -4
  4. package/.claude/hooks/mind-clone-governance.py +193 -193
  5. package/.claude/hooks/read-protection.py +152 -152
  6. package/.claude/hooks/sql-governance.py +183 -183
  7. package/.claude/hooks/verify-packages.cjs +83 -0
  8. package/.claude/hooks/write-path-validation.py +195 -195
  9. package/.claude/rules/hook-governance.md +1 -0
  10. package/.claude/rules/mandatory-delegation.md +24 -0
  11. package/.claude/rules/project-intelligence.md +63 -0
  12. package/.claude/rules/response-format.md +4 -0
  13. package/.claude/rules/safe-collaboration.md +4 -2
  14. package/.claude/rules/security-data-protection.md +18 -0
  15. package/.claude/rules/squad-awareness.md +93 -67
  16. package/.claude/rules/token-economy.md +148 -0
  17. package/.codex/agents/analyst.md +90 -0
  18. package/.codex/agents/architect.md +78 -0
  19. package/.codex/agents/data-engineer.md +38 -0
  20. package/.codex/agents/developer.md +97 -0
  21. package/.codex/agents/devops.md +121 -0
  22. package/.codex/agents/product-lead.md +27 -0
  23. package/.codex/agents/project-lead.md +28 -0
  24. package/.codex/agents/quality-gate.md +89 -0
  25. package/.codex/agents/sprint-lead.md +28 -0
  26. package/.codex/agents/squad-creator.md +58 -0
  27. package/.codex/agents/ux-design-expert.md +28 -0
  28. package/.sinapse-ai/core/code-intel/registry-syncer.js +56 -3
  29. package/.sinapse-ai/core/doctor/checks/agent-memory.js +5 -1
  30. package/.sinapse-ai/core/doctor/checks/claude-md.js +4 -1
  31. package/.sinapse-ai/core/doctor/checks/code-intel.js +5 -1
  32. package/.sinapse-ai/core/doctor/checks/commands-count.js +4 -1
  33. package/.sinapse-ai/core/doctor/checks/constitution-consistency.js +4 -1
  34. package/.sinapse-ai/core/doctor/checks/core-config.js +4 -1
  35. package/.sinapse-ai/core/doctor/checks/entity-registry.js +6 -1
  36. package/.sinapse-ai/core/doctor/checks/git-hooks.js +5 -1
  37. package/.sinapse-ai/core/doctor/checks/graph-dashboard.js +4 -1
  38. package/.sinapse-ai/core/doctor/checks/hooks-claude-count.js +5 -1
  39. package/.sinapse-ai/core/doctor/checks/ide-sync.js +4 -1
  40. package/.sinapse-ai/core/doctor/checks/node-version.js +4 -1
  41. package/.sinapse-ai/core/doctor/checks/npm-packages.js +4 -1
  42. package/.sinapse-ai/core/doctor/checks/rules-files.js +4 -1
  43. package/.sinapse-ai/core/doctor/checks/settings-json.js +4 -1
  44. package/.sinapse-ai/core/doctor/checks/skills-count.js +4 -1
  45. package/.sinapse-ai/core/doctor/index.js +157 -50
  46. package/.sinapse-ai/core/ids/registry-updater.js +6 -1
  47. package/.sinapse-ai/core/logger/index.js +319 -0
  48. package/.sinapse-ai/core/orchestration/terminal-spawner.js +2 -2
  49. package/.sinapse-ai/core/telemetry/index.js +247 -0
  50. package/.sinapse-ai/data/entity-registry.yaml +1384 -944
  51. package/.sinapse-ai/development/agents/architect.md +5 -0
  52. package/.sinapse-ai/development/agents/data-engineer.md +38 -0
  53. package/.sinapse-ai/development/agents/developer.md +28 -0
  54. package/.sinapse-ai/development/agents/devops.md +4 -0
  55. package/.sinapse-ai/development/agents/product-lead.md +27 -0
  56. package/.sinapse-ai/development/agents/project-lead.md +28 -0
  57. package/.sinapse-ai/development/agents/quality-gate.md +4 -0
  58. package/.sinapse-ai/development/agents/sprint-lead/MEMORY.md +8 -0
  59. package/.sinapse-ai/development/agents/sprint-lead.md +28 -0
  60. package/.sinapse-ai/development/agents/squad-creator.md +58 -0
  61. package/.sinapse-ai/development/agents/ux-design-expert.md +28 -0
  62. package/.sinapse-ai/development/knowledge-base/agent-communication-protocol.md +127 -0
  63. package/.sinapse-ai/development/knowledge-base/database-scaling-patterns.md +374 -0
  64. package/.sinapse-ai/development/knowledge-base/environment-deployment-patterns.md +353 -0
  65. package/.sinapse-ai/development/knowledge-base/gotchas-patterns.md +224 -0
  66. package/.sinapse-ai/development/knowledge-base/infrastructure-decision-framework.md +221 -0
  67. package/.sinapse-ai/development/knowledge-base/security-pre-deploy-checklist.md +410 -0
  68. package/.sinapse-ai/development/knowledge-base/software-architecture-patterns.md +299 -0
  69. package/.sinapse-ai/development/knowledge-base/token-economy-guide.md +198 -0
  70. package/.sinapse-ai/development/scripts/populate-entity-registry.js +5 -1
  71. package/.sinapse-ai/development/skills/captcha-handler.md +82 -0
  72. package/.sinapse-ai/development/skills/chrome-brain.md +81 -0
  73. package/.sinapse-ai/development/skills/deploy-readiness.md +93 -0
  74. package/.sinapse-ai/development/skills/model-router.md +92 -0
  75. package/.sinapse-ai/development/skills/sinapse-methodology.md +175 -0
  76. package/.sinapse-ai/development/skills/story-fast-track.md +71 -0
  77. package/.sinapse-ai/development/tasks/dev-develop-story.md +10 -0
  78. package/.sinapse-ai/development/tasks/environment-promotion-pipeline.md +582 -0
  79. package/.sinapse-ai/development/tasks/generate-agent-handoff.md +223 -0
  80. package/.sinapse-ai/development/tasks/infrastructure-assessment.md +432 -0
  81. package/.sinapse-ai/development/tasks/load-testing-setup.md +611 -0
  82. package/.sinapse-ai/development/tasks/observability-blueprint.md +562 -0
  83. package/.sinapse-ai/development/templates/legal/breach-notification-tmpl.md +113 -0
  84. package/.sinapse-ai/development/templates/legal/privacy-policy-tmpl.md +93 -0
  85. package/.sinapse-ai/development/templates/legal/terms-of-service-tmpl.md +85 -0
  86. package/.sinapse-ai/development/templates/service-template/README.md.hbs +159 -159
  87. package/.sinapse-ai/development/templates/service-template/__tests__/index.test.ts.hbs +238 -238
  88. package/.sinapse-ai/development/templates/service-template/client.ts.hbs +404 -404
  89. package/.sinapse-ai/development/templates/service-template/errors.ts.hbs +183 -183
  90. package/.sinapse-ai/development/templates/service-template/index.ts.hbs +121 -121
  91. package/.sinapse-ai/development/templates/service-template/package.json.hbs +88 -88
  92. package/.sinapse-ai/development/templates/service-template/types.ts.hbs +146 -146
  93. package/.sinapse-ai/development/templates/squad-template/LICENSE +22 -22
  94. package/.sinapse-ai/development/workflows/story-development-cycle.yaml +40 -1
  95. package/.sinapse-ai/hooks/ids-post-commit.js +22 -0
  96. package/.sinapse-ai/infrastructure/contracts/compatibility/README.md +42 -0
  97. package/.sinapse-ai/infrastructure/contracts/compatibility/sinapse-current.yaml +35 -0
  98. package/.sinapse-ai/infrastructure/scripts/llm-routing/templates/claude-free-tracked.cmd +127 -127
  99. package/.sinapse-ai/infrastructure/scripts/llm-routing/templates/deepseek-proxy.cmd +71 -71
  100. package/.sinapse-ai/infrastructure/scripts/llm-routing/templates/deepseek-usage.cmd +51 -51
  101. package/.sinapse-ai/infrastructure/scripts/pr-review-ai.js +16 -13
  102. package/.sinapse-ai/infrastructure/scripts/setup-project-infra.js +128 -0
  103. package/.sinapse-ai/infrastructure/scripts/test-discovery.js +8 -3
  104. package/.sinapse-ai/infrastructure/scripts/validate-manifest-parity.js +380 -0
  105. package/.sinapse-ai/infrastructure/scripts/validate-parity.js +76 -25
  106. package/.sinapse-ai/infrastructure/templates/coderabbit.yaml.template +280 -280
  107. package/.sinapse-ai/infrastructure/templates/config/env.example +16 -0
  108. package/.sinapse-ai/infrastructure/templates/config/gitignore-additions.tmpl +59 -0
  109. package/.sinapse-ai/infrastructure/templates/github/CODEOWNERS.template +12 -0
  110. package/.sinapse-ai/infrastructure/templates/github/PULL_REQUEST_TEMPLATE.md +29 -0
  111. package/.sinapse-ai/infrastructure/templates/github/ci-template.yml +77 -0
  112. package/.sinapse-ai/infrastructure/templates/github/issue-templates/bug_report.md +34 -0
  113. package/.sinapse-ai/infrastructure/templates/github/issue-templates/feature_request.md +19 -0
  114. package/.sinapse-ai/infrastructure/templates/github-workflows/ci.yml.template +170 -170
  115. package/.sinapse-ai/infrastructure/templates/github-workflows/pr-automation.yml.template +331 -331
  116. package/.sinapse-ai/infrastructure/templates/github-workflows/release.yml.template +197 -197
  117. package/.sinapse-ai/infrastructure/templates/gitignore/gitignore-brownfield-merge.tmpl +19 -19
  118. package/.sinapse-ai/infrastructure/templates/gitignore/gitignore-node.tmpl +86 -86
  119. package/.sinapse-ai/infrastructure/templates/gitignore/gitignore-python.tmpl +146 -146
  120. package/.sinapse-ai/infrastructure/templates/gitignore/gitignore-sinapse-base.tmpl +64 -64
  121. package/.sinapse-ai/infrastructure/templates/sinapse-sync.yaml.template +183 -183
  122. package/.sinapse-ai/install-manifest.yaml +275 -140
  123. package/.sinapse-ai/local-config.yaml.template +65 -65
  124. package/.sinapse-ai/monitor/hooks/lib/__init__.py +2 -2
  125. package/.sinapse-ai/monitor/hooks/lib/enrich.py +59 -59
  126. package/.sinapse-ai/monitor/hooks/lib/send_event.py +48 -48
  127. package/.sinapse-ai/monitor/hooks/notification.py +30 -30
  128. package/.sinapse-ai/monitor/hooks/post_tool_use.py +46 -46
  129. package/.sinapse-ai/monitor/hooks/pre_compact.py +30 -30
  130. package/.sinapse-ai/monitor/hooks/pre_tool_use.py +41 -41
  131. package/.sinapse-ai/monitor/hooks/stop.py +30 -30
  132. package/.sinapse-ai/monitor/hooks/subagent_stop.py +30 -30
  133. package/.sinapse-ai/monitor/hooks/user_prompt_submit.py +39 -39
  134. package/.sinapse-ai/product/templates/adr.hbs +126 -126
  135. package/.sinapse-ai/product/templates/dbdr.hbs +242 -242
  136. package/.sinapse-ai/product/templates/epic.hbs +213 -213
  137. package/.sinapse-ai/product/templates/pmdr.hbs +187 -187
  138. package/.sinapse-ai/product/templates/prd-v2.0.hbs +217 -217
  139. package/.sinapse-ai/product/templates/prd.hbs +202 -202
  140. package/.sinapse-ai/product/templates/story-tmpl.yaml +59 -0
  141. package/.sinapse-ai/product/templates/story.hbs +264 -264
  142. package/.sinapse-ai/product/templates/task.hbs +171 -171
  143. package/.sinapse-ai/product/templates/tmpl-comment-on-examples.sql +159 -159
  144. package/.sinapse-ai/product/templates/tmpl-migration-script.sql +92 -92
  145. package/.sinapse-ai/product/templates/tmpl-rls-granular-policies.sql +105 -105
  146. package/.sinapse-ai/product/templates/tmpl-rls-kiss-policy.sql +11 -11
  147. package/.sinapse-ai/product/templates/tmpl-rls-roles.sql +136 -136
  148. package/.sinapse-ai/product/templates/tmpl-rls-simple.sql +78 -78
  149. package/.sinapse-ai/product/templates/tmpl-rls-tenant.sql +153 -153
  150. package/.sinapse-ai/product/templates/tmpl-rollback-script.sql +78 -78
  151. package/.sinapse-ai/product/templates/tmpl-seed-data.sql +141 -141
  152. package/.sinapse-ai/product/templates/tmpl-smoke-test.sql +17 -17
  153. package/.sinapse-ai/product/templates/tmpl-staging-copy-merge.sql +140 -140
  154. package/.sinapse-ai/product/templates/tmpl-stored-proc.sql +141 -141
  155. package/.sinapse-ai/product/templates/tmpl-trigger.sql +153 -153
  156. package/.sinapse-ai/product/templates/tmpl-view-materialized.sql +134 -134
  157. package/.sinapse-ai/product/templates/tmpl-view.sql +178 -178
  158. package/.sinapse-ai/scripts/diagnostics/health-dashboard/package-lock.json +427 -355
  159. package/LICENSE +34 -34
  160. package/README.en.md +167 -20
  161. package/README.md +190 -22
  162. package/bin/cli.js +510 -196
  163. package/bin/postinstall.js +564 -0
  164. package/bin/sinapse-cli +283 -283
  165. package/bin/sinapse-graph.js +9 -0
  166. package/bin/sinapse-init.js +36 -4
  167. package/bin/sinapse-minimal.js +20 -9
  168. package/bin/sinapse.js +202 -122
  169. package/bin/utils/deprecation-warning.js +46 -0
  170. package/bin/utils/pre-push-safety.js +14 -0
  171. package/docs/TELEMETRY.md +131 -0
  172. package/docs/chrome-brain-upgrade-plan.md +624 -0
  173. package/docs/framework/orqx-plan.md +1 -1
  174. package/docs/installation/chrome-brain.md +17 -7
  175. package/docs/mega-upgrade-orchestration-plan.md +71 -0
  176. package/docs/pt/contributing.md +20 -0
  177. package/docs/research-synthesis-for-upgrade.md +511 -0
  178. package/docs/security-audit-report.md +306 -0
  179. package/package.json +20 -8
  180. package/packages/installer/src/config/configure-environment.js +19 -44
  181. package/packages/installer/src/detection/detect-project-type.js +181 -63
  182. package/packages/installer/src/installer/manifest-signature.js +32 -17
  183. package/packages/installer/src/wizard/i18n.js +12 -0
  184. package/packages/installer/src/wizard/ide-config-generator.js +8 -39
  185. package/packages/installer/src/wizard/index.js +119 -14
  186. package/packages/installer/src/wizard/questions.js +2 -3
  187. package/packages/installer/tests/integration/environment-configuration.test.js +7 -5
  188. package/packages/installer/tests/unit/detection/detect-project-type.test.js +138 -1
  189. package/packages/installer/tests/unit/doctor/doctor-orchestrator.test.js +3 -3
  190. package/packages/sinapse-install/bin/edmcp.js +0 -0
  191. package/packages/sinapse-install/bin/sinapse-install.js +0 -0
  192. package/packages/sinapse-pro-cli/bin/sinapse-pro.js +0 -0
  193. package/scripts/check-markdown-links.py +353 -353
  194. package/scripts/coverage-report-summary.js +169 -0
  195. package/scripts/generate-install-manifest.js +6 -2
  196. package/scripts/release-readiness.js +169 -0
  197. package/scripts/test-install-matrix-local.sh +153 -0
  198. package/scripts/validate-install-docs.js +394 -0
  199. package/scripts/validate-no-external-refs.js +376 -0
  200. package/scripts/validate-squad-orqx.js +302 -0
  201. package/scripts/validate-story-meta.js +263 -0
  202. package/squads/claude-code-mastery/CHANGELOG.md +1 -1
  203. package/squads/claude-code-mastery/README.md +2 -2
  204. package/squads/claude-code-mastery/squad.yaml +1 -1
  205. package/squads/squad-artdir/README.md +90 -0
  206. package/squads/squad-artdir/agents/accessibility-guardian.md +184 -0
  207. package/squads/squad-artdir/agents/artdir-orqx.md +145 -0
  208. package/squads/squad-artdir/agents/color-psychologist.md +166 -0
  209. package/squads/squad-artdir/agents/cro-persuasion.md +161 -0
  210. package/squads/squad-artdir/agents/design-system-architect.md +100 -0
  211. package/squads/squad-artdir/agents/ia-architect.md +169 -0
  212. package/squads/squad-artdir/agents/interaction-designer.md +162 -0
  213. package/squads/squad-artdir/agents/layout-engineer.md +163 -0
  214. package/squads/squad-artdir/agents/motion-architect.md +185 -0
  215. package/squads/squad-artdir/agents/platform-aesthetic-director.md +84 -0
  216. package/squads/squad-artdir/agents/premium-packaging-strategist.md +107 -0
  217. package/squads/squad-artdir/agents/product-surface-director.md +86 -0
  218. package/squads/squad-artdir/agents/type-systemist.md +138 -0
  219. package/squads/squad-artdir/agents/visual-strategist.md +127 -0
  220. package/squads/squad-artdir/checklists/seven-pillars-validation-checklist.md +172 -0
  221. package/squads/squad-artdir/knowledge-base/case-nyo-ia-reference.md +289 -0
  222. package/squads/squad-artdir/knowledge-base/deliverables-templates.md +457 -0
  223. package/squads/squad-artdir/knowledge-base/motion-technique-catalog.md +247 -0
  224. package/squads/squad-artdir/knowledge-base/premium-packaging-principles.md +133 -0
  225. package/squads/squad-artdir/knowledge-base/psychological-toolkit.md +229 -0
  226. package/squads/squad-artdir/knowledge-base/saas-art-direction-canon.md +242 -0
  227. package/squads/squad-artdir/knowledge-base/seven-pillars-framework.md +289 -0
  228. package/squads/squad-artdir/knowledge-base/ten-pillars-framework.md +221 -0
  229. package/squads/squad-artdir/package.json +20 -0
  230. package/squads/squad-artdir/squad.yaml +271 -0
  231. package/squads/squad-artdir/tasks/audit-conversion.md +97 -0
  232. package/squads/squad-artdir/tasks/audit-drift-multi-surface.md +55 -0
  233. package/squads/squad-artdir/tasks/consult-saas-canon.md +54 -0
  234. package/squads/squad-artdir/tasks/create-art-direction-brief.md +110 -0
  235. package/squads/squad-artdir/tasks/create-premium-packaging-brief.md +61 -0
  236. package/squads/squad-artdir/tasks/create-wireflow.md +84 -0
  237. package/squads/squad-artdir/tasks/design-color-system.md +81 -0
  238. package/squads/squad-artdir/tasks/design-product-surface.md +60 -0
  239. package/squads/squad-artdir/tasks/design-token-system.md +58 -0
  240. package/squads/squad-artdir/tasks/diagnose-visual-language.md +92 -0
  241. package/squads/squad-artdir/tasks/first-5-minutes-choreography.md +65 -0
  242. package/squads/squad-artdir/tasks/specify-motion-system.md +84 -0
  243. package/squads/squad-artdir/tasks/validate-against-pillars.md +143 -0
  244. package/squads/squad-artdir/templates/art-direction-brief-template.md +215 -0
  245. package/squads/squad-artdir/workflows/conversion-audit-cycle.yaml +78 -0
  246. package/squads/squad-artdir/workflows/full-art-direction-cycle.yaml +98 -0
  247. package/squads/squad-artdir/workflows/saas-platform-art-direction-cycle.yaml +174 -0
  248. package/squads/squad-brand/knowledge-base/ai-visual-generation-canon.md +234 -0
  249. package/squads/squad-brand/squad.yaml +20 -6
  250. package/squads/squad-claude/knowledge-base/context-window-optimization.md +1 -1
  251. package/squads/squad-claude/knowledge-base/swarm-orchestration-patterns.md +2 -2
  252. package/squads/squad-content/knowledge-base/ai-native-content-loop.md +220 -0
  253. package/squads/squad-content/knowledge-base/signal-intelligence-v2.md +234 -0
  254. package/squads/squad-content/knowledge-base/task-ownership-map.md +235 -0
  255. package/squads/squad-content/squad.yaml +187 -27
  256. package/squads/squad-copy/knowledge-base/ai-copy-human-loop-canon.md +235 -0
  257. package/squads/squad-copy/squad.yaml +19 -4
  258. package/squads/squad-design/knowledge-base/cross-surface-token-canon.md +209 -0
  259. package/squads/squad-design/squad.yaml +19 -4
  260. package/.sinapse-ai/core/registry/service-registry.json +0 -6346
  261. package/.sinapse-ai/data/registry-update-log.jsonl +0 -1323
  262. package/.sinapse-ai/manifests/agents.csv +0 -29
  263. package/.sinapse-ai/manifests/tasks.csv +0 -204
  264. package/.sinapse-ai/manifests/workers.csv +0 -196
  265. package/squads/squad-growth/tasks/calculate-sample-size.md +0 -121
  266. package/squads/squad-paidmedia/tasks/calculate-sample-size.md +0 -57
@@ -0,0 +1,582 @@
1
+ # environment-promotion-pipeline
2
+
3
+ **Task ID:** environment-promotion-pipeline
4
+ **Version:** 1.0.0
5
+ **Created:** 2026-04-11
6
+ **Updated:** 2026-04-11
7
+ **Agent:** @devops (Pipeline)
8
+
9
+ ---
10
+
11
+ ## Purpose
12
+
13
+ Configurar pipeline de deployment multi-ambiente (development, staging, production) com promocao controlada entre ambientes. Detecta o stack atual, cria arquivos de configuracao por ambiente, configura GitHub Actions para o fluxo build > test > deploy staging > approve > deploy prod, e implementa gates de aprovacao para producao.
14
+
15
+ **Esta task deve ser executada APOS o `environment-bootstrap` e `ci-cd-configuration`**, garantindo que o repositorio ja possui CI/CD basico.
16
+
17
+ ---
18
+
19
+ ## Execution Modes
20
+
21
+ **Choose your execution mode:**
22
+
23
+ ### 1. YOLO Mode - Fast, Autonomous (0-1 prompts)
24
+
25
+ - Configura pipeline padrao com 3 ambientes
26
+ - Assume Vercel + Supabase como stack
27
+ - **Best for:** Projetos simples, setup rapido
28
+
29
+ ### 2. Interactive Mode - Balanced, Educational (5-10 prompts) **[DEFAULT]**
30
+
31
+ - Checkpoints para escolha de provider e configuracao
32
+ - Explicacoes sobre estrategias de deployment
33
+ - **Best for:** Primeiro setup multi-ambiente, equipes aprendendo
34
+
35
+ ### 3. Pre-Flight Planning - Comprehensive Upfront Planning
36
+
37
+ - Analise completa do stack antes de configurar
38
+ - Plano de rollback documentado
39
+ - **Best for:** Ambientes enterprise, restricoes de compliance
40
+
41
+ **Parameter:** `mode` (optional, default: `interactive`)
42
+
43
+ ---
44
+
45
+ ## Task Definition (SINAPSE Task Format V1.0)
46
+
47
+ ```yaml
48
+ task: environmentPromotionPipeline()
49
+ responsavel: Gage (Operator)
50
+ responsavel_type: Agente
51
+ atomic_layer: Organism
52
+
53
+ **Entrada:**
54
+ - campo: repository_path
55
+ tipo: string
56
+ origem: User Input
57
+ obrigatorio: true
58
+ validacao: Must be valid Git repository with CI/CD configured
59
+
60
+ - campo: environments
61
+ tipo: array
62
+ origem: User Input
63
+ obrigatorio: false
64
+ validacao: List of environments (default: [development, staging, production])
65
+
66
+ - campo: hosting_provider
67
+ tipo: string
68
+ origem: Auto-detect or User Input
69
+ obrigatorio: false
70
+ validacao: vercel | netlify | aws | cloudflare-pages
71
+
72
+ - campo: database_provider
73
+ tipo: string
74
+ origem: Auto-detect or User Input
75
+ obrigatorio: false
76
+ validacao: supabase | planetscale | neon | aws-rds
77
+
78
+ **Saida:**
79
+ - campo: workflow_file
80
+ tipo: string
81
+ destino: File system (.github/workflows/deploy-pipeline.yml)
82
+ persistido: true
83
+
84
+ - campo: env_configs
85
+ tipo: array
86
+ destino: File system (.env.development, .env.staging, .env.production)
87
+ persistido: true
88
+
89
+ - campo: pipeline_url
90
+ tipo: string
91
+ destino: Return value
92
+ persistido: false
93
+ ```
94
+
95
+ ---
96
+
97
+ ## Pre-Conditions
98
+
99
+ **Purpose:** Validate prerequisites BEFORE task execution (blocking)
100
+
101
+ **Checklist:**
102
+
103
+ ```yaml
104
+ pre-conditions:
105
+ - [ ] Repository is valid Git repository with remote origin
106
+ tipo: pre-condition
107
+ blocker: true
108
+ validacao: |
109
+ Check .git directory exists and remote origin is configured
110
+ error_message: "Not a Git repository or no remote origin configured"
111
+
112
+ - [ ] CI/CD pipeline already configured (ci-cd-configuration task completed)
113
+ tipo: pre-condition
114
+ blocker: true
115
+ validacao: |
116
+ Check .github/workflows/ directory contains at least one workflow file
117
+ error_message: "CI/CD not configured. Run ci-cd-configuration task first."
118
+
119
+ - [ ] GitHub CLI authenticated
120
+ tipo: pre-condition
121
+ blocker: true
122
+ validacao: |
123
+ gh auth status returns authenticated
124
+ error_message: "GitHub CLI not authenticated. Run gh auth login."
125
+
126
+ - [ ] .gitignore includes .env files
127
+ tipo: pre-condition
128
+ blocker: true
129
+ validacao: |
130
+ .gitignore contains .env entry (NOT .env.example)
131
+ error_message: ".env files must be in .gitignore for security"
132
+ ```
133
+
134
+ ---
135
+
136
+ ## Post-Conditions
137
+
138
+ **Purpose:** Validate execution success AFTER task completes
139
+
140
+ **Checklist:**
141
+
142
+ ```yaml
143
+ post-conditions:
144
+ - [ ] Deploy pipeline workflow file created
145
+ tipo: post-condition
146
+ blocker: true
147
+ validacao: |
148
+ .github/workflows/deploy-pipeline.yml exists and is valid YAML
149
+ error_message: "Deploy pipeline workflow not created"
150
+
151
+ - [ ] Environment config files created
152
+ tipo: post-condition
153
+ blocker: true
154
+ validacao: |
155
+ .env.example exists with placeholder values for all environments
156
+ error_message: "Environment config template not created"
157
+
158
+ - [ ] Production deployment requires manual approval
159
+ tipo: post-condition
160
+ blocker: true
161
+ validacao: |
162
+ Workflow includes environment protection rule for production
163
+ error_message: "Production gate not configured — security risk"
164
+ ```
165
+
166
+ ---
167
+
168
+ ## Acceptance Criteria
169
+
170
+ **Purpose:** Definitive pass/fail criteria for task completion
171
+
172
+ **Checklist:**
173
+
174
+ ```yaml
175
+ acceptance-criteria:
176
+ - [ ] Pipeline deploys to staging automatically on merge to main
177
+ tipo: acceptance-criterion
178
+ blocker: true
179
+ validacao: |
180
+ Workflow triggers on push to main with staging deployment step
181
+ error_message: "Auto-deploy to staging not configured"
182
+
183
+ - [ ] Production deployment requires explicit approval
184
+ tipo: acceptance-criterion
185
+ blocker: true
186
+ validacao: |
187
+ GitHub environment protection rules active for production
188
+ error_message: "Production approval gate missing"
189
+
190
+ - [ ] Each environment has isolated configuration
191
+ tipo: acceptance-criterion
192
+ blocker: true
193
+ validacao: |
194
+ Environment variables are distinct per environment
195
+ error_message: "Environment isolation not properly configured"
196
+ ```
197
+
198
+ ---
199
+
200
+ ## Elicitation
201
+
202
+ ```yaml
203
+ elicit: true
204
+ interaction_points:
205
+ - hosting_provider: 'Qual provider de hosting? (vercel / netlify / aws / cloudflare-pages)'
206
+ - database_provider: 'Qual provider de database? (supabase / planetscale / neon / aws-rds)'
207
+ - environments: 'Quais ambientes configurar? (default: development, staging, production)'
208
+ - approval_team: 'Quem pode aprovar deploys em producao? (GitHub usernames)'
209
+ - auto_deploy_staging: 'Deploy automatico em staging ao merge em main? (Y/n)'
210
+ ```
211
+
212
+ ---
213
+
214
+ ## Process
215
+
216
+ ### Step 1: Detectar Stack Atual
217
+
218
+ **Action:** Identificar providers de hosting e database em uso
219
+
220
+ ```bash
221
+ # Detectar Vercel
222
+ test -f vercel.json && echo "Vercel detected"
223
+ test -f .vercel/project.json && echo "Vercel project linked"
224
+
225
+ # Detectar Supabase
226
+ test -f supabase/config.toml && echo "Supabase detected"
227
+
228
+ # Detectar package.json scripts
229
+ grep -q "vercel" package.json 2>/dev/null && echo "Vercel in dependencies"
230
+ grep -q "supabase" package.json 2>/dev/null && echo "Supabase in dependencies"
231
+
232
+ # Detectar AWS
233
+ test -f serverless.yml && echo "Serverless Framework detected"
234
+ test -d .aws && echo "AWS config detected"
235
+ ```
236
+
237
+ ```yaml
238
+ elicit: true
239
+ prompt: |
240
+ Detectei o seguinte stack:
241
+ - Hosting: {detected_hosting}
242
+ - Database: {detected_database}
243
+ Confirma? Posso ajustar se necessario.
244
+ ```
245
+
246
+ **Output:** Stack confirmado
247
+
248
+ ---
249
+
250
+ ### Step 2: Criar Arquivos de Configuracao de Ambiente
251
+
252
+ **Action:** Gerar templates de configuracao por ambiente
253
+
254
+ Criar `.env.example` com variaveis por ambiente:
255
+
256
+ ```bash
257
+ # ==============================================
258
+ # Environment Configuration Template
259
+ # ==============================================
260
+ # Copy this file and rename for each environment:
261
+ # .env.development (local dev)
262
+ # .env.staging (staging/preview)
263
+ # .env.production (production)
264
+ # ==============================================
265
+
266
+ # App
267
+ NEXT_PUBLIC_APP_URL=http://localhost:3000
268
+ NEXT_PUBLIC_APP_ENV=development
269
+
270
+ # Database (Supabase)
271
+ NEXT_PUBLIC_SUPABASE_URL=https://xxx.supabase.co
272
+ NEXT_PUBLIC_SUPABASE_ANON_KEY=eyJ...
273
+ SUPABASE_SERVICE_ROLE_KEY=eyJ...
274
+
275
+ # Auth
276
+ NEXT_PUBLIC_AUTH_REDIRECT_URL=http://localhost:3000/auth/callback
277
+
278
+ # External Services
279
+ # STRIPE_SECRET_KEY=sk_test_...
280
+ # RESEND_API_KEY=re_...
281
+ ```
282
+
283
+ **SECURITY:** Nunca commitar `.env.*` files. Apenas `.env.example` com placeholders.
284
+
285
+ **Output:** `.env.example` criado e commitado
286
+
287
+ ---
288
+
289
+ ### Step 3: Configurar Variaveis no Provider
290
+
291
+ **Action:** Configurar environment variables no dashboard do provider
292
+
293
+ **Para Vercel:**
294
+
295
+ ```bash
296
+ # Listar environments existentes
297
+ vercel env ls
298
+
299
+ # Adicionar variavel por ambiente
300
+ vercel env add NEXT_PUBLIC_APP_ENV development
301
+ vercel env add NEXT_PUBLIC_APP_ENV preview # staging
302
+ vercel env add NEXT_PUBLIC_APP_ENV production
303
+ ```
304
+
305
+ ```yaml
306
+ elicit: true
307
+ prompt: |
308
+ Para configurar as variaveis de ambiente no Vercel, voce pode:
309
+ 1. Usar o CLI (vercel env add)
310
+ 2. Configurar no dashboard (Settings > Environment Variables)
311
+ Qual prefere?
312
+ ```
313
+
314
+ **Output:** Variaveis configuradas no provider
315
+
316
+ ---
317
+
318
+ ### Step 4: Configurar Ambientes de Database
319
+
320
+ **Action:** Configurar database por ambiente
321
+
322
+ **Para Supabase:**
323
+
324
+ | Ambiente | Estrategia | Custo |
325
+ |----------|-----------|-------|
326
+ | Development | Projeto local (supabase start) | $0 |
327
+ | Staging | Supabase Branching ou projeto separado | $0-25 |
328
+ | Production | Projeto principal | $25+ |
329
+
330
+ ```yaml
331
+ elicit: true
332
+ prompt: |
333
+ Para o database em staging, recomendo:
334
+ - Supabase Branching (se disponivel no plano Pro)
335
+ - Projeto separado no Supabase (mais isolamento)
336
+ Qual prefere?
337
+ ```
338
+
339
+ **Output:** Database configurado por ambiente
340
+
341
+ ---
342
+
343
+ ### Step 5: Criar GitHub Actions Workflow
344
+
345
+ **Action:** Gerar workflow de deployment com promocao
346
+
347
+ Criar `.github/workflows/deploy-pipeline.yml`:
348
+
349
+ ```yaml
350
+ name: Deploy Pipeline
351
+
352
+ on:
353
+ push:
354
+ branches: [main]
355
+ workflow_dispatch:
356
+ inputs:
357
+ environment:
358
+ description: 'Target environment'
359
+ required: true
360
+ default: 'staging'
361
+ type: choice
362
+ options:
363
+ - staging
364
+ - production
365
+
366
+ jobs:
367
+ build-and-test:
368
+ runs-on: ubuntu-latest
369
+ steps:
370
+ - uses: actions/checkout@v4
371
+ - uses: actions/setup-node@v4
372
+ with:
373
+ node-version: '20'
374
+ cache: 'npm'
375
+ - run: npm ci
376
+ - run: npm run lint
377
+ - run: npm test
378
+ - run: npm run build
379
+
380
+ deploy-staging:
381
+ needs: build-and-test
382
+ runs-on: ubuntu-latest
383
+ environment: staging
384
+ if: github.ref == 'refs/heads/main'
385
+ steps:
386
+ - uses: actions/checkout@v4
387
+ - name: Deploy to Staging
388
+ run: echo "Deploy to staging environment"
389
+ # Provider-specific deployment steps here
390
+
391
+ deploy-production:
392
+ needs: deploy-staging
393
+ runs-on: ubuntu-latest
394
+ environment: production # Requires manual approval
395
+ if: github.ref == 'refs/heads/main'
396
+ steps:
397
+ - uses: actions/checkout@v4
398
+ - name: Deploy to Production
399
+ run: echo "Deploy to production environment"
400
+ # Provider-specific deployment steps here
401
+ ```
402
+
403
+ **Output:** Workflow file criado
404
+
405
+ ---
406
+
407
+ ### Step 6: Configurar Branch-to-Environment Mapping
408
+
409
+ **Action:** Mapear branches para ambientes
410
+
411
+ | Branch | Ambiente | Deploy |
412
+ |--------|----------|--------|
413
+ | `main` | staging | Automatico |
414
+ | `main` (approved) | production | Manual approval |
415
+ | `feat/*`, `fix/*` | preview | Automatico (Vercel preview) |
416
+ | `release/*` | staging | Automatico |
417
+
418
+ **Para Vercel**, configurar no `vercel.json`:
419
+
420
+ ```json
421
+ {
422
+ "git": {
423
+ "deploymentEnabled": {
424
+ "main": true,
425
+ "feat/*": true,
426
+ "fix/*": true
427
+ }
428
+ }
429
+ }
430
+ ```
431
+
432
+ **Output:** Mapping documentado e configurado
433
+
434
+ ---
435
+
436
+ ### Step 7: Configurar Deployment Gates
437
+
438
+ **Action:** Implementar gates de aprovacao para producao
439
+
440
+ ```bash
441
+ # Criar environment protection rules no GitHub
442
+ gh api repos/{owner}/{repo}/environments/production -X PUT \
443
+ -f wait_timer=0 \
444
+ -f reviewers='[{"type":"User","id":USER_ID}]' \
445
+ -f deployment_branch_policy='{"protected_branches":true}'
446
+ ```
447
+
448
+ ```yaml
449
+ elicit: true
450
+ prompt: |
451
+ Quem deve aprovar deploys em producao?
452
+ Informe os usernames do GitHub (separados por virgula).
453
+ ```
454
+
455
+ **Output:** Protection rules configuradas
456
+
457
+ ---
458
+
459
+ ### Step 8: Testar Pipeline End-to-End
460
+
461
+ **Action:** Validar o pipeline completo
462
+
463
+ ```bash
464
+ # 1. Criar branch de teste
465
+ git checkout -b test/deploy-pipeline
466
+
467
+ # 2. Fazer mudanca trivial
468
+ echo "# Deploy Pipeline Test" >> DEPLOY_TEST.md
469
+
470
+ # 3. Commit e push
471
+ git add DEPLOY_TEST.md
472
+ git commit -m "test: validate deploy pipeline"
473
+ git push origin test/deploy-pipeline
474
+
475
+ # 4. Criar PR para main
476
+ gh pr create --title "test: validate deploy pipeline" --body "Testing deploy pipeline"
477
+
478
+ # 5. Merge e verificar
479
+ # - Staging deploy automatico
480
+ # - Production aguardando aprovacao
481
+
482
+ # 6. Cleanup
483
+ git checkout main
484
+ git branch -d test/deploy-pipeline
485
+ rm DEPLOY_TEST.md
486
+ ```
487
+
488
+ **Output:** Pipeline validado end-to-end
489
+
490
+ ---
491
+
492
+ ## Tools
493
+
494
+ **External/shared resources used by this task:**
495
+
496
+ - **Tool:** github-cli
497
+ - **Purpose:** Configurar environments e protection rules
498
+ - **Source:** GitHub CLI (gh)
499
+
500
+ - **Tool:** vercel-cli
501
+ - **Purpose:** Configurar environment variables no Vercel
502
+ - **Source:** Vercel CLI (vercel)
503
+
504
+ - **Tool:** supabase-cli
505
+ - **Purpose:** Configurar database environments
506
+ - **Source:** Supabase CLI (supabase)
507
+
508
+ ---
509
+
510
+ ## Error Handling
511
+
512
+ **Strategy:** retry-with-fallback
513
+
514
+ **Common Errors:**
515
+
516
+ 1. **Error:** Provider CLI Not Installed
517
+ - **Cause:** Vercel CLI, Supabase CLI, ou outro nao disponivel
518
+ - **Resolution:** Instalar via npm ou guiar usuario ao dashboard
519
+ - **Recovery:** Configurar via dashboard web como fallback
520
+
521
+ 2. **Error:** Environment Protection Not Available
522
+ - **Cause:** Repositorio em plano GitHub Free (publico funciona, privado nao)
523
+ - **Resolution:** Verificar se repo e publico ou upgrade para GitHub Pro
524
+ - **Recovery:** Usar workflow_dispatch com input manual como alternativa
525
+
526
+ 3. **Error:** Supabase Branching Not Available
527
+ - **Cause:** Projeto nao esta no plano Pro ou branching nao habilitado
528
+ - **Resolution:** Criar projeto separado para staging
529
+ - **Recovery:** Usar mesmo projeto com schema separado (menos ideal)
530
+
531
+ ---
532
+
533
+ ## Performance
534
+
535
+ **Expected Metrics:**
536
+
537
+ ```yaml
538
+ duration_expected: 20-40 min (depending on provider setup)
539
+ cost_estimated: $0.00 (configuration only)
540
+ token_usage: ~3,000-8,000 tokens
541
+ ```
542
+
543
+ **Optimization Notes:**
544
+
545
+ - Detectar stack automaticamente para reduzir perguntas
546
+ - Reutilizar workflows existentes quando possivel
547
+ - Templates pre-configurados por provider
548
+
549
+ ---
550
+
551
+ ## Metadata
552
+
553
+ ```yaml
554
+ story: N/A (Framework task)
555
+ version: 1.0.0
556
+ dependencies:
557
+ - environment-bootstrap (must be completed first)
558
+ - ci-cd-configuration (must be completed first)
559
+ tags:
560
+ - deployment
561
+ - pipeline
562
+ - environments
563
+ - staging
564
+ - production
565
+ - devops
566
+ updated_at: 2026-04-11
567
+ changelog:
568
+ 1.0.0:
569
+ - Initial task creation
570
+ - Support for Vercel + Supabase stack
571
+ - GitHub Actions promotion pipeline
572
+ - Manual approval gates for production
573
+ ```
574
+
575
+ ---
576
+
577
+ **Related Tasks:**
578
+
579
+ - `environment-bootstrap` - Setup inicial do ambiente
580
+ - `ci-cd-configuration` - Configuracao de CI/CD basico
581
+ - `infrastructure-assessment` - Assessment do tier de infraestrutura
582
+ - `release-management` - Gestao de releases apos pipeline configurado