@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.
- package/dist/cli.js +8 -19
- package/dist/cli.js.map +1 -1
- package/package.json +4 -3
- package/templates/.cursor/agents/compliance/iso-22301-specialist.md +917 -0
- package/templates/.cursor/agents/compliance/iso-27001-specialist.md +641 -0
- package/templates/.cursor/agents/compliance/pmbok-specialist.md +669 -0
- package/templates/.cursor/agents/compliance/security-information-master.md +824 -0
- package/templates/.cursor/agents/compliance/soc2-specialist.md +818 -0
- package/templates/.cursor/agents/deployment/docker-specialist.md +1192 -0
- package/templates/.cursor/agents/meta/agent-creator-specialist.md +1135 -0
- package/templates/.cursor/agents/meta/command-creator-specialist.md +1519 -0
- package/templates/.cursor/agents/meta/metaspec-gate-keeper.md +240 -0
- package/templates/.cursor/agents/meta/onion.md +753 -0
- package/templates/.cursor/agents/research/research-agent.md +292 -0
- package/templates/.cursor/agents/review/corporate-compliance-specialist.md +370 -0
- package/templates/.cursor/commands/common/prompts/README.md +187 -0
- package/templates/.cursor/commands/common/prompts/clickup-patterns.md +144 -0
- package/templates/.cursor/commands/common/prompts/code-review-checklist.md +168 -0
- package/templates/.cursor/commands/common/prompts/git-workflow-patterns.md +235 -0
- package/templates/.cursor/commands/common/prompts/output-formats.md +240 -0
- package/templates/.cursor/commands/common/prompts/technical.md +172 -0
- package/templates/.cursor/commands/common/prompts/validation-rules.md +173 -0
- package/templates/.cursor/commands/common/templates/abstraction-template.md +400 -0
- package/templates/.cursor/commands/common/templates/agent-template.md +353 -0
- package/templates/.cursor/commands/common/templates/business_context_template.md +748 -0
- package/templates/.cursor/commands/common/templates/command-template.md +273 -0
- package/templates/.cursor/commands/common/templates/technical_context_template.md +526 -0
- package/templates/.cursor/commands/development/runflow-dev.md +465 -0
- package/templates/.cursor/commands/docs/build-compliance-docs.md +143 -0
- package/templates/.cursor/commands/git/README.md +606 -0
- package/templates/.cursor/commands/meta/all-tools.md +50 -0
- package/templates/.cursor/commands/meta/analyze-complex-problem.md +186 -0
- package/templates/.cursor/commands/meta/create-abstraction.md +859 -0
- package/templates/.cursor/commands/meta/create-agent-express.md +83 -0
- package/templates/.cursor/commands/meta/create-agent.md +210 -0
- package/templates/.cursor/commands/meta/create-command.md +203 -0
- package/templates/.cursor/commands/meta/create-knowledge-base.md +143 -0
- package/templates/.cursor/commands/meta/create-task-structure.md +150 -0
- package/templates/.cursor/commands/meta/setup-integration.md +257 -0
- package/templates/.cursor/commands/onion/setup.md +843 -0
- package/templates/.cursor/commands/onion.md +168 -0
- package/templates/.cursor/commands/product/README.md +230 -0
- package/templates/.cursor/commands/quick/analisys.md +17 -0
- package/templates/.cursor/commands/validate/collab/pair-testing.md +633 -0
- package/templates/.cursor/commands/validate/collab/three-amigos.md +505 -0
- package/templates/.cursor/commands/validate/qa-points/estimate.md +660 -0
- package/templates/.cursor/commands/validate/test-strategy/analyze.md +1134 -0
- package/templates/.cursor/commands/validate/test-strategy/create.md +392 -0
- package/templates/.cursor/commands/validate/workflow.md +360 -0
- package/templates/.cursor/commands/warm-up.md +91 -0
- package/templates/.cursor/docs/architecture/acoplamento-clickup-problema-analise.md +446 -0
- package/templates/.cursor/docs/architecture/desacoplamento-roadmap.md +360 -0
- package/templates/.cursor/docs/architecture/validacao-fase-1.md +219 -0
- package/templates/.cursor/docs/c4/c4-detection-rules.md +395 -0
- package/templates/.cursor/docs/c4/c4-documentation-templates.md +579 -0
- package/templates/.cursor/docs/c4/c4-mermaid-patterns.md +331 -0
- package/templates/.cursor/docs/c4/c4-templates.md +256 -0
- package/templates/.cursor/docs/clickup/clickup-acceptance-criteria-strategy.md +329 -0
- package/templates/.cursor/docs/clickup/clickup-auto-update-strategy.md +318 -0
- package/templates/.cursor/docs/clickup/clickup-comment-formatter.md +239 -0
- package/templates/.cursor/docs/clickup/clickup-description-fix.md +355 -0
- package/templates/.cursor/docs/clickup/clickup-dual-comment-strategy.md +505 -0
- package/templates/.cursor/docs/clickup/clickup-formatting.md +302 -0
- package/templates/.cursor/docs/clickup/separador-tamanho-otimizado.md +256 -0
- package/templates/.cursor/docs/engineer/pre-pr-acceptance-validation.md +256 -0
- package/templates/.cursor/docs/onion/ESPERANTO.md +278 -0
- package/templates/.cursor/docs/onion/agents-reference.md +832 -0
- package/templates/.cursor/docs/onion/clickup-integration.md +738 -0
- package/templates/.cursor/docs/onion/commands-guide.md +807 -0
- package/templates/.cursor/docs/onion/engineering-flows.md +865 -0
- package/templates/.cursor/docs/onion/getting-started.md +741 -0
- package/templates/.cursor/docs/onion/maintenance-checklist.md +388 -0
- package/templates/.cursor/docs/onion/naming-conventions.md +268 -0
- package/templates/.cursor/docs/onion/practical-examples.md +782 -0
- package/templates/.cursor/docs/product/story-points-integration.md +254 -0
- package/templates/.cursor/docs/product/story-points-validation.md +224 -0
- package/templates/.cursor/docs/reviews/task-manager-docs-review-2025-11-24.md +167 -0
- package/templates/.cursor/docs/strategies/clickup-comment-patterns.md +766 -0
- package/templates/.cursor/docs/strategies/clickup-integration-tests.md +599 -0
- package/templates/.cursor/docs/strategies/clickup-mcp-wrappers-tests.md +854 -0
- package/templates/.cursor/docs/strategies/clickup-regression-tests.md +589 -0
- package/templates/.cursor/docs/strategies/visual-patterns.md +308 -0
- package/templates/.cursor/docs/templates/README.md +624 -0
- package/templates/.cursor/docs/templates/adr-template.md +226 -0
- package/templates/.cursor/docs/templates/analysis-template.md +280 -0
- package/templates/.cursor/docs/templates/execution-plan-template.md +430 -0
- package/templates/.cursor/docs/templates/guide-template.md +367 -0
- package/templates/.cursor/docs/templates/phase-execution-prompt-template.md +504 -0
- package/templates/.cursor/docs/templates/reference-template.md +522 -0
- package/templates/.cursor/docs/templates/solution-template.md +390 -0
- package/templates/.cursor/docs/tools/README.md +325 -0
- package/templates/.cursor/docs/tools/agents.md +330 -0
- package/templates/.cursor/docs/tools/commands.md +606 -0
- package/templates/.cursor/docs/tools/cursor.md +498 -0
- package/templates/.cursor/docs/tools/mcps.md +858 -0
- package/templates/.cursor/docs/tools/rules.md +423 -0
- package/templates/.cursor/rules/language-and-documentation.mdc +371 -0
- package/templates/.cursor/rules/onion-patterns.mdc +197 -0
- package/templates/.cursor/rules/validation-rules.mdc +194 -0
- package/templates/.cursor/utils/clickup-mcp-wrappers.md +671 -0
- package/templates/.cursor/utils/date-time-standards.md +182 -0
- package/templates/.cursor/utils/task-manager/README.md +94 -0
- package/templates/.cursor/utils/task-manager/adapters/asana.md +377 -0
- package/templates/.cursor/utils/task-manager/adapters/clickup.md +467 -0
- package/templates/.cursor/utils/task-manager/adapters/linear.md +421 -0
- package/templates/.cursor/utils/task-manager/detector.md +290 -0
- package/templates/.cursor/utils/task-manager/factory.md +363 -0
- package/templates/.cursor/utils/task-manager/interface.md +248 -0
- package/templates/.cursor/utils/task-manager/types.md +409 -0
- package/templates/.cursor/validation/product-task-validation.md +344 -0
- package/templates/.onion/contexts/business/.context-config.yml +52 -0
- package/templates/.onion/contexts/business/README.md +222 -0
- package/templates/.onion/contexts/business/agents/branding-specialist.md +1030 -0
- package/templates/.onion/contexts/business/agents/clickup-specialist.md +397 -0
- package/templates/.onion/contexts/business/agents/extract-meeting-specialist.md +395 -0
- package/templates/.onion/contexts/business/agents/gamma-specialist.md +1169 -0
- package/templates/.onion/contexts/business/agents/meeting-consolidator.md +483 -0
- package/templates/.onion/contexts/business/agents/pain-price-specialist.md +509 -0
- package/templates/.onion/contexts/business/agents/presentation-orchestrator.md +1191 -0
- package/templates/.onion/contexts/business/agents/product-agent.md +202 -0
- package/templates/.onion/contexts/business/agents/story-points-specialist.md +539 -0
- package/templates/.onion/contexts/business/agents/storytelling-specialist.md +891 -0
- package/templates/.onion/contexts/business/agents/task-specialist.md +618 -0
- package/templates/.onion/contexts/business/agents/whisper-specialist.md +373 -0
- package/templates/.onion/contexts/business/commands/advanced/analyze-pain-price.md +709 -0
- package/templates/.onion/contexts/business/commands/advanced/branding.md +460 -0
- package/templates/.onion/contexts/business/commands/advanced/checklist-sync.md +241 -0
- package/templates/.onion/contexts/business/commands/advanced/presentation.md +189 -0
- package/templates/.onion/contexts/business/commands/advanced/transform-consolidated.md +592 -0
- package/templates/.onion/contexts/business/commands/help.md +212 -0
- package/templates/.onion/contexts/business/commands/intermediate/check.md +48 -0
- package/templates/.onion/contexts/business/commands/intermediate/collect.md +96 -0
- package/templates/.onion/contexts/business/commands/intermediate/consolidate-meetings.md +306 -0
- package/templates/.onion/contexts/business/commands/intermediate/convert-to-tasks.md +220 -0
- package/templates/.onion/contexts/business/commands/intermediate/extract-meeting.md +241 -0
- package/templates/.onion/contexts/business/commands/intermediate/feature.md +431 -0
- package/templates/.onion/contexts/business/commands/intermediate/light-arch.md +97 -0
- package/templates/.onion/contexts/business/commands/intermediate/task-check.md +340 -0
- package/templates/.onion/contexts/business/commands/intermediate/validate-task.md +294 -0
- package/templates/.onion/contexts/business/commands/intermediate/whisper.md +325 -0
- package/templates/.onion/contexts/business/commands/starter/estimate.md +519 -0
- package/templates/.onion/contexts/business/commands/starter/refine.md +186 -0
- package/templates/.onion/contexts/business/commands/starter/spec.md +107 -0
- package/templates/.onion/contexts/business/commands/starter/task.md +585 -0
- package/templates/.onion/contexts/business/commands/starter/warm-up.md +187 -0
- package/templates/.onion/contexts/technical/.context-config.yml +64 -0
- package/templates/.onion/contexts/technical/README.md +238 -0
- package/templates/.onion/contexts/technical/agents/branch-code-reviewer.md +200 -0
- package/templates/.onion/contexts/technical/agents/branch-doc-writer.md +162 -0
- package/templates/.onion/contexts/technical/agents/branch-metaspec-checker.md +68 -0
- package/templates/.onion/contexts/technical/agents/branch-test-planner.md +177 -0
- package/templates/.onion/contexts/technical/agents/c4-architecture-specialist.md +712 -0
- package/templates/.onion/contexts/technical/agents/c4-documentation-specialist.md +658 -0
- package/templates/.onion/contexts/technical/agents/code-reviewer.md +155 -0
- package/templates/.onion/contexts/technical/agents/cursor-specialist.md +249 -0
- package/templates/.onion/contexts/technical/agents/docs-reverse-engineer.md +418 -0
- package/templates/.onion/contexts/technical/agents/gitflow-specialist.md +1207 -0
- package/templates/.onion/contexts/technical/agents/linux-security-specialist.md +676 -0
- package/templates/.onion/contexts/technical/agents/mermaid-specialist.md +516 -0
- package/templates/.onion/contexts/technical/agents/nodejs-specialist.md +673 -0
- package/templates/.onion/contexts/technical/agents/nx-migration-specialist.md +867 -0
- package/templates/.onion/contexts/technical/agents/nx-monorepo-specialist.md +619 -0
- package/templates/.onion/contexts/technical/agents/postgres-specialist.md +1124 -0
- package/templates/.onion/contexts/technical/agents/react-developer.md +132 -0
- package/templates/.onion/contexts/technical/agents/runflow-specialist.md +278 -0
- package/templates/.onion/contexts/technical/agents/system-doc-orchestrator.md +1388 -0
- package/templates/.onion/contexts/technical/agents/test-agent.md +425 -0
- package/templates/.onion/contexts/technical/agents/test-engineer.md +295 -0
- package/templates/.onion/contexts/technical/agents/test-planner.md +118 -0
- package/templates/.onion/contexts/technical/agents/zen-engine-specialist.md +421 -0
- package/templates/.onion/contexts/technical/commands/advanced/bump.md +43 -0
- package/templates/.onion/contexts/technical/commands/advanced/consolidate-documents.md +424 -0
- package/templates/.onion/contexts/technical/commands/advanced/e2e.md +392 -0
- package/templates/.onion/contexts/technical/commands/advanced/feature-finish.md +90 -0
- package/templates/.onion/contexts/technical/commands/advanced/feature-publish.md +91 -0
- package/templates/.onion/contexts/technical/commands/advanced/feature-start.md +158 -0
- package/templates/.onion/contexts/technical/commands/advanced/hotfix-finish.md +98 -0
- package/templates/.onion/contexts/technical/commands/advanced/hotfix-start.md +94 -0
- package/templates/.onion/contexts/technical/commands/advanced/hotfix.md +186 -0
- package/templates/.onion/contexts/technical/commands/advanced/refine-vision.md +27 -0
- package/templates/.onion/contexts/technical/commands/advanced/release-finish.md +98 -0
- package/templates/.onion/contexts/technical/commands/advanced/release-start.md +95 -0
- package/templates/.onion/contexts/technical/commands/advanced/reverse-consolidate.md +160 -0
- package/templates/.onion/contexts/technical/commands/advanced/validate-phase-sync.md +118 -0
- package/templates/.onion/contexts/technical/commands/help.md +329 -0
- package/templates/.onion/contexts/technical/commands/intermediate/build-business-docs.md +276 -0
- package/templates/.onion/contexts/technical/commands/intermediate/build-index.md +128 -0
- package/templates/.onion/contexts/technical/commands/intermediate/build-tech-docs.md +204 -0
- package/templates/.onion/contexts/technical/commands/intermediate/code-review.md +215 -0
- package/templates/.onion/contexts/technical/commands/intermediate/docs-health.md +142 -0
- package/templates/.onion/contexts/technical/commands/intermediate/fast-commit.md +45 -0
- package/templates/.onion/contexts/technical/commands/intermediate/integration.md +523 -0
- package/templates/.onion/contexts/technical/commands/intermediate/pr-update.md +198 -0
- package/templates/.onion/contexts/technical/commands/intermediate/pre-pr.md +91 -0
- package/templates/.onion/contexts/technical/commands/intermediate/start.md +266 -0
- package/templates/.onion/contexts/technical/commands/intermediate/sync-sessions.md +320 -0
- package/templates/.onion/contexts/technical/commands/intermediate/unit.md +378 -0
- package/templates/.onion/contexts/technical/commands/intermediate/validate-docs.md +159 -0
- package/templates/.onion/contexts/technical/commands/starter/docs.md +39 -0
- package/templates/.onion/contexts/technical/commands/starter/help.md +306 -0
- package/templates/.onion/contexts/technical/commands/starter/init.md +139 -0
- package/templates/.onion/contexts/technical/commands/starter/plan.md +111 -0
- package/templates/.onion/contexts/technical/commands/starter/pr.md +136 -0
- package/templates/.onion/contexts/technical/commands/starter/sync.md +228 -0
- package/templates/.onion/contexts/technical/commands/starter/warm-up.md +173 -0
- package/templates/.onion/contexts/technical/commands/starter/work.md +169 -0
- package/templates/.onion/core/commands/help.md +388 -0
|
@@ -0,0 +1,446 @@
|
|
|
1
|
+
# 🔗 Problema de Acoplamento ClickUp nos Comandos
|
|
2
|
+
|
|
3
|
+
## 📊 Situação Atual
|
|
4
|
+
|
|
5
|
+
Os comandos de `engineer` e `product` contêm **amostras/exemplos de código MCP do ClickUp** misturados com a documentação, criando um nível alto de acoplamento.
|
|
6
|
+
|
|
7
|
+
### Onde o Acoplamento Existe:
|
|
8
|
+
|
|
9
|
+
```
|
|
10
|
+
.cursor/commands/
|
|
11
|
+
├── engineer/
|
|
12
|
+
│ ├── work.md ← Contém exemplos de mcp_clickup_create_task_comment()
|
|
13
|
+
│ ├── pr.md ← Contém exemplos de comentários formatados
|
|
14
|
+
│ ├── pr-update.md ← Contém exemplos de mcp_clickup_update_task()
|
|
15
|
+
│ └── pre-pr.md ← Contém templates de comentários
|
|
16
|
+
│
|
|
17
|
+
├── product/
|
|
18
|
+
│ ├── task.md ← Contém exemplos JavaScript de mcp_clickup_create_task()
|
|
19
|
+
│ ├── presentation.md ← Contém chamadas mcp_clickup_get_task()
|
|
20
|
+
│ └── checklist-sync.md ← Pseudocódigo de ClickUp
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
---
|
|
24
|
+
|
|
25
|
+
## ❌ Problemas Causados
|
|
26
|
+
|
|
27
|
+
### 1. **Acoplamento Semântico**
|
|
28
|
+
- Comandos ficam "tightly coupled" à API do ClickUp
|
|
29
|
+
- Se API mudar, precisa atualizar múltiplos comandos
|
|
30
|
+
- Documentação fica poluidá com código técnico
|
|
31
|
+
|
|
32
|
+
### 2. **Duplicação de Conhecimento**
|
|
33
|
+
- Padrões de comentários definidos em múltiplos lugares:
|
|
34
|
+
- `/engineer/work.md` - Template de comentário
|
|
35
|
+
- `/engineer/pr.md` - Template de comentário
|
|
36
|
+
- `/engineer/pre-pr.md` - Template de comentário
|
|
37
|
+
- `/engineer/pr-update.md` - Template de comentário
|
|
38
|
+
- `.cursor/docs/clickup/*.md` - Mais templates
|
|
39
|
+
|
|
40
|
+
### 3. **Difícil Manutenção**
|
|
41
|
+
```
|
|
42
|
+
Cenário: Precisa mudar formato dos separadores
|
|
43
|
+
├── Mude em work.md ✓
|
|
44
|
+
├── Mude em pr.md ✓
|
|
45
|
+
├── Mude em pr-update.md ✓
|
|
46
|
+
├── Mude em pre-pr.md ✓
|
|
47
|
+
├── Mude em dual-comment-strategy.md ✓
|
|
48
|
+
├── Mude em separador-tamanho-otimizado.md ✓
|
|
49
|
+
└── Risco de inconsistência entre mudanças! ⚠️
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
### 4. **Falta de Separação de Responsabilidades**
|
|
53
|
+
```
|
|
54
|
+
engineer/work.md atual:
|
|
55
|
+
├── Lógica de fluxo de desenvolvimento ✓ (correto)
|
|
56
|
+
├── Estrutura de fases ✓ (correto)
|
|
57
|
+
├── Templates de comentários ClickUp ✗ (acoplado!)
|
|
58
|
+
├── Padrões formatação Unicode ✗ (acoplado!)
|
|
59
|
+
└── Exemplo de mcp_clickup_create_task_comment() ✗ (acoplado!)
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
### 5. **Difícil Testar Mudanças**
|
|
63
|
+
- Ao fazer mudança em padrão de comentário
|
|
64
|
+
- Precisa testar em 5+ lugares
|
|
65
|
+
- Risco alto de regressão
|
|
66
|
+
|
|
67
|
+
### 6. **Documentação Poluída**
|
|
68
|
+
- Comandos focam em "O que fazer" (business logic)
|
|
69
|
+
- Mas também contêm "Como fazê-lo" (implementação técnica)
|
|
70
|
+
- Fica difícil ler e entender propósito principal
|
|
71
|
+
|
|
72
|
+
---
|
|
73
|
+
|
|
74
|
+
## 🎯 Raiz do Problema
|
|
75
|
+
|
|
76
|
+
O acoplamento surgiu porque:
|
|
77
|
+
|
|
78
|
+
1. **Falta de abstração** - Não há uma camada de abstração para ClickUp
|
|
79
|
+
2. **Proximidade documentação + código** - Docs têm exemplos de implementação
|
|
80
|
+
3. **Padrões espalhados** - Templates não têm "source of truth"
|
|
81
|
+
4. **Sem centralização** - Cada comando define seu próprio padrão
|
|
82
|
+
|
|
83
|
+
---
|
|
84
|
+
|
|
85
|
+
## ✅ Solução Proposta: 3 Camadas de Arquitetura
|
|
86
|
+
|
|
87
|
+
### Arquitetura Ideal:
|
|
88
|
+
|
|
89
|
+
```
|
|
90
|
+
┌─────────────────────────────────────────────────────┐
|
|
91
|
+
│ CAMADA 1: Comandos (Orquestração) │
|
|
92
|
+
│ /engineer/work.md, /product/task.md, etc. │
|
|
93
|
+
│ RESPONSABILIDADE: "O que fazer" (business logic) │
|
|
94
|
+
│ FOCO: Workflow, decisões, próximos passos │
|
|
95
|
+
└────────────────────┬────────────────────────────────┘
|
|
96
|
+
│
|
|
97
|
+
↓
|
|
98
|
+
┌─────────────────────────────────────────────────────┐
|
|
99
|
+
│ CAMADA 2: Estratégias (Padrões + Templates) │
|
|
100
|
+
│ .cursor/docs/strategies/ │
|
|
101
|
+
│ RESPONSABILIDADE: "Como fazê-lo" │
|
|
102
|
+
│ FOCO: Padrões, templates, formato de comentários │
|
|
103
|
+
└────────────────────┬────────────────────────────────┘
|
|
104
|
+
│
|
|
105
|
+
↓
|
|
106
|
+
┌─────────────────────────────────────────────────────┐
|
|
107
|
+
│ CAMADA 3: Utilitários (Abstrações MCP) │
|
|
108
|
+
│ .cursor/utils/clickup-mcp-wrappers/ │
|
|
109
|
+
│ RESPONSABILIDADE: Chamar MCP do ClickUp │
|
|
110
|
+
│ FOCO: Encapsular chamadas API, tratamento erro │
|
|
111
|
+
└─────────────────────────────────────────────────────┘
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
---
|
|
115
|
+
|
|
116
|
+
## 🔧 Implementação da Solução
|
|
117
|
+
|
|
118
|
+
### ANTES (Acoplado):
|
|
119
|
+
|
|
120
|
+
```markdown
|
|
121
|
+
# engineer/work.md
|
|
122
|
+
|
|
123
|
+
Quando uma fase é completada, adicionar comentário:
|
|
124
|
+
|
|
125
|
+
\`\`\`typescript
|
|
126
|
+
const detailedComment = `🔧 FASE COMPLETADA: ${phaseName}
|
|
127
|
+
|
|
128
|
+
━━━━━━━━━━━━━━
|
|
129
|
+
|
|
130
|
+
📁 ARQUIVOS MODIFICADOS:
|
|
131
|
+
∟ ${file1}
|
|
132
|
+
...
|
|
133
|
+
`;
|
|
134
|
+
|
|
135
|
+
await mcp_clickup_create_task_comment({
|
|
136
|
+
task_id: subtaskId,
|
|
137
|
+
comment_text: detailedComment
|
|
138
|
+
});
|
|
139
|
+
\`\`\`
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
**Problemas:**
|
|
143
|
+
- ❌ Comando contém lógica de formatação
|
|
144
|
+
- ❌ Mistura orquestração com implementação
|
|
145
|
+
- ❌ Duplicado em 4 outros comandos
|
|
146
|
+
|
|
147
|
+
---
|
|
148
|
+
|
|
149
|
+
### DEPOIS (Desacoplado):
|
|
150
|
+
|
|
151
|
+
**1. Estratégia centralizada:**
|
|
152
|
+
|
|
153
|
+
```markdown
|
|
154
|
+
# .cursor/docs/strategies/clickup-comment-patterns.md
|
|
155
|
+
|
|
156
|
+
## Padrão: Comentário Detalhado de Fase Completada
|
|
157
|
+
|
|
158
|
+
```typescript
|
|
159
|
+
const pattern = {
|
|
160
|
+
title: "FASE COMPLETADA",
|
|
161
|
+
sections: [
|
|
162
|
+
{ icon: "🔧", key: "FASE_COMPLETADA", title: "Nome da Fase" },
|
|
163
|
+
{ icon: "📁", key: "ARQUIVOS_MODIFICADOS", title: "Lista de arquivos" },
|
|
164
|
+
{ icon: "🔧", key: "IMPLEMENTACOES", title: "O que foi implementado" },
|
|
165
|
+
...
|
|
166
|
+
],
|
|
167
|
+
separator: "━━━━━━━━━━━━━━"
|
|
168
|
+
};
|
|
169
|
+
```
|
|
170
|
+
```
|
|
171
|
+
|
|
172
|
+
**2. Wrapper MCP centralizado:**
|
|
173
|
+
|
|
174
|
+
```typescript
|
|
175
|
+
// .cursor/utils/clickup-mcp-wrappers.ts
|
|
176
|
+
|
|
177
|
+
export async function commentPhaseCompletion(
|
|
178
|
+
subtaskId: string,
|
|
179
|
+
phaseData: PhaseInfo
|
|
180
|
+
): Promise<void> {
|
|
181
|
+
const comment = buildDetailedPhaseComment(phaseData);
|
|
182
|
+
await mcp_clickup_create_task_comment({
|
|
183
|
+
task_id: subtaskId,
|
|
184
|
+
comment_text: comment
|
|
185
|
+
});
|
|
186
|
+
}
|
|
187
|
+
```
|
|
188
|
+
|
|
189
|
+
**3. Comando limpo:**
|
|
190
|
+
|
|
191
|
+
```markdown
|
|
192
|
+
# engineer/work.md
|
|
193
|
+
|
|
194
|
+
Quando uma fase é completada:
|
|
195
|
+
- Chamar wrapper: `commentPhaseCompletion(subtaskId, phaseData)`
|
|
196
|
+
- Sistema automaticamente gera comentário formatado
|
|
197
|
+
- Atualiza status da subtask
|
|
198
|
+
- Adiciona comentário resumido na task principal
|
|
199
|
+
```
|
|
200
|
+
|
|
201
|
+
---
|
|
202
|
+
|
|
203
|
+
## 📋 Benefícios da Solução
|
|
204
|
+
|
|
205
|
+
### 1. **Separação de Responsabilidades** ✅
|
|
206
|
+
```
|
|
207
|
+
engineer/work.md: Apenas orquestração
|
|
208
|
+
strategies/: Padrões e templates
|
|
209
|
+
utils/clickup-*: Implementação MCP
|
|
210
|
+
```
|
|
211
|
+
|
|
212
|
+
### 2. **Fácil Manutenção** ✅
|
|
213
|
+
```
|
|
214
|
+
Mudança de formato de comentário:
|
|
215
|
+
- Altera APENAS em strategies/clickup-comment-patterns.md
|
|
216
|
+
- Todos os comandos automaticamente usam novo padrão
|
|
217
|
+
```
|
|
218
|
+
|
|
219
|
+
### 3. **Zero Duplicação** ✅
|
|
220
|
+
```
|
|
221
|
+
ANTES:
|
|
222
|
+
- 4 templates diferentes em 4 arquivos
|
|
223
|
+
- Risco de inconsistência
|
|
224
|
+
|
|
225
|
+
DEPOIS:
|
|
226
|
+
- 1 template em 1 lugar (source of truth)
|
|
227
|
+
- Todos os comandos usam o mesmo
|
|
228
|
+
```
|
|
229
|
+
|
|
230
|
+
### 4. **Testabilidade** ✅
|
|
231
|
+
```
|
|
232
|
+
Pode testar mudanças:
|
|
233
|
+
- Em um só lugar
|
|
234
|
+
- Com confiança
|
|
235
|
+
- Sem risco de breaking em 5 comandos
|
|
236
|
+
```
|
|
237
|
+
|
|
238
|
+
### 5. **Documentação Limpa** ✅
|
|
239
|
+
```
|
|
240
|
+
engineer/work.md fica focado em:
|
|
241
|
+
- Fluxo de trabalho
|
|
242
|
+
- Decisões de negócio
|
|
243
|
+
- Próximos passos
|
|
244
|
+
|
|
245
|
+
NÃO contém:
|
|
246
|
+
- Código MCP
|
|
247
|
+
- Formatos de comentário
|
|
248
|
+
- Exemplos implementação
|
|
249
|
+
```
|
|
250
|
+
|
|
251
|
+
---
|
|
252
|
+
|
|
253
|
+
## 🗂️ Estrutura Proposta
|
|
254
|
+
|
|
255
|
+
### Criar Nova Estrutura:
|
|
256
|
+
|
|
257
|
+
```
|
|
258
|
+
.cursor/
|
|
259
|
+
├── utils/
|
|
260
|
+
│ └── clickup-mcp-wrappers.md ← NOVO: Abstrações MCP
|
|
261
|
+
│ └── Seções:
|
|
262
|
+
│ - commentPhaseCompletion()
|
|
263
|
+
│ - updateTaskStatus()
|
|
264
|
+
│ - createDetailedComment()
|
|
265
|
+
│ - createSummaryComment()
|
|
266
|
+
│ - etc.
|
|
267
|
+
│
|
|
268
|
+
├── docs/
|
|
269
|
+
│ ├── strategies/ ← NOVO: Padrões centralizados
|
|
270
|
+
│ │ └── clickup-comment-patterns.md ← Todos os templates
|
|
271
|
+
│ │ - Padrão: Fase completada
|
|
272
|
+
│ │ - Padrão: Validação de PR
|
|
273
|
+
│ │ - Padrão: Update de PR
|
|
274
|
+
│ │ - etc.
|
|
275
|
+
│ │
|
|
276
|
+
│ └── clickup/
|
|
277
|
+
│ └── Mantém apenas:
|
|
278
|
+
│ - Documentação conceitual
|
|
279
|
+
│ - Decisões arquiteturais
|
|
280
|
+
│ - Não contém implementação
|
|
281
|
+
```
|
|
282
|
+
|
|
283
|
+
---
|
|
284
|
+
|
|
285
|
+
## 📝 Refatoração Passo a Passo
|
|
286
|
+
|
|
287
|
+
### Fase 1: Criar Abstrações
|
|
288
|
+
- [ ] Criar `.cursor/utils/clickup-mcp-wrappers.md`
|
|
289
|
+
- [ ] Documentar todas as abstrações necessárias
|
|
290
|
+
- [ ] Criar wrappers para operações comuns
|
|
291
|
+
|
|
292
|
+
### Fase 2: Centralizar Padrões
|
|
293
|
+
- [ ] Criar `.cursor/docs/strategies/clickup-comment-patterns.md`
|
|
294
|
+
- [ ] Migrar TODOS os templates de comentário
|
|
295
|
+
- [ ] Remover duplicatas de outros arquivos
|
|
296
|
+
|
|
297
|
+
### Fase 3: Refatorar Comandos
|
|
298
|
+
- [ ] `engineer/work.md` - Remover exemplos MCP
|
|
299
|
+
- [ ] `engineer/pr.md` - Remover exemplos MCP
|
|
300
|
+
- [ ] `engineer/pre-pr.md` - Remover exemplos MCP
|
|
301
|
+
- [ ] `engineer/pr-update.md` - Remover exemplos MCP
|
|
302
|
+
- [ ] `product/task.md` - Remover exemplos MCP
|
|
303
|
+
|
|
304
|
+
### Fase 4: Atualizar Documentação
|
|
305
|
+
- [ ] Atualizar `.cursor/docs/clickup/clickup-*.md`
|
|
306
|
+
- [ ] Remover implementação técnica
|
|
307
|
+
- [ ] Manter apenas conceitos e decisões
|
|
308
|
+
|
|
309
|
+
### Fase 5: Validação
|
|
310
|
+
- [ ] Testar que comandos ainda funcionam
|
|
311
|
+
- [ ] Verificar consistência de comentários
|
|
312
|
+
- [ ] Validar que documentação fica clara
|
|
313
|
+
|
|
314
|
+
---
|
|
315
|
+
|
|
316
|
+
## 🎯 Checklist de Desacoplamento
|
|
317
|
+
|
|
318
|
+
Para cada comando (`engineer/work.md`, `engineer/pr.md`, etc):
|
|
319
|
+
|
|
320
|
+
- [ ] Remove exemplos de `mcp_clickup_*`
|
|
321
|
+
- [ ] Remove templates de comentários inline
|
|
322
|
+
- [ ] Remove pseudocódigo de implementação
|
|
323
|
+
- [ ] Referencia abstrações centralizadas
|
|
324
|
+
- [ ] Fica focado em "o que fazer"
|
|
325
|
+
- [ ] Fica claro e legível
|
|
326
|
+
|
|
327
|
+
---
|
|
328
|
+
|
|
329
|
+
## 💡 Exemplo Prático Completo
|
|
330
|
+
|
|
331
|
+
### ANTES (Acoplado):
|
|
332
|
+
|
|
333
|
+
```markdown
|
|
334
|
+
# /engineer/work.md
|
|
335
|
+
|
|
336
|
+
## 💬 Estratégia DUAL de Comentários
|
|
337
|
+
|
|
338
|
+
```typescript
|
|
339
|
+
const detailedComment = `🔧 FASE COMPLETADA: ${phaseName}
|
|
340
|
+
|
|
341
|
+
━━━━━━━━━━━━━━
|
|
342
|
+
|
|
343
|
+
📁 ARQUIVOS MODIFICADOS:
|
|
344
|
+
∟ ${file1}
|
|
345
|
+
∟ ${file2}
|
|
346
|
+
|
|
347
|
+
🔧 IMPLEMENTAÇÕES:
|
|
348
|
+
▶ ${impl1}
|
|
349
|
+
▶ ${impl2}
|
|
350
|
+
|
|
351
|
+
...
|
|
352
|
+
|
|
353
|
+
━━━━━━━━━━━━━━
|
|
354
|
+
|
|
355
|
+
⏰ Completado: ${timestamp} | 🎯 Status: Done`;
|
|
356
|
+
|
|
357
|
+
// 1. Comentário DETALHADO na SUBTASK
|
|
358
|
+
await mcp_clickup_create_task_comment({
|
|
359
|
+
task_id: subtaskId,
|
|
360
|
+
comment_text: detailedComment
|
|
361
|
+
});
|
|
362
|
+
|
|
363
|
+
// 2. Atualizar STATUS da SUBTASK
|
|
364
|
+
await mcp_clickup_update_task({
|
|
365
|
+
task_id: subtaskId,
|
|
366
|
+
status: 'Done'
|
|
367
|
+
});
|
|
368
|
+
|
|
369
|
+
// 3. Comentário RESUMIDO na TASK PRINCIPAL
|
|
370
|
+
await mcp_clickup_create_task_comment({
|
|
371
|
+
task_id: mainTaskId,
|
|
372
|
+
comment_text: summaryComment
|
|
373
|
+
});
|
|
374
|
+
```
|
|
375
|
+
```
|
|
376
|
+
|
|
377
|
+
---
|
|
378
|
+
|
|
379
|
+
### DEPOIS (Desacoplado):
|
|
380
|
+
|
|
381
|
+
```markdown
|
|
382
|
+
# /engineer/work.md
|
|
383
|
+
|
|
384
|
+
## 💬 Estratégia DUAL de Comentários
|
|
385
|
+
|
|
386
|
+
Quando uma fase é completada, o sistema automaticamente:
|
|
387
|
+
|
|
388
|
+
1. **Comentário detalhado na subtask**
|
|
389
|
+
- Contém contexto técnico completo
|
|
390
|
+
- Usa padrão de: `.cursor/docs/strategies/clickup-comment-patterns.md`
|
|
391
|
+
- Gerado por: `.cursor/utils/clickup-mcp-wrappers.md` → `commentPhaseCompletion()`
|
|
392
|
+
|
|
393
|
+
2. **Atualiza status da subtask para Done**
|
|
394
|
+
- Status automaticamente atualizado
|
|
395
|
+
|
|
396
|
+
3. **Comentário resumido na task principal**
|
|
397
|
+
- Contém apenas progresso executivo
|
|
398
|
+
- Usa padrão de: `.cursor/docs/strategies/clickup-comment-patterns.md`
|
|
399
|
+
- Gerado por: `.cursor/utils/clickup-mcp-wrappers.md` → `commentProgressUpdate()`
|
|
400
|
+
|
|
401
|
+
**Para detalhes técnicos**, ver:
|
|
402
|
+
- Padrões em `.cursor/docs/strategies/clickup-comment-patterns.md`
|
|
403
|
+
- Implementação em `.cursor/utils/clickup-mcp-wrappers.md`
|
|
404
|
+
```
|
|
405
|
+
|
|
406
|
+
**Resultado:**
|
|
407
|
+
- ✅ `engineer/work.md` focado em orquestração
|
|
408
|
+
- ✅ Implementação técnica centralizada
|
|
409
|
+
- ✅ Fácil entender propósito do comando
|
|
410
|
+
- ✅ Fácil manter padrões em um só lugar
|
|
411
|
+
|
|
412
|
+
---
|
|
413
|
+
|
|
414
|
+
## 🚀 Benefício Esperado
|
|
415
|
+
|
|
416
|
+
```
|
|
417
|
+
ANTES (Acoplado):
|
|
418
|
+
├── 5 exemplos de commentário espalhados
|
|
419
|
+
├── 4 templates duplicados
|
|
420
|
+
├── Comando + implementação misturados
|
|
421
|
+
└── ❌ Difícil manter e evoluir
|
|
422
|
+
|
|
423
|
+
DEPOIS (Desacoplado):
|
|
424
|
+
├── 1 fonte de verdade para padrões
|
|
425
|
+
├── Abstrações reutilizáveis
|
|
426
|
+
├── Comando focado em negócio
|
|
427
|
+
├── Implementação centralizada
|
|
428
|
+
└── ✅ Fácil manter, testar e evoluir
|
|
429
|
+
```
|
|
430
|
+
|
|
431
|
+
---
|
|
432
|
+
|
|
433
|
+
## 📚 Referências
|
|
434
|
+
|
|
435
|
+
- Single Responsibility Principle (SRP)
|
|
436
|
+
- Separation of Concerns (SOC)
|
|
437
|
+
- DRY (Don't Repeat Yourself)
|
|
438
|
+
- Abstraction Pattern
|
|
439
|
+
|
|
440
|
+
---
|
|
441
|
+
|
|
442
|
+
**Status**: Análise completa e solução detalhada
|
|
443
|
+
**Prioridade**: ALTA - Acoplamento é dívida técnica
|
|
444
|
+
**Impacto**: Manutenibilidade significativamente melhorada
|
|
445
|
+
**Esforço**: Médio (5-8 horas para refatoração completa)
|
|
446
|
+
|