@onion-architect-ai/cli 4.1.0-beta.1 → 4.1.0-beta.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (207) hide show
  1. package/dist/cli.js +8 -19
  2. package/dist/cli.js.map +1 -1
  3. package/package.json +4 -3
  4. package/templates/.cursor/agents/compliance/iso-22301-specialist.md +917 -0
  5. package/templates/.cursor/agents/compliance/iso-27001-specialist.md +641 -0
  6. package/templates/.cursor/agents/compliance/pmbok-specialist.md +669 -0
  7. package/templates/.cursor/agents/compliance/security-information-master.md +824 -0
  8. package/templates/.cursor/agents/compliance/soc2-specialist.md +818 -0
  9. package/templates/.cursor/agents/deployment/docker-specialist.md +1192 -0
  10. package/templates/.cursor/agents/meta/agent-creator-specialist.md +1135 -0
  11. package/templates/.cursor/agents/meta/command-creator-specialist.md +1519 -0
  12. package/templates/.cursor/agents/meta/metaspec-gate-keeper.md +240 -0
  13. package/templates/.cursor/agents/meta/onion.md +753 -0
  14. package/templates/.cursor/agents/research/research-agent.md +292 -0
  15. package/templates/.cursor/agents/review/corporate-compliance-specialist.md +370 -0
  16. package/templates/.cursor/commands/common/prompts/README.md +187 -0
  17. package/templates/.cursor/commands/common/prompts/clickup-patterns.md +144 -0
  18. package/templates/.cursor/commands/common/prompts/code-review-checklist.md +168 -0
  19. package/templates/.cursor/commands/common/prompts/git-workflow-patterns.md +235 -0
  20. package/templates/.cursor/commands/common/prompts/output-formats.md +240 -0
  21. package/templates/.cursor/commands/common/prompts/technical.md +172 -0
  22. package/templates/.cursor/commands/common/prompts/validation-rules.md +173 -0
  23. package/templates/.cursor/commands/common/templates/abstraction-template.md +400 -0
  24. package/templates/.cursor/commands/common/templates/agent-template.md +353 -0
  25. package/templates/.cursor/commands/common/templates/business_context_template.md +748 -0
  26. package/templates/.cursor/commands/common/templates/command-template.md +273 -0
  27. package/templates/.cursor/commands/common/templates/technical_context_template.md +526 -0
  28. package/templates/.cursor/commands/development/runflow-dev.md +465 -0
  29. package/templates/.cursor/commands/docs/build-compliance-docs.md +143 -0
  30. package/templates/.cursor/commands/git/README.md +606 -0
  31. package/templates/.cursor/commands/meta/all-tools.md +50 -0
  32. package/templates/.cursor/commands/meta/analyze-complex-problem.md +186 -0
  33. package/templates/.cursor/commands/meta/create-abstraction.md +859 -0
  34. package/templates/.cursor/commands/meta/create-agent-express.md +83 -0
  35. package/templates/.cursor/commands/meta/create-agent.md +210 -0
  36. package/templates/.cursor/commands/meta/create-command.md +203 -0
  37. package/templates/.cursor/commands/meta/create-knowledge-base.md +143 -0
  38. package/templates/.cursor/commands/meta/create-task-structure.md +150 -0
  39. package/templates/.cursor/commands/meta/setup-integration.md +257 -0
  40. package/templates/.cursor/commands/onion/setup.md +843 -0
  41. package/templates/.cursor/commands/onion.md +168 -0
  42. package/templates/.cursor/commands/product/README.md +230 -0
  43. package/templates/.cursor/commands/quick/analisys.md +17 -0
  44. package/templates/.cursor/commands/validate/collab/pair-testing.md +633 -0
  45. package/templates/.cursor/commands/validate/collab/three-amigos.md +505 -0
  46. package/templates/.cursor/commands/validate/qa-points/estimate.md +660 -0
  47. package/templates/.cursor/commands/validate/test-strategy/analyze.md +1134 -0
  48. package/templates/.cursor/commands/validate/test-strategy/create.md +392 -0
  49. package/templates/.cursor/commands/validate/workflow.md +360 -0
  50. package/templates/.cursor/commands/warm-up.md +91 -0
  51. package/templates/.cursor/docs/architecture/acoplamento-clickup-problema-analise.md +446 -0
  52. package/templates/.cursor/docs/architecture/desacoplamento-roadmap.md +360 -0
  53. package/templates/.cursor/docs/architecture/validacao-fase-1.md +219 -0
  54. package/templates/.cursor/docs/c4/c4-detection-rules.md +395 -0
  55. package/templates/.cursor/docs/c4/c4-documentation-templates.md +579 -0
  56. package/templates/.cursor/docs/c4/c4-mermaid-patterns.md +331 -0
  57. package/templates/.cursor/docs/c4/c4-templates.md +256 -0
  58. package/templates/.cursor/docs/clickup/clickup-acceptance-criteria-strategy.md +329 -0
  59. package/templates/.cursor/docs/clickup/clickup-auto-update-strategy.md +318 -0
  60. package/templates/.cursor/docs/clickup/clickup-comment-formatter.md +239 -0
  61. package/templates/.cursor/docs/clickup/clickup-description-fix.md +355 -0
  62. package/templates/.cursor/docs/clickup/clickup-dual-comment-strategy.md +505 -0
  63. package/templates/.cursor/docs/clickup/clickup-formatting.md +302 -0
  64. package/templates/.cursor/docs/clickup/separador-tamanho-otimizado.md +256 -0
  65. package/templates/.cursor/docs/engineer/pre-pr-acceptance-validation.md +256 -0
  66. package/templates/.cursor/docs/onion/ESPERANTO.md +278 -0
  67. package/templates/.cursor/docs/onion/agents-reference.md +832 -0
  68. package/templates/.cursor/docs/onion/clickup-integration.md +738 -0
  69. package/templates/.cursor/docs/onion/commands-guide.md +807 -0
  70. package/templates/.cursor/docs/onion/engineering-flows.md +865 -0
  71. package/templates/.cursor/docs/onion/getting-started.md +741 -0
  72. package/templates/.cursor/docs/onion/maintenance-checklist.md +388 -0
  73. package/templates/.cursor/docs/onion/naming-conventions.md +268 -0
  74. package/templates/.cursor/docs/onion/practical-examples.md +782 -0
  75. package/templates/.cursor/docs/product/story-points-integration.md +254 -0
  76. package/templates/.cursor/docs/product/story-points-validation.md +224 -0
  77. package/templates/.cursor/docs/reviews/task-manager-docs-review-2025-11-24.md +167 -0
  78. package/templates/.cursor/docs/strategies/clickup-comment-patterns.md +766 -0
  79. package/templates/.cursor/docs/strategies/clickup-integration-tests.md +599 -0
  80. package/templates/.cursor/docs/strategies/clickup-mcp-wrappers-tests.md +854 -0
  81. package/templates/.cursor/docs/strategies/clickup-regression-tests.md +589 -0
  82. package/templates/.cursor/docs/strategies/visual-patterns.md +308 -0
  83. package/templates/.cursor/docs/templates/README.md +624 -0
  84. package/templates/.cursor/docs/templates/adr-template.md +226 -0
  85. package/templates/.cursor/docs/templates/analysis-template.md +280 -0
  86. package/templates/.cursor/docs/templates/execution-plan-template.md +430 -0
  87. package/templates/.cursor/docs/templates/guide-template.md +367 -0
  88. package/templates/.cursor/docs/templates/phase-execution-prompt-template.md +504 -0
  89. package/templates/.cursor/docs/templates/reference-template.md +522 -0
  90. package/templates/.cursor/docs/templates/solution-template.md +390 -0
  91. package/templates/.cursor/docs/tools/README.md +325 -0
  92. package/templates/.cursor/docs/tools/agents.md +330 -0
  93. package/templates/.cursor/docs/tools/commands.md +606 -0
  94. package/templates/.cursor/docs/tools/cursor.md +498 -0
  95. package/templates/.cursor/docs/tools/mcps.md +858 -0
  96. package/templates/.cursor/docs/tools/rules.md +423 -0
  97. package/templates/.cursor/rules/language-and-documentation.mdc +371 -0
  98. package/templates/.cursor/rules/onion-patterns.mdc +197 -0
  99. package/templates/.cursor/rules/validation-rules.mdc +194 -0
  100. package/templates/.cursor/utils/clickup-mcp-wrappers.md +671 -0
  101. package/templates/.cursor/utils/date-time-standards.md +182 -0
  102. package/templates/.cursor/utils/task-manager/README.md +94 -0
  103. package/templates/.cursor/utils/task-manager/adapters/asana.md +377 -0
  104. package/templates/.cursor/utils/task-manager/adapters/clickup.md +467 -0
  105. package/templates/.cursor/utils/task-manager/adapters/linear.md +421 -0
  106. package/templates/.cursor/utils/task-manager/detector.md +290 -0
  107. package/templates/.cursor/utils/task-manager/factory.md +363 -0
  108. package/templates/.cursor/utils/task-manager/interface.md +248 -0
  109. package/templates/.cursor/utils/task-manager/types.md +409 -0
  110. package/templates/.cursor/validation/product-task-validation.md +344 -0
  111. package/templates/.onion/contexts/business/.context-config.yml +52 -0
  112. package/templates/.onion/contexts/business/README.md +222 -0
  113. package/templates/.onion/contexts/business/agents/branding-specialist.md +1030 -0
  114. package/templates/.onion/contexts/business/agents/clickup-specialist.md +397 -0
  115. package/templates/.onion/contexts/business/agents/extract-meeting-specialist.md +395 -0
  116. package/templates/.onion/contexts/business/agents/gamma-specialist.md +1169 -0
  117. package/templates/.onion/contexts/business/agents/meeting-consolidator.md +483 -0
  118. package/templates/.onion/contexts/business/agents/pain-price-specialist.md +509 -0
  119. package/templates/.onion/contexts/business/agents/presentation-orchestrator.md +1191 -0
  120. package/templates/.onion/contexts/business/agents/product-agent.md +202 -0
  121. package/templates/.onion/contexts/business/agents/story-points-specialist.md +539 -0
  122. package/templates/.onion/contexts/business/agents/storytelling-specialist.md +891 -0
  123. package/templates/.onion/contexts/business/agents/task-specialist.md +618 -0
  124. package/templates/.onion/contexts/business/agents/whisper-specialist.md +373 -0
  125. package/templates/.onion/contexts/business/commands/advanced/analyze-pain-price.md +709 -0
  126. package/templates/.onion/contexts/business/commands/advanced/branding.md +460 -0
  127. package/templates/.onion/contexts/business/commands/advanced/checklist-sync.md +241 -0
  128. package/templates/.onion/contexts/business/commands/advanced/presentation.md +189 -0
  129. package/templates/.onion/contexts/business/commands/advanced/transform-consolidated.md +592 -0
  130. package/templates/.onion/contexts/business/commands/help.md +212 -0
  131. package/templates/.onion/contexts/business/commands/intermediate/check.md +48 -0
  132. package/templates/.onion/contexts/business/commands/intermediate/collect.md +96 -0
  133. package/templates/.onion/contexts/business/commands/intermediate/consolidate-meetings.md +306 -0
  134. package/templates/.onion/contexts/business/commands/intermediate/convert-to-tasks.md +220 -0
  135. package/templates/.onion/contexts/business/commands/intermediate/extract-meeting.md +241 -0
  136. package/templates/.onion/contexts/business/commands/intermediate/feature.md +431 -0
  137. package/templates/.onion/contexts/business/commands/intermediate/light-arch.md +97 -0
  138. package/templates/.onion/contexts/business/commands/intermediate/task-check.md +340 -0
  139. package/templates/.onion/contexts/business/commands/intermediate/validate-task.md +294 -0
  140. package/templates/.onion/contexts/business/commands/intermediate/whisper.md +325 -0
  141. package/templates/.onion/contexts/business/commands/starter/estimate.md +519 -0
  142. package/templates/.onion/contexts/business/commands/starter/refine.md +186 -0
  143. package/templates/.onion/contexts/business/commands/starter/spec.md +107 -0
  144. package/templates/.onion/contexts/business/commands/starter/task.md +585 -0
  145. package/templates/.onion/contexts/business/commands/starter/warm-up.md +187 -0
  146. package/templates/.onion/contexts/technical/.context-config.yml +64 -0
  147. package/templates/.onion/contexts/technical/README.md +238 -0
  148. package/templates/.onion/contexts/technical/agents/branch-code-reviewer.md +200 -0
  149. package/templates/.onion/contexts/technical/agents/branch-doc-writer.md +162 -0
  150. package/templates/.onion/contexts/technical/agents/branch-metaspec-checker.md +68 -0
  151. package/templates/.onion/contexts/technical/agents/branch-test-planner.md +177 -0
  152. package/templates/.onion/contexts/technical/agents/c4-architecture-specialist.md +712 -0
  153. package/templates/.onion/contexts/technical/agents/c4-documentation-specialist.md +658 -0
  154. package/templates/.onion/contexts/technical/agents/code-reviewer.md +155 -0
  155. package/templates/.onion/contexts/technical/agents/cursor-specialist.md +249 -0
  156. package/templates/.onion/contexts/technical/agents/docs-reverse-engineer.md +418 -0
  157. package/templates/.onion/contexts/technical/agents/gitflow-specialist.md +1207 -0
  158. package/templates/.onion/contexts/technical/agents/linux-security-specialist.md +676 -0
  159. package/templates/.onion/contexts/technical/agents/mermaid-specialist.md +516 -0
  160. package/templates/.onion/contexts/technical/agents/nodejs-specialist.md +673 -0
  161. package/templates/.onion/contexts/technical/agents/nx-migration-specialist.md +867 -0
  162. package/templates/.onion/contexts/technical/agents/nx-monorepo-specialist.md +619 -0
  163. package/templates/.onion/contexts/technical/agents/postgres-specialist.md +1124 -0
  164. package/templates/.onion/contexts/technical/agents/react-developer.md +132 -0
  165. package/templates/.onion/contexts/technical/agents/runflow-specialist.md +278 -0
  166. package/templates/.onion/contexts/technical/agents/system-doc-orchestrator.md +1388 -0
  167. package/templates/.onion/contexts/technical/agents/test-agent.md +425 -0
  168. package/templates/.onion/contexts/technical/agents/test-engineer.md +295 -0
  169. package/templates/.onion/contexts/technical/agents/test-planner.md +118 -0
  170. package/templates/.onion/contexts/technical/agents/zen-engine-specialist.md +421 -0
  171. package/templates/.onion/contexts/technical/commands/advanced/bump.md +43 -0
  172. package/templates/.onion/contexts/technical/commands/advanced/consolidate-documents.md +424 -0
  173. package/templates/.onion/contexts/technical/commands/advanced/e2e.md +392 -0
  174. package/templates/.onion/contexts/technical/commands/advanced/feature-finish.md +90 -0
  175. package/templates/.onion/contexts/technical/commands/advanced/feature-publish.md +91 -0
  176. package/templates/.onion/contexts/technical/commands/advanced/feature-start.md +158 -0
  177. package/templates/.onion/contexts/technical/commands/advanced/hotfix-finish.md +98 -0
  178. package/templates/.onion/contexts/technical/commands/advanced/hotfix-start.md +94 -0
  179. package/templates/.onion/contexts/technical/commands/advanced/hotfix.md +186 -0
  180. package/templates/.onion/contexts/technical/commands/advanced/refine-vision.md +27 -0
  181. package/templates/.onion/contexts/technical/commands/advanced/release-finish.md +98 -0
  182. package/templates/.onion/contexts/technical/commands/advanced/release-start.md +95 -0
  183. package/templates/.onion/contexts/technical/commands/advanced/reverse-consolidate.md +160 -0
  184. package/templates/.onion/contexts/technical/commands/advanced/validate-phase-sync.md +118 -0
  185. package/templates/.onion/contexts/technical/commands/help.md +329 -0
  186. package/templates/.onion/contexts/technical/commands/intermediate/build-business-docs.md +276 -0
  187. package/templates/.onion/contexts/technical/commands/intermediate/build-index.md +128 -0
  188. package/templates/.onion/contexts/technical/commands/intermediate/build-tech-docs.md +204 -0
  189. package/templates/.onion/contexts/technical/commands/intermediate/code-review.md +215 -0
  190. package/templates/.onion/contexts/technical/commands/intermediate/docs-health.md +142 -0
  191. package/templates/.onion/contexts/technical/commands/intermediate/fast-commit.md +45 -0
  192. package/templates/.onion/contexts/technical/commands/intermediate/integration.md +523 -0
  193. package/templates/.onion/contexts/technical/commands/intermediate/pr-update.md +198 -0
  194. package/templates/.onion/contexts/technical/commands/intermediate/pre-pr.md +91 -0
  195. package/templates/.onion/contexts/technical/commands/intermediate/start.md +266 -0
  196. package/templates/.onion/contexts/technical/commands/intermediate/sync-sessions.md +320 -0
  197. package/templates/.onion/contexts/technical/commands/intermediate/unit.md +378 -0
  198. package/templates/.onion/contexts/technical/commands/intermediate/validate-docs.md +159 -0
  199. package/templates/.onion/contexts/technical/commands/starter/docs.md +39 -0
  200. package/templates/.onion/contexts/technical/commands/starter/help.md +306 -0
  201. package/templates/.onion/contexts/technical/commands/starter/init.md +139 -0
  202. package/templates/.onion/contexts/technical/commands/starter/plan.md +111 -0
  203. package/templates/.onion/contexts/technical/commands/starter/pr.md +136 -0
  204. package/templates/.onion/contexts/technical/commands/starter/sync.md +228 -0
  205. package/templates/.onion/contexts/technical/commands/starter/warm-up.md +173 -0
  206. package/templates/.onion/contexts/technical/commands/starter/work.md +169 -0
  207. package/templates/.onion/core/commands/help.md +388 -0
@@ -0,0 +1,329 @@
1
+ # 📋 Estratégia de Critérios de Aceitação com Checkboxes Interativos
2
+
3
+ ## 🎯 Objetivo
4
+
5
+ Usar **checkboxes markdown interativos** nativos do ClickUp para rastreamento visual de critérios de aceitação durante desenvolvimento.
6
+
7
+ ---
8
+
9
+ ## ✅ Como Funciona
10
+
11
+ ### O ClickUp Renderiza Checkboxes Markdown
12
+
13
+ O ClickUp renderiza automaticamente checkboxes markdown em descriptions:
14
+
15
+ ```markdown
16
+ - [ ] Critério não marcado
17
+ - [x] Critério marcado
18
+ ```
19
+
20
+ **Resultado no ClickUp:**
21
+ - ☑️ Checkboxes **completamente interativos**
22
+ - ✅ Podem ser **marcados/desmarcados** dinamicamente
23
+ - 📊 **Rastreamento visual** de progresso
24
+ - 🎯 **Não requer API** especial, tudo via markdown
25
+
26
+ ---
27
+
28
+ ## 📝 Template de Critérios de Aceitação
29
+
30
+ ### Para DESCRIPTIONS (Markdown com Checkboxes):
31
+
32
+ ```markdown
33
+ ## 🎯 Objetivo da Task
34
+
35
+ [DESCRIÇÃO_DETALHADA]
36
+
37
+ ---
38
+
39
+ ## 📋 Escopo de Implementação
40
+
41
+ ### ✅ Funcionalidades:
42
+ - [x] Feature A - Implementada
43
+ - [ ] Feature B - Em progresso
44
+ - [ ] Feature C - Pendente
45
+
46
+ ### 🔧 Arquitetura Técnica:
47
+ - [x] Componente X modificado
48
+ - [ ] Integration Y implementada
49
+
50
+ ### 📊 Métricas Esperadas:
51
+
52
+ | Metric | Before | After | Target |
53
+ |--------|--------|-------|--------|
54
+ | Performance | N/A | [VALOR] | ✅ |
55
+ | Coverage | N/A | [VALOR] | ✅ |
56
+
57
+ ---
58
+
59
+ ## ✅ Critérios de Aceitação
60
+
61
+ - [ ] Funcionalidade A implementada
62
+ - [ ] Testes passando com cobertura > 95%
63
+ - [ ] Documentation atualizada
64
+ - [ ] Performance dentro do target
65
+ - [ ] Code review aprovado
66
+
67
+ ---
68
+
69
+ **🎯 Success Metric**: Todos os critérios marcados = Task completa
70
+ **🕒 Timeline**: [PRAZO_ESTIMADO]
71
+ ```
72
+
73
+ ---
74
+
75
+ ## 🔄 Fluxo de Atualização Durante Desenvolvimento
76
+
77
+ ### Quando Usar `/engineer/work`:
78
+
79
+ ```
80
+ Fase 1: Backend Implementation
81
+ ├── ✅ COMPLETA
82
+ └── Marcar critérios relacionados como [x]
83
+
84
+ Fase 2: Frontend Integration
85
+ ├── 🔄 EM PROGRESSO
86
+ └── Atualizar checkboxes conforme progresso
87
+
88
+ Fase 3: Testing & QA
89
+ ├── ⏳ PENDENTE
90
+ └── Manter como [ ] até início
91
+ ```
92
+
93
+ ### Atualização Automática de Checkboxes:
94
+
95
+ **Quando uma fase é completada:**
96
+
97
+ 1. **Identificar critérios relacionados** àquela fase
98
+ 2. **Atualizar description** marcando checkboxes `[x]`
99
+ 3. **Adicionar comentário** com progresso
100
+ 4. **Manter sincronizado** conforme desenvolvimento
101
+
102
+ ---
103
+
104
+ ## 💻 Implementação em Comandos
105
+
106
+ ### Em `/engineer/work`:
107
+
108
+ ```typescript
109
+ // Quando uma fase é completada
110
+ async function completePhase(taskId, phaseName, criteria) {
111
+ // 1. Buscar description atual
112
+ const task = await mcp_clickup_get_task({ task_id: taskId });
113
+ let description = task.description;
114
+
115
+ // 2. Marcar critérios relacionados
116
+ for (const criterion of criteria) {
117
+ // Trocar "- [ ]" por "- [x]" para este critério
118
+ description = description.replace(
119
+ `- [ ] ${criterion}`,
120
+ `- [x] ${criterion}`
121
+ );
122
+ }
123
+
124
+ // 3. Atualizar description com checkboxes marcados
125
+ await mcp_clickup_update_task({
126
+ task_id: taskId,
127
+ markdown_description: description
128
+ });
129
+
130
+ // 4. Adicionar comentário com progresso
131
+ await mcp_clickup_create_task_comment({
132
+ task_id: taskId,
133
+ comment_text: `✅ Fase Completada: ${phaseName}
134
+
135
+ Critérios de aceitação relacionados marcados como completos.
136
+ Veja description para status visual completo.`
137
+ });
138
+ }
139
+ ```
140
+
141
+ ### Em `/product/check-acceptance`:
142
+
143
+ ```typescript
144
+ // Validar e marcar automaticamente critérios
145
+ async function checkAcceptanceCriteria(taskId) {
146
+ // 1. Buscar task
147
+ const task = await mcp_clickup_get_task({ task_id: taskId });
148
+
149
+ // 2. Extrair critérios da description
150
+ const criteria = extractCriteria(task.markdown_description);
151
+
152
+ // 3. Validar cada um
153
+ let updated = false;
154
+ let newDescription = task.markdown_description;
155
+
156
+ for (const criterion of criteria) {
157
+ const isValid = await validateCriterion(criterion);
158
+
159
+ if (isValid && criterion.status === 'unchecked') {
160
+ // Marcar como válido
161
+ newDescription = newDescription.replace(
162
+ `- [ ] ${criterion.text}`,
163
+ `- [x] ${criterion.text} ✅`
164
+ );
165
+ updated = true;
166
+ }
167
+ }
168
+
169
+ // 4. Atualizar se houve mudanças
170
+ if (updated) {
171
+ await mcp_clickup_update_task({
172
+ task_id: taskId,
173
+ markdown_description: newDescription
174
+ });
175
+
176
+ console.log(`✅ ${countMarked(newDescription)}/${criteria.length} critérios marcados`);
177
+ }
178
+ }
179
+ ```
180
+
181
+ ---
182
+
183
+ ## 📊 Exemplo Prático
184
+
185
+ ### Task Inicial (Todos pendentes):
186
+
187
+ ```markdown
188
+ ## ✅ Critérios de Aceitação
189
+
190
+ - [ ] Usuário consegue fazer login com email/senha
191
+ - [ ] JWT é gerado e retornado após login
192
+ - [ ] Refresh token permite renovação de sessão
193
+ - [ ] Rotas protegidas bloqueam acesso não autenticado
194
+ - [ ] Logout invalida tokens corretamente
195
+ - [ ] Testes de segurança passando
196
+ - [ ] Documentação de API atualizada
197
+ ```
198
+
199
+ **Progresso Visual:** 0/7 completos
200
+
201
+ ---
202
+
203
+ ### Após Fase 1 (Backend completa):
204
+
205
+ ```markdown
206
+ ## ✅ Critérios de Aceitação
207
+
208
+ - [x] Usuário consegue fazer login com email/senha
209
+ - [x] JWT é gerado e retornado após login
210
+ - [x] Refresh token permite renovação de sessão
211
+ - [ ] Rotas protegidas bloqueam acesso não autenticado
212
+ - [x] Logout invalida tokens corretamente
213
+ - [ ] Testes de segurança passando
214
+ - [ ] Documentação de API atualizada
215
+ ```
216
+
217
+ **Progresso Visual:** 4/7 completos
218
+
219
+ ---
220
+
221
+ ### Após Fase 2 (Frontend completa):
222
+
223
+ ```markdown
224
+ ## ✅ Critérios de Aceitação
225
+
226
+ - [x] Usuário consegue fazer login com email/senha
227
+ - [x] JWT é gerado e retornado após login
228
+ - [x] Refresh token permite renovação de sessão
229
+ - [x] Rotas protegidas bloqueam acesso não autenticado
230
+ - [x] Logout invalida tokens corretamente
231
+ - [ ] Testes de segurança passando
232
+ - [ ] Documentação de API atualizada
233
+ ```
234
+
235
+ **Progresso Visual:** 5/7 completos
236
+
237
+ ---
238
+
239
+ ### Após Validação (Todos completos):
240
+
241
+ ```markdown
242
+ ## ✅ Critérios de Aceitação
243
+
244
+ - [x] Usuário consegue fazer login com email/senha ✅
245
+ - [x] JWT é gerado e retornado após login ✅
246
+ - [x] Refresh token permite renovação de sessão ✅
247
+ - [x] Rotas protegidas bloqueam acesso não autenticado ✅
248
+ - [x] Logout invalida tokens corretamente ✅
249
+ - [x] Testes de segurança passando ✅
250
+ - [x] Documentação de API atualizada ✅
251
+ ```
252
+
253
+ **Progresso Visual:** 7/7 completos ✅
254
+
255
+ ---
256
+
257
+ ## 🎯 Benefícios
258
+
259
+ ### Para Desenvolvedores:
260
+ - ✅ Visão clara do progresso
261
+ - ✅ Feedback imediato ao marcar
262
+ - ✅ Rastreamento de cada critério
263
+ - ✅ Fácil identificar o que falta
264
+
265
+ ### Para Product Owners:
266
+ - ✅ Status visual na description
267
+ - ✅ Não precisa abrir comentários
268
+ - ✅ Fácil ver completude da task
269
+ - ✅ Melhor comunicação do progresso
270
+
271
+ ### Para Code Reviewers:
272
+ - ✅ Validação rápida de requisitos
273
+ - ✅ Checklist de aceitar/rejeitar
274
+ - ✅ Rastreabilidade de critérios
275
+ - ✅ Menos discussão sobre requisitos
276
+
277
+ ---
278
+
279
+ ## 🔧 Boas Práticas
280
+
281
+ ### ✅ Fazer:
282
+ - ✅ Manter checkboxes simples e diretos
283
+ - ✅ Descrever o que cada critério testa
284
+ - ✅ Usar linguagem clara e acionável
285
+ - ✅ Atualizar regularmente conforme progresso
286
+ - ✅ Marcar como completo quando realmente está pronto
287
+
288
+ ### ❌ Evitar:
289
+ - ❌ Critérios muito vagos ou ambíguos
290
+ - ❌ Criterios não mensuráveis
291
+ - ❌ Marcar como completo sem validar
292
+ - ❌ Deixar checkboxes desatualizados
293
+ - ❌ Misturar com informações técnicas detalhadas
294
+
295
+ ---
296
+
297
+ ## 📚 Integração com Outros Comandos
298
+
299
+ ### `/product/task`
300
+ - Cria task com template de checkboxes
301
+ - Descrição já inclui seção de critérios
302
+
303
+ ### `/engineer/work`
304
+ - Marca checkboxes ao completar fases
305
+ - Atualiza description conforme progresso
306
+
307
+ ### `/product/check-acceptance`
308
+ - Valida automaticamente critérios
309
+ - Marca como completo quando validado
310
+
311
+ ### `/engineer/pr`
312
+ - Referencia checkboxes na PR
313
+ - Valida que todos estão marcados antes de merge
314
+
315
+ ---
316
+
317
+ ## 🚀 Próximos Passos
318
+
319
+ 1. **Usar em `/product/task`** - Template com checkboxes
320
+ 2. **Atualizar `/engineer/work`** - Marcar conforme completa
321
+ 3. **Criar `/product/check-acceptance`** - Validação automática
322
+ 4. **Testar com task real** - Validar fluxo completo
323
+
324
+ ---
325
+
326
+ **Última atualização**: 2025-11-05
327
+ **Status**: Documentado e pronto para implementação
328
+ **Prioridade**: ALTA - Rastreamento visual de progresso
329
+
@@ -0,0 +1,318 @@
1
+ # 🔄 Estratégia de Auto-Update ClickUp
2
+
3
+ Este documento define quando e como os comandos do Sistema Onion devem **automaticamente atualizar** tasks no ClickUp vs quando devem **pedir confirmação** do usuário.
4
+
5
+ ## 🎯 **Princípios Fundamentais**
6
+
7
+ ### **✅ Atualização AUTOMÁTICA quando:**
8
+ - ✅ **Baixo risco** - mudança é informativa/progress tracking
9
+ - ✅ **Esperado pelo usuário** - parte natural do comando
10
+ - ✅ **Reversível** - pode ser desfeito facilmente
11
+ - ✅ **Status tracking** - progresso natural do workflow
12
+
13
+ ### **⚠️ Confirmação NECESSÁRIA quando:**
14
+ - ⚠️ **Alto impacto** - mudança afeta timeline/priority/assignees
15
+ - ⚠️ **Irreversível** - não pode ser facilmente desfeito
16
+ - ⚠️ **Decisão de negócio** - requer aprovação stakeholder
17
+ - ⚠️ **Múltiplas opções** - várias alternativas possíveis
18
+
19
+ ## 📊 **Matriz de Decisão por Comando**
20
+
21
+ | Comando | Auto-Update | Confirmação | Detalhes |
22
+ |---------|-------------|-------------|----------|
23
+ | **`/product/task`** | ✅ Status → "To Do" | - | Task criada em estado inicial |
24
+ | **`/engineer/start`** | ✅ Status → "In Progress" | - | Início natural do desenvolvimento |
25
+ | **`/engineer/work`** | ✅ Comentário DETALHADO na subtask<br>✅ Comentário RESUMIDO na task principal<br>✅ Status da subtask → "Done" | - | **ESTRATÉGIA DUAL** - Ver `.cursor/docs/clickup/clickup-dual-comment-strategy.md` |
26
+ | **`/engineer/pre-pr`** | ✅ Comments de checklist | - | Preparação para PR |
27
+ | **`/engineer/pr`** | ✅ Status → "In Progress"<br>✅ Tag "under-review"<br>✅ Comment PR details | - | **JÁ IMPLEMENTADO** |
28
+ | **`/product/task-check`** | ✅ Comments de verificação | ⚠️ Status change | Verificação é tracking, mas status requer decisão |
29
+ | **`/product/validate-task`** | ✅ Comments de análise | ⚠️ Priority/Status changes | Análise é tracking, mudanças estruturais requerem aprovação |
30
+ | **`/engineer/bump`** | ✅ Comments de versioning | - | Tracking de releases |
31
+ | **`/engineer/docs`** | ✅ Comments de documentação | - | Updates de docs |
32
+
33
+ ## 🔧 **Implementação por Comando**
34
+
35
+ ### **1. `/product/task-check <task-id>`**
36
+
37
+ #### **Auto-Update SEMPRE:**
38
+ ```javascript
39
+ // Comentário automático com resultados
40
+ create_task_comment({
41
+ taskId: taskId,
42
+ commentText: `🔍 VERIFICAÇÃO DE IMPLEMENTAÇÃO
43
+
44
+ ━━━━━━━━━━━━━━━━━━━━━━━━
45
+
46
+ 📊 RESULTADO DA VERIFICAÇÃO:
47
+ ∟ Status: ${verificationStatus}
48
+ ∟ Completude: ${completionPercentage}%
49
+ ∟ Arquivos verificados: ${filesChecked}
50
+
51
+ ✅ IMPLEMENTADO:
52
+ ∟ ${implementedFeatures.join('\n ∟ ')}
53
+
54
+ ⚠️ PENDENTE:
55
+ ∟ ${pendingItems.join('\n ∟ ')}
56
+
57
+ ━━━━━━━━━━━━━━━━━━━━━━━━
58
+
59
+ ⏰ Verificado: ${timestamp} | 🎯 Próximo: ${nextAction}`
60
+ })
61
+ ```
62
+
63
+ #### **Confirmação SE necessário:**
64
+ ```javascript
65
+ if (verificationStatus === 'COMPLETE' && currentStatus !== 'Done') {
66
+ // Perguntar se deve mover para Done
67
+ const userConfirm = await askUser("Task verificada como completa. Mover status para 'Done'?")
68
+ if (userConfirm) {
69
+ update_task({ taskId, status: 'Done' })
70
+ }
71
+ }
72
+ ```
73
+
74
+ ### **2. `/product/validate-task <task-id>`**
75
+
76
+ #### **Auto-Update SEMPRE:**
77
+ ```javascript
78
+ create_task_comment({
79
+ taskId: taskId,
80
+ commentText: `📊 VALIDAÇÃO ESTRATÉGICA
81
+
82
+ ━━━━━━━━━━━━━━━━━━━━━━━━
83
+
84
+ 🎯 ANÁLISE EXECUTIVA:
85
+ ∟ Viabilidade: ${viabilityScore}/10
86
+ ∟ Alinhamento: ${alignmentScore}/10
87
+ ∟ Complexidade: ${complexityLevel}
88
+
89
+ ✅ PONTOS FORTES:
90
+ ∟ ${strongPoints.join('\n ∟ ')}
91
+
92
+ ⚠️ RISCOS IDENTIFICADOS:
93
+ ∟ ${risks.join('\n ∟ ')}
94
+
95
+ 💡 RECOMENDAÇÕES:
96
+ ∟ ${recommendations.join('\n ∟ ')}
97
+
98
+ ━━━━━━━━━━━━━━━━━━━━━━━━
99
+
100
+ ⏰ Validado: ${timestamp} | 🎯 Status: ${validationResult}`
101
+ })
102
+ ```
103
+
104
+ #### **Confirmação PARA mudanças estruturais:**
105
+ ```javascript
106
+ if (recommendations.includes('PRIORITY_CHANGE')) {
107
+ const newPriority = await askUser(`Recomendo mudar prioridade para ${suggestedPriority}. Confirmar?`)
108
+ }
109
+
110
+ if (recommendations.includes('SCOPE_REDUCTION')) {
111
+ const confirmed = await askUser(`Task muito complexa. Quebrar em subtasks?`)
112
+ }
113
+ ```
114
+
115
+ ### **3. `/engineer/work` (ESTRATÉGIA DUAL)**
116
+
117
+ #### **Auto-Update SEMPRE (em ORDEM):**
118
+
119
+ **1. Comentário DETALHADO na SUBTASK:**
120
+ ```javascript
121
+ // Comentário técnico completo na subtask correspondente
122
+ const subtaskId = getSubtaskIdForPhase(currentPhase, contextMd);
123
+
124
+ await mcp_clickup_create_task_comment({
125
+ task_id: subtaskId, // ← SUBTASK ID
126
+ workspace_id: workspaceId,
127
+ comment_text: `🔧 FASE COMPLETADA: ${phaseName}
128
+
129
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
130
+
131
+ 📁 ARQUIVOS MODIFICADOS:
132
+ ∟ ${file1}
133
+ ∟ ${file2}
134
+ ∟ ... e mais ${moreFiles.length} arquivos
135
+
136
+ 🔧 IMPLEMENTAÇÕES:
137
+ ▶ ${implementation1}
138
+ ▶ ${implementation2}
139
+
140
+ ✅ TESTES ADICIONADOS:
141
+ ∟ ${testFile1} (${testCount1} testes)
142
+ ∟ Cobertura: ${coverage}%
143
+
144
+ 💡 DECISÕES TÉCNICAS:
145
+ ∟ ${decision1}
146
+ ∟ ${decision2}
147
+
148
+ 🚀 PRÓXIMOS PASSOS:
149
+ ∟ ${nextPhase}
150
+ ∟ ${nextAction1}
151
+
152
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
153
+
154
+ ⏰ Completado: ${timestamp} | 🎯 Status: Done`
155
+ });
156
+ ```
157
+
158
+ **2. Atualizar STATUS da SUBTASK:**
159
+ ```javascript
160
+ await mcp_clickup_update_task({
161
+ task_id: subtaskId, // ← SUBTASK ID
162
+ workspace_id: workspaceId,
163
+ status: 'Done'
164
+ });
165
+ ```
166
+
167
+ **3. Comentário RESUMIDO na TASK PRINCIPAL:**
168
+ ```javascript
169
+ const mainTaskId = getMainTaskId(contextMd);
170
+
171
+ await mcp_clickup_create_task_comment({
172
+ task_id: mainTaskId, // ← MAIN TASK ID
173
+ workspace_id: workspaceId,
174
+ comment_text: `📝 PROGRESSO: Fase ${phaseNum}/${totalPhases} Completada
175
+
176
+ ✅ ${phaseName} - Concluída
177
+ ∟ Subtask: #${subtaskId}
178
+ ∟ Detalhes: Ver comentário na subtask
179
+
180
+ 🎯 Próximo: Fase ${nextPhaseNum} - ${nextPhaseName}
181
+
182
+ ⏰ ${timestamp}`
183
+ });
184
+ ```
185
+
186
+ **📚 Documentação completa**: `.cursor/docs/clickup/clickup-dual-comment-strategy.md`
187
+
188
+ ### **4. `/engineer/start <slug>` (quando sessão tem task-id)**
189
+
190
+ #### **Auto-Update SEMPRE:**
191
+ ```javascript
192
+ update_task({
193
+ taskId: sessionTaskId,
194
+ status: 'In Progress'
195
+ })
196
+
197
+ create_task_comment({
198
+ taskId: sessionTaskId,
199
+ commentText: `🚀 DESENVOLVIMENTO INICIADO
200
+
201
+ ━━━━━━━━━━━━━━━━━━━━━━━━
202
+
203
+ 🏗️ SESSÃO ATIVADA:
204
+ ▶ Branch: ${featureBranch}
205
+ ▶ Sessão: .cursor/sessions/${slug}/
206
+ ▶ Arquitetura: Definida e aprovada
207
+
208
+ 📋 PLANO DE IMPLEMENTAÇÃO:
209
+ ∟ ${phases.join('\n ∟ ')}
210
+
211
+ ━━━━━━━━━━━━━━━━━━━━━━━━
212
+
213
+ ⏰ Iniciado: ${timestamp} | 🎯 Próximo: Implementar Fase 1`
214
+ })
215
+ ```
216
+
217
+ ## ⚙️ **Configuração por Comando**
218
+
219
+ ### **Pattern de Implementação:**
220
+
221
+ ```typescript
222
+ interface AutoUpdateConfig {
223
+ command: string
224
+ autoUpdates: {
225
+ status?: string
226
+ tags?: string[]
227
+ comments: boolean
228
+ properties?: Record<string, any>
229
+ }
230
+ confirmationRequired: {
231
+ statusChanges?: string[]
232
+ priorityChanges?: boolean
233
+ assigneeChanges?: boolean
234
+ scopeChanges?: boolean
235
+ }
236
+ }
237
+
238
+ const commandConfigs: AutoUpdateConfig[] = [
239
+ {
240
+ command: '/product/task-check',
241
+ autoUpdates: {
242
+ comments: true, // Sempre
243
+ tags: ['verified'] // Se verificação passou
244
+ },
245
+ confirmationRequired: {
246
+ statusChanges: ['Done', 'Closed'], // Só com confirmação
247
+ priorityChanges: true
248
+ }
249
+ },
250
+ {
251
+ command: '/engineer/pr',
252
+ autoUpdates: {
253
+ status: 'In Progress', // Automático
254
+ tags: ['under-review'], // Automático
255
+ comments: true // Automático
256
+ },
257
+ confirmationRequired: {} // Nenhuma confirmação necessária
258
+ }
259
+ // ... outros comandos
260
+ ]
261
+ ```
262
+
263
+ ## 🎯 **Casos Especiais**
264
+
265
+ ### **1. Task não encontrada na sessão atual**
266
+ ```javascript
267
+ // Se comando é executado mas não há task-id na sessão
268
+ if (!currentSessionTaskId && taskIdFromArgs) {
269
+ // Usar task-id fornecido pelo usuário
270
+ // Auto-update OK
271
+ } else if (!currentSessionTaskId && !taskIdFromArgs) {
272
+ // Perguntar qual task atualizar
273
+ const taskId = await askUser("Qual task ID devo atualizar?")
274
+ }
275
+ ```
276
+
277
+ ### **2. Múltiplas tasks em sessão**
278
+ ```javascript
279
+ // Se sessão tem task pai + subtasks
280
+ if (sessionHasMultipleTasks) {
281
+ // Sempre atualizar task principal
282
+ // Subtasks só com confirmação
283
+ }
284
+ ```
285
+
286
+ ### **3. Task já finalizada**
287
+ ```javascript
288
+ if (taskStatus === 'Done' || taskStatus === 'Closed') {
289
+ const confirm = await askUser("Task já está finalizada. Ainda assim atualizar?")
290
+ if (!confirm) return
291
+ }
292
+ ```
293
+
294
+ ## 📝 **Implementação nos Comandos**
295
+
296
+ Cada comando deve incluir esta seção antes dos argumentos:
297
+
298
+ ```markdown
299
+ ## 🔄 **Auto-Update ClickUp**
300
+
301
+ Este comando **automaticamente atualiza** a task ClickUp quando:
302
+ - ✅ Adiciona comentário com resultados da verificação
303
+ - ✅ Aplica tag 'verified' se verificação passou
304
+
305
+ Este comando **pede confirmação** para:
306
+ - ⚠️ Mudança de status para 'Done'
307
+ - ⚠️ Alteração de prioridade baseada na análise
308
+ - ⚠️ Quebra da task em subtasks
309
+
310
+ ### **📋 Identificação da Task:**
311
+ 1. **Sessão ativa**: Usa task-id do arquivo `context.md`
312
+ 2. **Argumento fornecido**: Usa task-id passado pelo usuário
313
+ 3. **Não identificada**: Pergunta ao usuário qual task atualizar
314
+ ```
315
+
316
+ ---
317
+
318
+ **Esta estratégia garante produtividade máxima com controle adequado sobre mudanças críticas! 🚀**