wegho-agentes 7.0.0 → 7.0.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 (108) hide show
  1. package/.agent/skills/wegho-global-rules/SKILL.md +20 -0
  2. package/.agent/workflows/PROMPT_GUIDE.md +7 -4
  3. package/.agents/cli.ts +29 -21
  4. package/.agents/core/base-agent.ts +28 -12
  5. package/.agents/core/memory-system.ts +45 -13
  6. package/.agents/core/report-generator.ts +26 -19
  7. package/.agents/orchestrator.ts +104 -74
  8. package/.clinerules +318 -1229
  9. package/.cursorrules +0 -189
  10. package/README.md +3 -3
  11. package/docs/VERSION.md +3 -2
  12. package/package.json +3 -3
  13. package/.agents/agents/ai-agents/README.md +0 -175
  14. package/.agents/agents/ai-agents/agent.ts +0 -83
  15. package/.agents/agents/ai-agents/specialty.md +0 -14
  16. package/.agents/agents/architecture/README.md +0 -61
  17. package/.agents/agents/architecture/agent.ts +0 -238
  18. package/.agents/agents/architecture/memory.md +0 -111
  19. package/.agents/agents/architecture/specialty.md +0 -31
  20. package/.agents/agents/automation/README.md +0 -60
  21. package/.agents/agents/automation/agent.ts +0 -61
  22. package/.agents/agents/automation/specialty.md +0 -14
  23. package/.agents/agents/backend/README.md +0 -155
  24. package/.agents/agents/backend/agent.ts +0 -100
  25. package/.agents/agents/backend/specialty.md +0 -14
  26. package/.agents/agents/cloud/README.md +0 -73
  27. package/.agents/agents/cloud/agent.ts +0 -53
  28. package/.agents/agents/cloud/specialty.md +0 -14
  29. package/.agents/agents/code-auditor/README.md +0 -37
  30. package/.agents/agents/code-auditor/agent.ts +0 -334
  31. package/.agents/agents/code-auditor/specialty.md +0 -14
  32. package/.agents/agents/cro/README.md +0 -200
  33. package/.agents/agents/cro/agent.ts +0 -61
  34. package/.agents/agents/cro/specialty.md +0 -14
  35. package/.agents/agents/database/README.md +0 -67
  36. package/.agents/agents/database/agent.ts +0 -93
  37. package/.agents/agents/database/specialty.md +0 -14
  38. package/.agents/agents/devops/README.md +0 -84
  39. package/.agents/agents/devops/agent.ts +0 -54
  40. package/.agents/agents/devops/specialty.md +0 -14
  41. package/.agents/agents/documentation/README.md +0 -107
  42. package/.agents/agents/documentation/agent.ts +0 -253
  43. package/.agents/agents/documentation/memory.md +0 -56
  44. package/.agents/agents/documentation/specialty.md +0 -33
  45. package/.agents/agents/frontend/README.md +0 -188
  46. package/.agents/agents/frontend/agent.ts +0 -211
  47. package/.agents/agents/frontend/memory.md +0 -139
  48. package/.agents/agents/frontend/specialty.md +0 -30
  49. package/.agents/agents/inventory/README.md +0 -35
  50. package/.agents/agents/inventory/agent.ts +0 -758
  51. package/.agents/agents/inventory/memory.md +0 -50
  52. package/.agents/agents/inventory/specialty.md +0 -129
  53. package/.agents/agents/nextjs/README.md +0 -58
  54. package/.agents/agents/nextjs/agent.ts +0 -114
  55. package/.agents/agents/nextjs/specialty.md +0 -14
  56. package/.agents/agents/pentest/README.md +0 -228
  57. package/.agents/agents/pentest/agent.ts +0 -96
  58. package/.agents/agents/pentest/specialty.md +0 -14
  59. package/.agents/agents/planning/README.md +0 -107
  60. package/.agents/agents/planning/agent.ts +0 -389
  61. package/.agents/agents/planning/specialty.md +0 -14
  62. package/.agents/agents/project-discovery/README.md +0 -35
  63. package/.agents/agents/project-discovery/agent.ts +0 -344
  64. package/.agents/agents/project-discovery/specialty.md +0 -14
  65. package/.agents/agents/quality/README.md +0 -81
  66. package/.agents/agents/quality/agent.ts +0 -269
  67. package/.agents/agents/quality/memory.md +0 -110
  68. package/.agents/agents/quality/specialty.md +0 -31
  69. package/.agents/agents/rag/README.md +0 -41
  70. package/.agents/agents/rag/agent.ts +0 -85
  71. package/.agents/agents/rag/specialty.md +0 -14
  72. package/.agents/agents/security/README.md +0 -152
  73. package/.agents/agents/security/agent.ts +0 -218
  74. package/.agents/agents/security/memory.md +0 -91
  75. package/.agents/agents/security/specialty.md +0 -31
  76. package/.agents/agents/task-analyzer/README.md +0 -36
  77. package/.agents/agents/task-analyzer/agent.ts +0 -462
  78. package/.agents/agents/task-analyzer/specialty.md +0 -14
  79. package/.agents/agents/testing/README.md +0 -161
  80. package/.agents/agents/testing/agent.ts +0 -61
  81. package/.agents/agents/testing/specialty.md +0 -14
  82. package/.agents/agents/uiux/README.md +0 -68
  83. package/.agents/agents/uiux/agent.ts +0 -95
  84. package/.agents/agents/uiux/specialty.md +0 -14
  85. package/.agents/base/base-agent.ts +0 -331
  86. package/.agents/base/memory-system.ts +0 -397
  87. package/.agents/base/skill-manager.ts +0 -95
  88. package/.agents/convert-memory.ps1 +0 -153
  89. package/.agents/examples/reporting-example.md +0 -203
  90. package/.agents/managers/build-manager.ts +0 -304
  91. package/.agents/managers/cache-manager.ts +0 -184
  92. package/.agents/managers/checkpoint-manager.ts +0 -299
  93. package/.agents/migrate-agents.ps1 +0 -117
  94. package/.agents/templates/change-report.md +0 -55
  95. package/.agents/templates/execution-plan.md +0 -36
  96. package/.agents/unmapped-skills.txt +0 -0
  97. package/.agents/utils/agent-migrator.ts +0 -360
  98. package/.agents/utils/agent-monitor.ts +0 -102
  99. package/.agents/utils/agent-parallelizer.ts +0 -108
  100. package/.agents/utils/context-monitor.ts +0 -140
  101. package/.agents/utils/feedback-collector.ts +0 -207
  102. package/.agents/utils/file-generator.ts +0 -304
  103. package/.agents/utils/memory-converter.ts +0 -217
  104. package/.agents/utils/memory-dashboard.ts +0 -147
  105. package/.agents/utils/performance-tracker.ts +0 -275
  106. package/.agents/utils/report-generator.ts +0 -193
  107. package/.agents/utils/retry-utility.ts +0 -140
  108. package/.agents/utils/workflow-validator.ts +0 -158
@@ -1,344 +0,0 @@
1
- /**
2
- * Project Discovery Agent
3
- *
4
- * Responsabilidades:
5
- * - Detectar se é projeto novo ou existente
6
- * - Fazer perguntas sobre o projeto
7
- * - Analisar respostas e gerar relatório
8
- * - Sugerir/criar agentes customizados
9
- * - Adicionar estruturas ao código
10
- */
11
-
12
- import * as fs from 'fs';
13
- import * as path from 'path';
14
- import * as readline from 'readline';
15
- import { DomainType } from './config.js';
16
- import { CodeAuditorAgent } from './code-auditor-agent.js';
17
-
18
- export interface ProjectProfile {
19
- isNewProject: boolean;
20
- projectName: string;
21
- domain: DomainType | 'custom';
22
- customDomain?: string;
23
- stack: string[];
24
- objectives: string[];
25
- features: string[];
26
- teamSize: number;
27
- hasDatabase: boolean;
28
- hasCMS: boolean;
29
- hasAuth: boolean;
30
- hasPayments: boolean;
31
- customNeeds: string[];
32
- }
33
-
34
- export interface AgentRecommendation {
35
- name: string;
36
- file: string;
37
- purpose: string;
38
- priority: 'high' | 'medium' | 'low';
39
- autoCreate: boolean;
40
- }
41
-
42
- export class ProjectDiscoveryAgent {
43
- private readline: any;
44
-
45
- constructor() {
46
- this.readline = readline.createInterface({
47
- input: process.stdin,
48
- output: process.stdout,
49
- });
50
- }
51
-
52
- /**
53
- * Detecta se é projeto novo
54
- */
55
- detectNewProject(): boolean {
56
- // Verifica se já existe documentação de agentes
57
- const hasAgentRules = fs.existsSync('docs/AGENT_RULES.md');
58
- const hasBuildHistory = fs.existsSync('docs/BUILD_HISTORY.md');
59
- const hasSymbolsTree = fs.existsSync('docs/SYMBOLS_TREE.md');
60
-
61
- // Se não existe nenhum, é novo
62
- if (!hasAgentRules && !hasBuildHistory && !hasSymbolsTree) {
63
- return true;
64
- }
65
-
66
- // Se tem BUILD_HISTORY vazio ou só com template, é novo
67
- if (hasBuildHistory) {
68
- const content = fs.readFileSync('docs/BUILD_HISTORY.md', 'utf-8');
69
- if (content.includes('[Próximas Entradas]') && !content.includes('Build 001')) {
70
- return true;
71
- }
72
- }
73
-
74
- return false;
75
- }
76
-
77
- /**
78
- * Faz pergunta ao usuário
79
- */
80
- private async ask(question: string): Promise<string> {
81
- return new Promise((resolve) => {
82
- this.readline.question(question, (answer: string) => {
83
- resolve(answer.trim());
84
- });
85
- });
86
- }
87
-
88
- /**
89
- * Pergunta de múltipla escolha
90
- */
91
- private async askChoice(question: string, choices: string[]): Promise<string> {
92
- console.log(`\n${question}`);
93
- choices.forEach((choice, index) => {
94
- console.log(` ${index + 1}. ${choice}`);
95
- });
96
-
97
- const answer = await this.ask('Escolha (número): ');
98
- const index = parseInt(answer) - 1;
99
-
100
- if (index >= 0 && index < choices.length) {
101
- return choices[index];
102
- }
103
-
104
- return choices[0]; // Default primeira opção
105
- }
106
-
107
- /**
108
- * Executa descoberta interativa do projeto
109
- */
110
- async discoverProject(): Promise<ProjectProfile> {
111
- console.log('\n━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━');
112
- console.log('🔍 DESCOBERTA DO PROJETO');
113
- console.log('━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n');
114
-
115
- const isNewProject = this.detectNewProject();
116
-
117
- if (isNewProject) {
118
- console.log('✨ Detectado: PROJETO NOVO\n');
119
- } else {
120
- console.log('📦 Detectado: PROJETO EXISTENTE\n');
121
- console.log('🔍 Vou primeiro analisar o código existente para gerar relatório...\n');
122
-
123
- // NOVO: Executar auditoria de código para projetos existentes
124
- const auditor = new CodeAuditorAgent();
125
- const auditReport = await auditor.auditProject();
126
-
127
- // Mostrar resumo da auditoria
128
- console.log(auditReport.summary);
129
-
130
- // Salvar relatório
131
- auditor.saveReport(auditReport);
132
-
133
- console.log('📋 Execute as correções recomendadas antes de prosseguir.\n');
134
- console.log('Agora vamos configurar os agentes...\n');
135
- }
136
-
137
- // Perguntas básicas
138
- const projectName = await this.ask('📝 Nome do projeto: ');
139
-
140
- const domain = await this.askChoice(
141
- '🎯 Qual o domínio principal?',
142
- ['Site de Notícias', 'Produção/Expedição', 'Logística', 'E-commerce', 'SaaS', 'Outro']
143
- );
144
-
145
- let customDomain: string | undefined;
146
- if (domain === 'Outro') {
147
- customDomain = await this.ask(' Descreva o domínio: ');
148
- }
149
-
150
- // Stack
151
- console.log('\n💻 Stack Tecnológica (separado por vírgula):');
152
- const stackInput = await this.ask(' Ex: Next.js, Supabase, React, TypeScript: ');
153
- const stack = stackInput.split(',').map(s => s.trim()).filter(s => s.length > 0);
154
-
155
- // Objetivos
156
- console.log('\n🎯 Principais objetivos (separado por vírgula):');
157
- const objectivesInput = await this.ask(' Ex: Gestão de conteúdo, Dashboard analytics: ');
158
- const objectives = objectivesInput.split(',').map(s => s.trim()).filter(s => s.length > 0);
159
-
160
- // Features
161
- console.log('\n📋 Features principais (separado por vírgula):');
162
- const featuresInput = await this.ask(' Ex: Login, Pagamentos, Notificações: ');
163
- const features = featuresInput.split(',').map(s => s.trim()).filter(s => s.length > 0);
164
-
165
- // Tamanho do time
166
- const teamSizeInput = await this.ask('\n👥 Tamanho do time (número): ');
167
- const teamSize = parseInt(teamSizeInput) || 1;
168
-
169
- // Questões específicas
170
- const hasDatabase = (await this.ask('\n🗄️ Usa banco de dados? (s/n): ')).toLowerCase() === 's';
171
- const hasCMS = (await this.ask('📰 Precisa de CMS? (s/n): ')).toLowerCase() === 's';
172
- const hasAuth = (await this.ask('🔐 Tem autenticação? (s/n): ')).toLowerCase() === 's';
173
- const hasPayments = (await this.ask('💳 Processa pagamentos? (s/n): ')).toLowerCase() === 's';
174
-
175
- // Necessidades customizadas
176
- console.log('\n🔧 Necessidades específicas do projeto (separado por vírgula):');
177
- const customNeedsInput = await this.ask(' Ex: Integração com API externa, Relatórios PDF: ');
178
- const customNeeds = customNeedsInput.split(',').map(s => s.trim()).filter(s => s.length > 0);
179
-
180
- this.readline.close();
181
-
182
- // Mapear domínio
183
- const domainMapping: Record<string, DomainType | 'custom'> = {
184
- 'Site de Notícias': 'news',
185
- 'Produção/Expedição': 'production',
186
- 'Logística': 'logistics',
187
- 'E-commerce': 'custom',
188
- 'SaaS': 'custom',
189
- 'Outro': 'custom',
190
- };
191
-
192
- return {
193
- isNewProject,
194
- projectName,
195
- domain: domainMapping[domain] || 'custom',
196
- customDomain: domain === 'Outro' ? customDomain : undefined,
197
- stack,
198
- objectives,
199
- features,
200
- teamSize,
201
- hasDatabase,
202
- hasCMS,
203
- hasAuth,
204
- hasPayments,
205
- customNeeds,
206
- };
207
- }
208
-
209
- /**
210
- * Gera recomendações de agentes baseado no perfil
211
- */
212
- generateRecommendations(profile: ProjectProfile): AgentRecommendation[] {
213
- const recommendations: AgentRecommendation[] = [];
214
-
215
- // Agentes core (sempre recomendados)
216
- recommendations.push(
217
- { name: 'Frontend', file: 'core/frontend-agent.ts', purpose: 'Validar UI/UX', priority: 'high', autoCreate: true },
218
- { name: 'Security', file: 'core/security-agent.ts', purpose: 'Detectar vulnerabilidades', priority: 'high', autoCreate: true },
219
- { name: 'Architecture', file: 'core/architecture-agent.ts', purpose: 'Manter organização', priority: 'high', autoCreate: true },
220
- { name: 'Quality', file: 'core/quality-agent.ts', purpose: 'Lint, build, tests', priority: 'high', autoCreate: true },
221
- { name: 'Documentation', file: 'core/documentation-agent.ts', purpose: 'Docs automáticas', priority: 'medium', autoCreate: true }
222
- );
223
-
224
- // Agentes de domínio específicos
225
- if (profile.domain === 'news' || profile.hasCMS) {
226
- recommendations.push(
227
- { name: 'CMS', file: 'domains/news/cms-agent.ts', purpose: 'Gestão de conteúdo', priority: 'high', autoCreate: true },
228
- { name: 'SEO', file: 'domains/news/seo-agent.ts', purpose: 'Otimização SEO', priority: 'high', autoCreate: true }
229
- );
230
- }
231
-
232
- if (profile.domain === 'production') {
233
- recommendations.push(
234
- { name: 'Production Control', file: 'domains/production/production-control-agent.ts', purpose: 'Eventos de produção', priority: 'high', autoCreate: true },
235
- { name: 'Quality Control', file: 'domains/production/quality-control-agent.ts', purpose: 'Controle de qualidade', priority: 'medium', autoCreate: false }
236
- );
237
- }
238
-
239
- if (profile.domain === 'logistics') {
240
- recommendations.push(
241
- { name: 'Route', file: 'domains/logistics/route-agent.ts', purpose: 'Otimização de rotas', priority: 'high', autoCreate: true },
242
- { name: 'Fleet', file: 'domains/logistics/fleet-agent.ts', purpose: 'Gestão de frota', priority: 'medium', autoCreate: false }
243
- );
244
- }
245
-
246
- // Agentes baseados em features
247
- if (profile.hasAuth) {
248
- recommendations.push(
249
- { name: 'Auth', file: 'domains/custom/auth-agent.ts', purpose: 'Validar fluxos de autenticação', priority: 'high', autoCreate: true }
250
- );
251
- }
252
-
253
- if (profile.hasPayments) {
254
- recommendations.push(
255
- { name: 'Payments', file: 'domains/custom/payments-agent.ts', purpose: 'Validar transações', priority: 'high', autoCreate: true }
256
- );
257
- }
258
-
259
- if (profile.hasDatabase) {
260
- recommendations.push(
261
- { name: 'Database Security', file: 'core/database-security-agent.ts', purpose: 'RLS e policies', priority: 'high', autoCreate: true }
262
- );
263
- }
264
-
265
- return recommendations;
266
- }
267
-
268
- /**
269
- * Gera relatório do projeto
270
- */
271
- generateReport(profile: ProjectProfile, recommendations: AgentRecommendation[]): string {
272
- let report = '\n━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n';
273
- report += '📊 RELATÓRIO DO PROJETO\n';
274
- report += '━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n\n';
275
-
276
- report += `📝 **Nome**: ${profile.projectName}\n`;
277
- report += `🎯 **Domínio**: ${profile.domain}${profile.customDomain ? ` (${profile.customDomain})` : ''}\n`;
278
- report += `✨ **Status**: ${profile.isNewProject ? 'Projeto Novo' : 'Projeto Existente'}\n`;
279
- report += `👥 **Time**: ${profile.teamSize} pessoa(s)\n\n`;
280
-
281
- report += `💻 **Stack**:\n`;
282
- profile.stack.forEach(s => report += ` - ${s}\n`);
283
-
284
- report += `\n🎯 **Objetivos**:\n`;
285
- profile.objectives.forEach(o => report += ` - ${o}\n`);
286
-
287
- report += `\n📋 **Features**:\n`;
288
- profile.features.forEach(f => report += ` - ${f}\n`);
289
-
290
- report += `\n🔧 **Características**:\n`;
291
- report += ` - Database: ${profile.hasDatabase ? '✅' : '❌'}\n`;
292
- report += ` - CMS: ${profile.hasCMS ? '✅' : '❌'}\n`;
293
- report += ` - Auth: ${profile.hasAuth ? '✅' : '❌'}\n`;
294
- report += ` - Payments: ${profile.hasPayments ? '✅' : '❌'}\n`;
295
-
296
- if (profile.customNeeds.length > 0) {
297
- report += `\n🔧 **Necessidades Específicas**:\n`;
298
- profile.customNeeds.forEach(n => report += ` - ${n}\n`);
299
- }
300
-
301
- report += `\n━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n`;
302
- report += '🤖 AGENTES RECOMENDADOS\n';
303
- report += '━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n\n';
304
-
305
- const highPriority = recommendations.filter(r => r.priority === 'high');
306
- const mediumPriority = recommendations.filter(r => r.priority === 'medium');
307
- const lowPriority = recommendations.filter(r => r.priority === 'low');
308
-
309
- if (highPriority.length > 0) {
310
- report += '🔴 **Alta Prioridade** (serão criados automaticamente):\n';
311
- highPriority.forEach(r => {
312
- report += ` ✅ ${r.name} - ${r.purpose}\n`;
313
- report += ` 📄 ${r.file}\n`;
314
- });
315
- report += '\n';
316
- }
317
-
318
- if (mediumPriority.length > 0) {
319
- report += '🟡 **Média Prioridade** (opcionais):\n';
320
- mediumPriority.forEach(r => {
321
- report += ` ⚪ ${r.name} - ${r.purpose}\n`;
322
- report += ` 📄 ${r.file}\n`;
323
- });
324
- report += '\n';
325
- }
326
-
327
- report += '━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n';
328
- report += `✅ **Total**: ${recommendations.length} agentes recomendados\n`;
329
- report += `🔴 **Auto-criação**: ${recommendations.filter(r => r.autoCreate).length} agentes\n`;
330
- report += '━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n\n';
331
-
332
- return report;
333
- }
334
-
335
- /**
336
- * Salva perfil do projeto
337
- */
338
- saveProfile(profile: ProjectProfile): void {
339
- const profilePath = 'docs/PROJECT_PROFILE.json';
340
- fs.writeFileSync(profilePath, JSON.stringify(profile, null, 2), 'utf-8');
341
- console.log(`✅ Perfil salvo em: ${profilePath}\n`);
342
- }
343
- }
344
-
@@ -1,14 +0,0 @@
1
- # Project Discovery Agent - Especialidade
2
-
3
- ## Responsabilidades
4
- - Definir responsabilidades específicas
5
-
6
- ## Expertise
7
- - Definir áreas de expertise
8
-
9
- ## Regras
10
- - Arquivos < 500 linhas
11
- - Não alucinar APIs
12
-
13
- ## Tarefas Típicas
14
- - Listar tarefas típicas
@@ -1,81 +0,0 @@
1
- # Quality Agent
2
-
3
- ## 🎯 Responsabilidade
4
-
5
- Especialista em garantia de qualidade, code review, linting, formatação e validação de padrões de código.
6
-
7
- ## 🛠️ Skills Disponíveis
8
-
9
- ### ✅ Qualidade de Código
10
-
11
- *Skills de qualidade serão mapeadas quando adicionadas*
12
-
13
- #### [clean-code](../../skills/clean-code/)
14
- **Propósito**: Princípios clean code
15
- **Quando usar**: Revisar qualidade de código
16
-
17
- #### [code-review-checklist](../../skills/code-review-checklist/)
18
- **Propósito**: Checklist de code review
19
- **Quando usar**: Padronizar reviews
20
-
21
- #### [cc-skill-coding-standards](../../skills/cc-skill-coding-standards/)
22
- **Propósito**: Padrões de codificação
23
- **Quando usar**: Enforcar standards
24
-
25
- #### [lint-and-validate](../../skills/lint-and-validate/)
26
- **Propósito**: Linting e validação
27
- **Quando usar**: Automatizar quality checks
28
-
29
- #### [claude-code-guide](../../skills/claude-code-guide/)
30
- **Propósito**: Guia de código Claude
31
- **Quando usar**: Best practices gerais
32
-
33
- #### [cc-skill-continuous-learning](../../skills/cc-skill-continuous-learning/)
34
- **Propósito**: Aprendizado contínuo
35
- **Quando usar**: Melhorar com feedback
36
-
37
- #### [cc-skill-project-guidelines-example](../../skills/cc-skill-project-guidelines-example/)
38
- **Propósito**: Exemplo de guidelines
39
- **Quando usar**: Referência de padrões
40
-
41
- #### [senior-architect](../../skills/senior-architect/)
42
- **Propósito**: Expert architect
43
-
44
- #### [senior-fullstack](../../skills/senior-fullstack/)
45
- **Propósito**: Fullstack sênior
46
-
47
- #### [production-code-audit](../../skills/production-code-audit/)
48
- **Propósito**: Auditoria de produção
49
-
50
- #### [receiving-code-review](../../skills/receiving-code-review/)
51
- **Propósito**: Receber code review
52
-
53
- #### [requesting-code-review](../../skills/requesting-code-review/)
54
- **Propósito**: Solicitar code review
55
-
56
- ## 📋 Tarefas Típicas
57
-
58
- - ✅ Revisar código (code review)
59
- - ✅ Validar padrões de código
60
- - ✅ Executar linters (ESLint, Prettier)
61
- - ✅ Verificar limite de 500 linhas
62
- - ✅ Validar tipagem TypeScript
63
- - ✅ Detectar code smells
64
- - ✅ Garantir consistência
65
-
66
- ## 🔗 Dependências
67
-
68
- - `BaseAgent`
69
- - `MemorySystem`
70
- - `SkillManager`
71
-
72
- ## 🔄 Fluxo de Trabalho
73
-
74
- 1. **Consulta memória**: Busca code reviews similares
75
- 2. **Carrega skills**: quality patterns
76
- 3. **Executa validação**: Analisa código
77
- 4. **Registra resultado**: Salva findings em memory.md
78
-
79
- ## 📊 Memória
80
-
81
- Ver [memory.md](./memory.md) para histórico de code reviews e padrões.