@onion-ai/cli 1.0.0-beta.1

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 (220) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +529 -0
  3. package/bin/onion.js +6 -0
  4. package/framework/CLAUDE.md +45 -0
  5. package/framework/VERSION +1 -0
  6. package/framework/agents/compliance/iso-22301-specialist.md +985 -0
  7. package/framework/agents/compliance/iso-27001-specialist.md +713 -0
  8. package/framework/agents/compliance/pmbok-specialist.md +739 -0
  9. package/framework/agents/compliance/security-information-master.md +907 -0
  10. package/framework/agents/compliance/soc2-specialist.md +889 -0
  11. package/framework/agents/deployment/docker-specialist.md +1192 -0
  12. package/framework/agents/development/c4-architecture-specialist.md +745 -0
  13. package/framework/agents/development/c4-documentation-specialist.md +695 -0
  14. package/framework/agents/development/clickup-specialist.md +396 -0
  15. package/framework/agents/development/cursor-specialist.md +277 -0
  16. package/framework/agents/development/docs-reverse-engineer.md +417 -0
  17. package/framework/agents/development/gamma-api-specialist.md +1168 -0
  18. package/framework/agents/development/gitflow-specialist.md +1206 -0
  19. package/framework/agents/development/linux-security-specialist.md +675 -0
  20. package/framework/agents/development/mermaid-specialist.md +515 -0
  21. package/framework/agents/development/nodejs-specialist.md +672 -0
  22. package/framework/agents/development/nx-migration-specialist.md +866 -0
  23. package/framework/agents/development/nx-monorepo-specialist.md +618 -0
  24. package/framework/agents/development/postgres-specialist.md +1123 -0
  25. package/framework/agents/development/react-developer.md +131 -0
  26. package/framework/agents/development/runflow-specialist.md +277 -0
  27. package/framework/agents/development/system-documentation-orchestrator.md +1387 -0
  28. package/framework/agents/development/task-specialist.md +677 -0
  29. package/framework/agents/git/branch-code-reviewer.md +225 -0
  30. package/framework/agents/git/branch-documentation-writer.md +161 -0
  31. package/framework/agents/git/branch-metaspec-checker.md +67 -0
  32. package/framework/agents/git/branch-test-planner.md +176 -0
  33. package/framework/agents/meta/agent-creator-specialist.md +1266 -0
  34. package/framework/agents/meta/command-creator-specialist.md +1676 -0
  35. package/framework/agents/meta/metaspec-gate-keeper.md +240 -0
  36. package/framework/agents/meta/onion.md +824 -0
  37. package/framework/agents/product/branding-positioning-specialist.md +1029 -0
  38. package/framework/agents/product/extract-meeting-specialist.md +394 -0
  39. package/framework/agents/product/meeting-consolidator.md +482 -0
  40. package/framework/agents/product/pain-price-specialist.md +508 -0
  41. package/framework/agents/product/presentation-orchestrator.md +1190 -0
  42. package/framework/agents/product/product-agent.md +201 -0
  43. package/framework/agents/product/story-points-framework-specialist.md +538 -0
  44. package/framework/agents/product/storytelling-business-specialist.md +890 -0
  45. package/framework/agents/research/research-agent.md +292 -0
  46. package/framework/agents/review/code-reviewer.md +154 -0
  47. package/framework/agents/review/corporate-compliance-specialist.md +370 -0
  48. package/framework/agents/testing/test-agent.md +424 -0
  49. package/framework/agents/testing/test-engineer.md +294 -0
  50. package/framework/agents/testing/test-planner.md +117 -0
  51. package/framework/commands/common/prompts/README.md +208 -0
  52. package/framework/commands/common/prompts/clickup-patterns.md +144 -0
  53. package/framework/commands/common/prompts/code-review-checklist.md +168 -0
  54. package/framework/commands/common/prompts/git-workflow-patterns.md +235 -0
  55. package/framework/commands/common/prompts/output-formats.md +240 -0
  56. package/framework/commands/common/prompts/technical.md +194 -0
  57. package/framework/commands/common/templates/abstraction-template.md +399 -0
  58. package/framework/commands/common/templates/agent-template.md +353 -0
  59. package/framework/commands/common/templates/business_context_template.md +748 -0
  60. package/framework/commands/common/templates/command-template.md +273 -0
  61. package/framework/commands/common/templates/technical_context_template.md +526 -0
  62. package/framework/commands/design/screen-spec.md +505 -0
  63. package/framework/commands/development/runflow-dev.md +465 -0
  64. package/framework/commands/docs/build-business-docs.md +299 -0
  65. package/framework/commands/docs/build-compliance-docs.md +143 -0
  66. package/framework/commands/docs/build-index.md +119 -0
  67. package/framework/commands/docs/build-tech-docs.md +221 -0
  68. package/framework/commands/docs/docs-health.md +141 -0
  69. package/framework/commands/docs/help.md +278 -0
  70. package/framework/commands/docs/refine-vision.md +25 -0
  71. package/framework/commands/docs/reverse-consolidate.md +158 -0
  72. package/framework/commands/docs/sync-sessions.md +354 -0
  73. package/framework/commands/docs/validate-docs.md +157 -0
  74. package/framework/commands/engineer/bump.md +29 -0
  75. package/framework/commands/engineer/docs.md +11 -0
  76. package/framework/commands/engineer/hotfix.md +183 -0
  77. package/framework/commands/engineer/plan.md +85 -0
  78. package/framework/commands/engineer/pr-update.md +219 -0
  79. package/framework/commands/engineer/pr.md +117 -0
  80. package/framework/commands/engineer/pre-pr.md +81 -0
  81. package/framework/commands/engineer/start.md +254 -0
  82. package/framework/commands/engineer/validate-phase-sync.md +134 -0
  83. package/framework/commands/engineer/warm-up.md +20 -0
  84. package/framework/commands/engineer/work.md +155 -0
  85. package/framework/commands/f/company-context-extractor.md +93 -0
  86. package/framework/commands/f/process-meetings.md +103 -0
  87. package/framework/commands/git/README.md +682 -0
  88. package/framework/commands/git/code-review.md +213 -0
  89. package/framework/commands/git/fast-commit.md +43 -0
  90. package/framework/commands/git/feature/finish.md +88 -0
  91. package/framework/commands/git/feature/publish.md +89 -0
  92. package/framework/commands/git/feature/start.md +172 -0
  93. package/framework/commands/git/help.md +100 -0
  94. package/framework/commands/git/hotfix/finish.md +96 -0
  95. package/framework/commands/git/hotfix/start.md +92 -0
  96. package/framework/commands/git/init.md +111 -0
  97. package/framework/commands/git/release/finish.md +96 -0
  98. package/framework/commands/git/release/start.md +93 -0
  99. package/framework/commands/git/sync.md +199 -0
  100. package/framework/commands/meta/all-tools.md +58 -0
  101. package/framework/commands/meta/analyze-complex-problem.md +186 -0
  102. package/framework/commands/meta/create-abstraction.md +882 -0
  103. package/framework/commands/meta/create-agent-express.md +98 -0
  104. package/framework/commands/meta/create-agent.md +210 -0
  105. package/framework/commands/meta/create-command.md +203 -0
  106. package/framework/commands/meta/create-knowledge-base.md +143 -0
  107. package/framework/commands/meta/create-task-structure.md +150 -0
  108. package/framework/commands/meta/setup-integration.md +274 -0
  109. package/framework/commands/onion.md +169 -0
  110. package/framework/commands/product/README.md +249 -0
  111. package/framework/commands/product/analyze-pain-price.md +694 -0
  112. package/framework/commands/product/branding.md +458 -0
  113. package/framework/commands/product/check.md +46 -0
  114. package/framework/commands/product/checklist-sync.md +239 -0
  115. package/framework/commands/product/collect.md +95 -0
  116. package/framework/commands/product/consolidate-meetings.md +291 -0
  117. package/framework/commands/product/estimate.md +511 -0
  118. package/framework/commands/product/extract-meeting.md +226 -0
  119. package/framework/commands/product/feature.md +416 -0
  120. package/framework/commands/product/light-arch.md +82 -0
  121. package/framework/commands/product/presentation.md +174 -0
  122. package/framework/commands/product/refine.md +161 -0
  123. package/framework/commands/product/spec.md +79 -0
  124. package/framework/commands/product/task-check.md +378 -0
  125. package/framework/commands/product/task.md +603 -0
  126. package/framework/commands/product/validate-task.md +325 -0
  127. package/framework/commands/product/warm-up.md +24 -0
  128. package/framework/commands/quick/analisys.md +17 -0
  129. package/framework/commands/test/e2e.md +377 -0
  130. package/framework/commands/test/integration.md +508 -0
  131. package/framework/commands/test/unit.md +381 -0
  132. package/framework/commands/validate/collab/pair-testing.md +657 -0
  133. package/framework/commands/validate/collab/three-amigos.md +534 -0
  134. package/framework/commands/validate/qa-points/estimate.md +660 -0
  135. package/framework/commands/validate/test-strategy/analyze.md +1201 -0
  136. package/framework/commands/validate/test-strategy/create.md +411 -0
  137. package/framework/commands/validate/workflow.md +370 -0
  138. package/framework/commands/warm-up.md +20 -0
  139. package/framework/docs/architecture/acoplamento-clickup-problema-analise.md +468 -0
  140. package/framework/docs/architecture/desacoplamento-roadmap.md +364 -0
  141. package/framework/docs/architecture/validacao-fase-1.md +235 -0
  142. package/framework/docs/c4/c4-detection-rules.md +395 -0
  143. package/framework/docs/c4/c4-documentation-templates.md +579 -0
  144. package/framework/docs/c4/c4-mermaid-patterns.md +331 -0
  145. package/framework/docs/c4/c4-templates.md +256 -0
  146. package/framework/docs/clickup/clickup-acceptance-criteria-strategy.md +329 -0
  147. package/framework/docs/clickup/clickup-auto-update-strategy.md +340 -0
  148. package/framework/docs/clickup/clickup-comment-formatter.md +239 -0
  149. package/framework/docs/clickup/clickup-description-fix.md +384 -0
  150. package/framework/docs/clickup/clickup-dual-comment-strategy.md +528 -0
  151. package/framework/docs/clickup/clickup-formatting.md +302 -0
  152. package/framework/docs/clickup/separador-tamanho-otimizado.md +258 -0
  153. package/framework/docs/engineer/pre-pr-acceptance-validation.md +256 -0
  154. package/framework/docs/onion/ESPERANTO.md +293 -0
  155. package/framework/docs/onion/agents-reference.md +832 -0
  156. package/framework/docs/onion/clickup-integration.md +780 -0
  157. package/framework/docs/onion/commands-guide.md +924 -0
  158. package/framework/docs/onion/engineering-flows.md +900 -0
  159. package/framework/docs/onion/getting-started.md +803 -0
  160. package/framework/docs/onion/maintenance-checklist.md +421 -0
  161. package/framework/docs/onion/naming-conventions.md +286 -0
  162. package/framework/docs/onion/practical-examples.md +854 -0
  163. package/framework/docs/product/story-points-integration.md +269 -0
  164. package/framework/docs/product/story-points-validation.md +237 -0
  165. package/framework/docs/reviews/task-manager-docs-review-2025-11-24.md +184 -0
  166. package/framework/docs/strategies/clickup-comment-patterns.md +766 -0
  167. package/framework/docs/strategies/clickup-integration-tests.md +602 -0
  168. package/framework/docs/strategies/clickup-mcp-wrappers-tests.md +888 -0
  169. package/framework/docs/strategies/clickup-regression-tests.md +587 -0
  170. package/framework/docs/strategies/visual-patterns.md +315 -0
  171. package/framework/docs/templates/README.md +649 -0
  172. package/framework/docs/templates/adr-template.md +226 -0
  173. package/framework/docs/templates/analysis-template.md +280 -0
  174. package/framework/docs/templates/execution-plan-template.md +430 -0
  175. package/framework/docs/templates/guide-template.md +367 -0
  176. package/framework/docs/templates/phase-execution-prompt-template.md +504 -0
  177. package/framework/docs/templates/reference-template.md +522 -0
  178. package/framework/docs/templates/solution-template.md +390 -0
  179. package/framework/docs/tools/README.md +356 -0
  180. package/framework/docs/tools/agents.md +365 -0
  181. package/framework/docs/tools/commands.md +669 -0
  182. package/framework/docs/tools/cursor.md +539 -0
  183. package/framework/docs/tools/mcps.md +937 -0
  184. package/framework/docs/tools/rules.md +461 -0
  185. package/framework/rules/language-and-documentation.mdc +371 -0
  186. package/framework/rules/nestjs-controllers.md +83 -0
  187. package/framework/rules/nestjs-dtos.md +255 -0
  188. package/framework/rules/nestjs-modules.md +141 -0
  189. package/framework/rules/nestjs-services.md +230 -0
  190. package/framework/rules/nx-rules.mdc +41 -0
  191. package/framework/rules/onion-patterns.mdc +197 -0
  192. package/framework/skills/codebase-visualizer/SKILL.md +26 -0
  193. package/framework/skills/codebase-visualizer/scripts/visualize.py +131 -0
  194. package/framework/skills/collect/SKILL.md +84 -0
  195. package/framework/skills/create-rule/SKILL.md +152 -0
  196. package/framework/skills/db-schema-visualizer/SKILL.md +49 -0
  197. package/framework/skills/db-schema-visualizer/scripts/visualize.py +1191 -0
  198. package/framework/skills/sync-meetings/SKILL.md +239 -0
  199. package/framework/utils/clickup-mcp-wrappers.md +744 -0
  200. package/framework/utils/date-time-standards.md +200 -0
  201. package/framework/utils/task-manager/README.md +94 -0
  202. package/framework/utils/task-manager/adapters/asana.md +377 -0
  203. package/framework/utils/task-manager/adapters/clickup.md +467 -0
  204. package/framework/utils/task-manager/adapters/linear.md +421 -0
  205. package/framework/utils/task-manager/detector.md +299 -0
  206. package/framework/utils/task-manager/factory.md +363 -0
  207. package/framework/utils/task-manager/interface.md +248 -0
  208. package/framework/utils/task-manager/types.md +409 -0
  209. package/package.json +41 -0
  210. package/src/cli.js +73 -0
  211. package/src/commands/doctor.js +191 -0
  212. package/src/commands/init.js +287 -0
  213. package/src/commands/install.js +261 -0
  214. package/src/commands/list.js +152 -0
  215. package/src/commands/uninstall.js +90 -0
  216. package/src/commands/update.js +26 -0
  217. package/src/utils/fs.js +89 -0
  218. package/src/utils/log.js +35 -0
  219. package/src/utils/paths.js +32 -0
  220. package/src/utils/prompt.js +76 -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,340 @@
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
+
9
+ - ✅ **Baixo risco** - mudança é informativa/progress tracking
10
+ - ✅ **Esperado pelo usuário** - parte natural do comando
11
+ - ✅ **Reversível** - pode ser desfeito facilmente
12
+ - ✅ **Status tracking** - progresso natural do workflow
13
+
14
+ ### **⚠️ Confirmação NECESSÁRIA quando:**
15
+
16
+ - ⚠️ **Alto impacto** - mudança afeta timeline/priority/assignees
17
+ - ⚠️ **Irreversível** - não pode ser facilmente desfeito
18
+ - ⚠️ **Decisão de negócio** - requer aprovação stakeholder
19
+ - ⚠️ **Múltiplas opções** - várias alternativas possíveis
20
+
21
+ ## 📊 **Matriz de Decisão por Comando**
22
+
23
+ | Comando | Auto-Update | Confirmação | Detalhes |
24
+ | ---------------------------- | --------------------------------------------------------------------------------------------------------------- | -------------------------- | --------------------------------------------------------------------------------- |
25
+ | **`/product/task`** | ✅ Status → "To Do" | - | Task criada em estado inicial |
26
+ | **`/engineer/start`** | ✅ Status → "In Progress" | - | Início natural do desenvolvimento |
27
+ | **`/engineer/work`** | ✅ Comentário DETALHADO na subtask<br>✅ Comentário RESUMIDO na task principal<br>✅ Status da subtask → "Done" | - | **ESTRATÉGIA DUAL** - Ver `.claude/docs/clickup/clickup-dual-comment-strategy.md` |
28
+ | **`/engineer/pre-pr`** | ✅ Comments de checklist | - | Preparação para PR |
29
+ | **`/engineer/pr`** | ✅ Status → "In Progress"<br>✅ Tag "under-review"<br>✅ Comment PR details | - | **JÁ IMPLEMENTADO** |
30
+ | **`/product/task-check`** | ✅ Comments de verificação | ⚠️ Status change | Verificação é tracking, mas status requer decisão |
31
+ | **`/product/validate-task`** | ✅ Comments de análise | ⚠️ Priority/Status changes | Análise é tracking, mudanças estruturais requerem aprovação |
32
+ | **`/engineer/bump`** | ✅ Comments de versioning | - | Tracking de releases |
33
+ | **`/engineer/docs`** | ✅ Comments de documentação | - | Updates de docs |
34
+
35
+ ## 🔧 **Implementação por Comando**
36
+
37
+ ### **1. `/product/task-check <task-id>`**
38
+
39
+ #### **Auto-Update SEMPRE:**
40
+
41
+ ```javascript
42
+ // Comentário automático com resultados
43
+ create_task_comment({
44
+ taskId: taskId,
45
+ commentText: `🔍 VERIFICAÇÃO DE IMPLEMENTAÇÃO
46
+
47
+ ━━━━━━━━━━━━━━━━━━━━━━━━
48
+
49
+ 📊 RESULTADO DA VERIFICAÇÃO:
50
+ ∟ Status: ${verificationStatus}
51
+ ∟ Completude: ${completionPercentage}%
52
+ ∟ Arquivos verificados: ${filesChecked}
53
+
54
+ ✅ IMPLEMENTADO:
55
+ ∟ ${implementedFeatures.join('\n ∟ ')}
56
+
57
+ ⚠️ PENDENTE:
58
+ ∟ ${pendingItems.join('\n ∟ ')}
59
+
60
+ ━━━━━━━━━━━━━━━━━━━━━━━━
61
+
62
+ ⏰ Verificado: ${timestamp} | 🎯 Próximo: ${nextAction}`,
63
+ });
64
+ ```
65
+
66
+ #### **Confirmação SE necessário:**
67
+
68
+ ```javascript
69
+ if (verificationStatus === 'COMPLETE' && currentStatus !== 'Done') {
70
+ // Perguntar se deve mover para Done
71
+ const userConfirm = await askUser(
72
+ "Task verificada como completa. Mover status para 'Done'?",
73
+ );
74
+ if (userConfirm) {
75
+ update_task({ taskId, status: 'Done' });
76
+ }
77
+ }
78
+ ```
79
+
80
+ ### **2. `/product/validate-task <task-id>`**
81
+
82
+ #### **Auto-Update SEMPRE:**
83
+
84
+ ```javascript
85
+ create_task_comment({
86
+ taskId: taskId,
87
+ commentText: `📊 VALIDAÇÃO ESTRATÉGICA
88
+
89
+ ━━━━━━━━━━━━━━━━━━━━━━━━
90
+
91
+ 🎯 ANÁLISE EXECUTIVA:
92
+ ∟ Viabilidade: ${viabilityScore}/10
93
+ ∟ Alinhamento: ${alignmentScore}/10
94
+ ∟ Complexidade: ${complexityLevel}
95
+
96
+ ✅ PONTOS FORTES:
97
+ ∟ ${strongPoints.join('\n ∟ ')}
98
+
99
+ ⚠️ RISCOS IDENTIFICADOS:
100
+ ∟ ${risks.join('\n ∟ ')}
101
+
102
+ 💡 RECOMENDAÇÕES:
103
+ ∟ ${recommendations.join('\n ∟ ')}
104
+
105
+ ━━━━━━━━━━━━━━━━━━━━━━━━
106
+
107
+ ⏰ Validado: ${timestamp} | 🎯 Status: ${validationResult}`,
108
+ });
109
+ ```
110
+
111
+ #### **Confirmação PARA mudanças estruturais:**
112
+
113
+ ```javascript
114
+ if (recommendations.includes('PRIORITY_CHANGE')) {
115
+ const newPriority = await askUser(
116
+ `Recomendo mudar prioridade para ${suggestedPriority}. Confirmar?`,
117
+ );
118
+ }
119
+
120
+ if (recommendations.includes('SCOPE_REDUCTION')) {
121
+ const confirmed = await askUser(`Task muito complexa. Quebrar em subtasks?`);
122
+ }
123
+ ```
124
+
125
+ ### **3. `/engineer/work` (ESTRATÉGIA DUAL)**
126
+
127
+ #### **Auto-Update SEMPRE (em ORDEM):**
128
+
129
+ **1. Comentário DETALHADO na SUBTASK:**
130
+
131
+ ```javascript
132
+ // Comentário técnico completo na subtask correspondente
133
+ const subtaskId = getSubtaskIdForPhase(currentPhase, contextMd);
134
+
135
+ await mcp_clickup_create_task_comment({
136
+ task_id: subtaskId, // ← SUBTASK ID
137
+ workspace_id: workspaceId,
138
+ comment_text: `🔧 FASE COMPLETADA: ${phaseName}
139
+
140
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
141
+
142
+ 📁 ARQUIVOS MODIFICADOS:
143
+ ∟ ${file1}
144
+ ∟ ${file2}
145
+ ∟ ... e mais ${moreFiles.length} arquivos
146
+
147
+ 🔧 IMPLEMENTAÇÕES:
148
+ ▶ ${implementation1}
149
+ ▶ ${implementation2}
150
+
151
+ ✅ TESTES ADICIONADOS:
152
+ ∟ ${testFile1} (${testCount1} testes)
153
+ ∟ Cobertura: ${coverage}%
154
+
155
+ 💡 DECISÕES TÉCNICAS:
156
+ ∟ ${decision1}
157
+ ∟ ${decision2}
158
+
159
+ 🚀 PRÓXIMOS PASSOS:
160
+ ∟ ${nextPhase}
161
+ ∟ ${nextAction1}
162
+
163
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
164
+
165
+ ⏰ Completado: ${timestamp} | 🎯 Status: Done`,
166
+ });
167
+ ```
168
+
169
+ **2. Atualizar STATUS da SUBTASK:**
170
+
171
+ ```javascript
172
+ await mcp_clickup_update_task({
173
+ task_id: subtaskId, // ← SUBTASK ID
174
+ workspace_id: workspaceId,
175
+ status: 'Done',
176
+ });
177
+ ```
178
+
179
+ **3. Comentário RESUMIDO na TASK PRINCIPAL:**
180
+
181
+ ```javascript
182
+ const mainTaskId = getMainTaskId(contextMd);
183
+
184
+ await mcp_clickup_create_task_comment({
185
+ task_id: mainTaskId, // ← MAIN TASK ID
186
+ workspace_id: workspaceId,
187
+ comment_text: `📝 PROGRESSO: Fase ${phaseNum}/${totalPhases} Completada
188
+
189
+ ✅ ${phaseName} - Concluída
190
+ ∟ Subtask: #${subtaskId}
191
+ ∟ Detalhes: Ver comentário na subtask
192
+
193
+ 🎯 Próximo: Fase ${nextPhaseNum} - ${nextPhaseName}
194
+
195
+ ⏰ ${timestamp}`,
196
+ });
197
+ ```
198
+
199
+ **📚 Documentação completa**: `.claude/docs/clickup/clickup-dual-comment-strategy.md`
200
+
201
+ ### **4. `/engineer/start <slug>` (quando sessão tem task-id)**
202
+
203
+ #### **Auto-Update SEMPRE:**
204
+
205
+ ```javascript
206
+ update_task({
207
+ taskId: sessionTaskId,
208
+ status: 'In Progress',
209
+ });
210
+
211
+ create_task_comment({
212
+ taskId: sessionTaskId,
213
+ commentText: `🚀 DESENVOLVIMENTO INICIADO
214
+
215
+ ━━━━━━━━━━━━━━━━━━━━━━━━
216
+
217
+ 🏗️ SESSÃO ATIVADA:
218
+ ▶ Branch: ${featureBranch}
219
+ ▶ Sessão: .claude/sessions/${slug}/
220
+ ▶ Arquitetura: Definida e aprovada
221
+
222
+ 📋 PLANO DE IMPLEMENTAÇÃO:
223
+ ∟ ${phases.join('\n ∟ ')}
224
+
225
+ ━━━━━━━━━━━━━━━━━━━━━━━━
226
+
227
+ ⏰ Iniciado: ${timestamp} | 🎯 Próximo: Implementar Fase 1`,
228
+ });
229
+ ```
230
+
231
+ ## ⚙️ **Configuração por Comando**
232
+
233
+ ### **Pattern de Implementação:**
234
+
235
+ ```typescript
236
+ interface AutoUpdateConfig {
237
+ command: string;
238
+ autoUpdates: {
239
+ status?: string;
240
+ tags?: string[];
241
+ comments: boolean;
242
+ properties?: Record<string, any>;
243
+ };
244
+ confirmationRequired: {
245
+ statusChanges?: string[];
246
+ priorityChanges?: boolean;
247
+ assigneeChanges?: boolean;
248
+ scopeChanges?: boolean;
249
+ };
250
+ }
251
+
252
+ const commandConfigs: AutoUpdateConfig[] = [
253
+ {
254
+ command: '/product/task-check',
255
+ autoUpdates: {
256
+ comments: true, // Sempre
257
+ tags: ['verified'], // Se verificação passou
258
+ },
259
+ confirmationRequired: {
260
+ statusChanges: ['Done', 'Closed'], // Só com confirmação
261
+ priorityChanges: true,
262
+ },
263
+ },
264
+ {
265
+ command: '/engineer/pr',
266
+ autoUpdates: {
267
+ status: 'In Progress', // Automático
268
+ tags: ['under-review'], // Automático
269
+ comments: true, // Automático
270
+ },
271
+ confirmationRequired: {}, // Nenhuma confirmação necessária
272
+ },
273
+ // ... outros comandos
274
+ ];
275
+ ```
276
+
277
+ ## 🎯 **Casos Especiais**
278
+
279
+ ### **1. Task não encontrada na sessão atual**
280
+
281
+ ```javascript
282
+ // Se comando é executado mas não há task-id na sessão
283
+ if (!currentSessionTaskId && taskIdFromArgs) {
284
+ // Usar task-id fornecido pelo usuário
285
+ // Auto-update OK
286
+ } else if (!currentSessionTaskId && !taskIdFromArgs) {
287
+ // Perguntar qual task atualizar
288
+ const taskId = await askUser('Qual task ID devo atualizar?');
289
+ }
290
+ ```
291
+
292
+ ### **2. Múltiplas tasks em sessão**
293
+
294
+ ```javascript
295
+ // Se sessão tem task pai + subtasks
296
+ if (sessionHasMultipleTasks) {
297
+ // Sempre atualizar task principal
298
+ // Subtasks só com confirmação
299
+ }
300
+ ```
301
+
302
+ ### **3. Task já finalizada**
303
+
304
+ ```javascript
305
+ if (taskStatus === 'Done' || taskStatus === 'Closed') {
306
+ const confirm = await askUser(
307
+ 'Task já está finalizada. Ainda assim atualizar?',
308
+ );
309
+ if (!confirm) return;
310
+ }
311
+ ```
312
+
313
+ ## 📝 **Implementação nos Comandos**
314
+
315
+ Cada comando deve incluir esta seção antes dos argumentos:
316
+
317
+ ```markdown
318
+ ## 🔄 **Auto-Update ClickUp**
319
+
320
+ Este comando **automaticamente atualiza** a task ClickUp quando:
321
+
322
+ - ✅ Adiciona comentário com resultados da verificação
323
+ - ✅ Aplica tag 'verified' se verificação passou
324
+
325
+ Este comando **pede confirmação** para:
326
+
327
+ - ⚠️ Mudança de status para 'Done'
328
+ - ⚠️ Alteração de prioridade baseada na análise
329
+ - ⚠️ Quebra da task em subtasks
330
+
331
+ ### **📋 Identificação da Task:**
332
+
333
+ 1. **Sessão ativa**: Usa task-id do arquivo `context.md`
334
+ 2. **Argumento fornecido**: Usa task-id passado pelo usuário
335
+ 3. **Não identificada**: Pergunta ao usuário qual task atualizar
336
+ ```
337
+
338
+ ---
339
+
340
+ **Esta estratégia garante produtividade máxima com controle adequado sobre mudanças críticas! 🚀**