@justmpm/memory 0.1.0 → 0.1.2
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/AGENTS.md +694 -0
- package/CLAUDE.md +575 -0
- package/README.md +27 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +41 -0
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
- package/src/index.ts +45 -0
package/AGENTS.md
ADDED
|
@@ -0,0 +1,694 @@
|
|
|
1
|
+
# @justmpm/memory - Guia para Subagents (AGENTS.md)
|
|
2
|
+
|
|
3
|
+
## Visão Geral
|
|
4
|
+
|
|
5
|
+
Este documento orienta os diferentes subagents (nexus, sentinel, qa-tester, etc.) sobre como usar o sistema de memória persistente do projeto.
|
|
6
|
+
|
|
7
|
+
**Objetivo:** Permitir que cada subagent mantenha sua própria memória de aprendizados específicos entre sessões de trabalho.
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## Quem Deve Usar Memória
|
|
12
|
+
|
|
13
|
+
TODOS os subagents que participam de tarefas complexas e recorrentes devem usar memória. Isso inclui:
|
|
14
|
+
|
|
15
|
+
- **nexus** - Orquestrador principal
|
|
16
|
+
- **sentinel** - Estrategista de validação
|
|
17
|
+
- **qa-tester** - Tester com automação no Chrome
|
|
18
|
+
- **fix-worker** - Implementações e correções
|
|
19
|
+
- **ui-designer** - Design e refatoração visual
|
|
20
|
+
- **discover-opportunities** - Descoberta de features não exploradas
|
|
21
|
+
- **audit-* (todos os audit agents)** - Auditorias especializadas
|
|
22
|
+
|
|
23
|
+
---
|
|
24
|
+
|
|
25
|
+
## Como Identificar Seu Nome de Agent
|
|
26
|
+
|
|
27
|
+
Seu nome de agent é passado automaticamente pelo sistema. Para saber qual é:
|
|
28
|
+
|
|
29
|
+
1. **Verifique seu contexto de inicialização** - O nome geralmente é explicitado
|
|
30
|
+
2. **Use o comando `list`** - Para ver todos os agents com memória no projeto
|
|
31
|
+
3. **Pergunte ao nexus/orquestrador** - Se estiver incerto
|
|
32
|
+
|
|
33
|
+
**Nomes comuns:**
|
|
34
|
+
- `nexus` - Orquestrador principal
|
|
35
|
+
- `sentinel` - Estrategista de validação
|
|
36
|
+
- `qa-tester` - QA com automação no Chrome
|
|
37
|
+
- `fix-worker` - Executor de implementações
|
|
38
|
+
- `ui-designer` - Designer visual
|
|
39
|
+
|
|
40
|
+
**Normalização automática:**
|
|
41
|
+
- "Sentinel" → `sentinel`
|
|
42
|
+
- "QA-Tester" → `qa-tester`
|
|
43
|
+
- "My Agent" → `my-agent`
|
|
44
|
+
|
|
45
|
+
---
|
|
46
|
+
|
|
47
|
+
## Quando Usar Memória
|
|
48
|
+
|
|
49
|
+
### Sempre Use Quando:
|
|
50
|
+
|
|
51
|
+
✅ **Ao iniciar uma sessão de trabalho**
|
|
52
|
+
- Use `read` para carregar aprendizados anteriores
|
|
53
|
+
- Analise o contexto salvo antes de começar
|
|
54
|
+
- Use as informações para informar suas decisões
|
|
55
|
+
|
|
56
|
+
✅ **Ao aprender algo sobre o projeto**
|
|
57
|
+
- Descobrir padrões de código
|
|
58
|
+
- Identificar estruturas recorrentes
|
|
59
|
+
- Entender arquitetura específica
|
|
60
|
+
|
|
61
|
+
✅ **Ao encontrar problemas recorrentes**
|
|
62
|
+
- Bugs que aparecem em múltiplas tarefas
|
|
63
|
+
- Erros de configuração
|
|
64
|
+
- Limitações de ferramentas
|
|
65
|
+
|
|
66
|
+
✅ **Ao tomar decisões**
|
|
67
|
+
- Escolhas técnicas
|
|
68
|
+
- Trade-offs considerados
|
|
69
|
+
- Razões para não usar X
|
|
70
|
+
|
|
71
|
+
✅ **Ao entender preferências**
|
|
72
|
+
- Estilo de código preferido
|
|
73
|
+
- Nível de detalhe esperado
|
|
74
|
+
- Comunicação preferida
|
|
75
|
+
|
|
76
|
+
### NÃO Use Quando:
|
|
77
|
+
|
|
78
|
+
❌ **Para tarefas triviais de uma linha**
|
|
79
|
+
- "Como escrever um loop for" não precisa ser salvo
|
|
80
|
+
- "Como criar um array" é óbvio demais
|
|
81
|
+
|
|
82
|
+
❌ **Para coisas específicas da sessão atual**
|
|
83
|
+
- Conversação em andamento
|
|
84
|
+
- Variáveis temporárias
|
|
85
|
+
- Experimentos isolados
|
|
86
|
+
|
|
87
|
+
❌ **Para duplicar informações**
|
|
88
|
+
- Se algo já está salvo, não salve novamente
|
|
89
|
+
- Use `search` para verificar antes
|
|
90
|
+
|
|
91
|
+
---
|
|
92
|
+
|
|
93
|
+
## Por Tipo de Agent
|
|
94
|
+
|
|
95
|
+
### Nexus (Orquestrador)
|
|
96
|
+
|
|
97
|
+
**Seu foco:** Coordenação, decisões de orquestração, preferências do usuário
|
|
98
|
+
|
|
99
|
+
**O que salvar:**
|
|
100
|
+
- Padrões de orquestração (ex: "Para tarefas > 5 arquivos, use /relay")
|
|
101
|
+
- Decisões sobre qual agent usar (ex: "Escolhi fix-worker porque...")
|
|
102
|
+
- Preferências do Matheus (ex: "Prefere resposta direta sem enrolação")
|
|
103
|
+
- Sequências de comandos que funcionaram bem
|
|
104
|
+
- Trade-offs que você fez e por quê
|
|
105
|
+
|
|
106
|
+
**O que NÃO salvar:**
|
|
107
|
+
- Cada mensagem da conversa
|
|
108
|
+
- Coisas óbvias sobre sua função
|
|
109
|
+
- Detalhes técnicos específicos de implementação (deixe isso para fix-worker)
|
|
110
|
+
|
|
111
|
+
**Exemplo de entrada:**
|
|
112
|
+
```json
|
|
113
|
+
{
|
|
114
|
+
"command": "append",
|
|
115
|
+
"agent": "nexus",
|
|
116
|
+
"entry": "Decisão: Para tarefas longas com > 5 arquivos, use /relay. Para 3-5 arquivos, fix-worker direto funciona melhor. Motivo: /relay mantém contexto entre sessões, fix-worker é mais rápido para tarefas menores"
|
|
117
|
+
}
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
---
|
|
121
|
+
|
|
122
|
+
### Sentinel (Estrategista de Validação)
|
|
123
|
+
|
|
124
|
+
**Seu foco:** Validação de planos, identificação de riscos, estratégias de implementação
|
|
125
|
+
|
|
126
|
+
**O que salvar:**
|
|
127
|
+
- Padrões de risco identificados no projeto
|
|
128
|
+
- Tipos de erros que ocorrem frequentemente
|
|
129
|
+
- Estratégias de validação que funcionaram
|
|
130
|
+
- Limitações de arquitetura descobertas
|
|
131
|
+
- Padrões de boas práticas específicos
|
|
132
|
+
|
|
133
|
+
**O que NÃO salvar:**
|
|
134
|
+
- Detalhes de validação triviais
|
|
135
|
+
- Erros de uma única ocorrência
|
|
136
|
+
- Coisas que são padrão geral (deixe isso para a documentação oficial)
|
|
137
|
+
|
|
138
|
+
**Exemplo de entrada:**
|
|
139
|
+
```json
|
|
140
|
+
{
|
|
141
|
+
"command": "append",
|
|
142
|
+
"agent": "sentinel",
|
|
143
|
+
"entry": "Padrão de risco: Este projeto tem dependência circular entre /services/auth.ts e /services/user.ts. Quando validar planos que tocam esses arquivos, sempre verifique impacto em ambos."
|
|
144
|
+
}
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
---
|
|
148
|
+
|
|
149
|
+
### QA-Tester (Tester com Automação Chrome)
|
|
150
|
+
|
|
151
|
+
**Seu foco:** Testes automatizados no navegador, bugs encontrados, workflows de teste
|
|
152
|
+
|
|
153
|
+
**O que salvar:**
|
|
154
|
+
- Bugs recorrentes que encontrou
|
|
155
|
+
- Workflows de teste que funcionam
|
|
156
|
+
- Padrões de comportamento da aplicação
|
|
157
|
+
- Configurações de ambiente necessárias
|
|
158
|
+
- Casos de borda importantes
|
|
159
|
+
|
|
160
|
+
**O que NÃO salvar:**
|
|
161
|
+
- Cada bug individual de teste
|
|
162
|
+
- Detalhes triviais de navegação
|
|
163
|
+
- Coisas que mudam entre testes
|
|
164
|
+
|
|
165
|
+
**Exemplo de entrada:**
|
|
166
|
+
```json
|
|
167
|
+
{
|
|
168
|
+
"command": "append",
|
|
169
|
+
"agent": "qa-tester",
|
|
170
|
+
"entry": "Bug recorrente: O botão de submit no formulário de login não funciona quando usuário pressiona Enter rapidamente. Reproduzível em Chrome 120. Workaround: Use click() em vez de submit()"
|
|
171
|
+
}
|
|
172
|
+
```
|
|
173
|
+
|
|
174
|
+
---
|
|
175
|
+
|
|
176
|
+
### Fix-Worker (Executor de Implementações)
|
|
177
|
+
|
|
178
|
+
**Seu foco:** Implementações, correções, código escrito
|
|
179
|
+
|
|
180
|
+
**O que salvar:**
|
|
181
|
+
- Padrões de código descobertos no projeto
|
|
182
|
+
- Convenções específicas de formatação
|
|
183
|
+
- Workarounds para problemas do stack
|
|
184
|
+
- Integrações complexas que funcionaram
|
|
185
|
+
- Limitações técnicas encontradas
|
|
186
|
+
|
|
187
|
+
**O que NÃO salvar:**
|
|
188
|
+
- Cada implementação individual
|
|
189
|
+
- Coisas que são padrão de linguagem/framework
|
|
190
|
+
- Detalhes que são óbvios do stack
|
|
191
|
+
|
|
192
|
+
**Exemplo de entrada:**
|
|
193
|
+
```json
|
|
194
|
+
{
|
|
195
|
+
"command": "append",
|
|
196
|
+
"agent": "fix-worker",
|
|
197
|
+
"entry": "Padrão: Este projeto usa Zod v4.3.5 com strict mode. Quando criar schemas, sempre use .strict() e .parse() ao invés de .safeParse() para lançar erros automaticamente"
|
|
198
|
+
}
|
|
199
|
+
```
|
|
200
|
+
|
|
201
|
+
---
|
|
202
|
+
|
|
203
|
+
### UI-Designer (Designer Visual)
|
|
204
|
+
|
|
205
|
+
**Seu foco:** Design, estética visual, refatoração UI, MUI v7
|
|
206
|
+
|
|
207
|
+
**O que salvar:**
|
|
208
|
+
- Tokens de design usados no projeto
|
|
209
|
+
- Padrões visuais recorrentes
|
|
210
|
+
- Preferências estéticas do usuário
|
|
211
|
+
- Componentes MUI customizados
|
|
212
|
+
- Limitações visuais descobertas
|
|
213
|
+
|
|
214
|
+
**O que NÃO salvar:**
|
|
215
|
+
- Cada ajuste visual individual
|
|
216
|
+
- Coisas que são padrão MUI
|
|
217
|
+
- Detalhes triviais de CSS
|
|
218
|
+
|
|
219
|
+
**Exemplo de entrada:**
|
|
220
|
+
```json
|
|
221
|
+
{
|
|
222
|
+
"command": "append",
|
|
223
|
+
"agent": "ui-designer",
|
|
224
|
+
"entry": "Padrão visual: Este projeto usa MUI v7 com tema customizado. Cores primárias são indigo (#6366f1) e secundárias são emerald (#10b981). Use sempre variantes outlined para inputs e contained para botões de ação"
|
|
225
|
+
}
|
|
226
|
+
```
|
|
227
|
+
|
|
228
|
+
---
|
|
229
|
+
|
|
230
|
+
### Audit Agents (todos os audit-*)
|
|
231
|
+
|
|
232
|
+
**Seu foco:** Auditorias especializadas, bugs encontrados, boas práticas
|
|
233
|
+
|
|
234
|
+
**O que salvar:**
|
|
235
|
+
- Padrões de bugs encontrados no projeto
|
|
236
|
+
- Boas práticas que foram violadas frequentemente
|
|
237
|
+
- Configurações específicas que causam problemas
|
|
238
|
+
- Workflows de auditoria que funcionaram
|
|
239
|
+
- Integrações problemáticas
|
|
240
|
+
|
|
241
|
+
**O que NÃO salvar:**
|
|
242
|
+
- Cada bug de auditoria individual
|
|
243
|
+
- Coisas que são padrão de qualidade geral
|
|
244
|
+
- Erros de uma única ocorrência
|
|
245
|
+
|
|
246
|
+
**Exemplo de entrada (audit-technical):**
|
|
247
|
+
```json
|
|
248
|
+
{
|
|
249
|
+
"command": "append",
|
|
250
|
+
"agent": "audit-technical",
|
|
251
|
+
"entry": "Padrão de bug: Este projeto frequentemente esquece de tratar erros async/await. Use try/catch em todas as funções async ou .catch() em Promises"
|
|
252
|
+
}
|
|
253
|
+
```
|
|
254
|
+
|
|
255
|
+
---
|
|
256
|
+
|
|
257
|
+
### Discover-Opportunities (Descoberta de Features)
|
|
258
|
+
|
|
259
|
+
**Seu foco:** Features não exploradas, diferenciais competitivos, verticais ausentes
|
|
260
|
+
|
|
261
|
+
**O que salvar:**
|
|
262
|
+
- Padrões de features que fazem sentido para o projeto
|
|
263
|
+
- Verticais identificadas como ausentes
|
|
264
|
+
- Diferenciais competitivos sugeridos
|
|
265
|
+
- Restrições de negócio entendidas
|
|
266
|
+
- Padrões de domínio do projeto
|
|
267
|
+
|
|
268
|
+
**O que NÃO salvar:**
|
|
269
|
+
- Cada sugestão individual
|
|
270
|
+
- Coisas que não fazem sentido para o domínio
|
|
271
|
+
- Ideias vagas sem contexto
|
|
272
|
+
|
|
273
|
+
**Exemplo de entrada:**
|
|
274
|
+
```json
|
|
275
|
+
{
|
|
276
|
+
"command": "append",
|
|
277
|
+
"agent": "discover-opportunities",
|
|
278
|
+
"entry": "Padrão: Este projeto é um CRM de pets. Vertical ausente: não há funcionalidade de telemedicina veterinária, que seria um diferencial competitivo forte"
|
|
279
|
+
}
|
|
280
|
+
```
|
|
281
|
+
|
|
282
|
+
---
|
|
283
|
+
|
|
284
|
+
## Comandos Essenciais por Agent
|
|
285
|
+
|
|
286
|
+
### Para TODOS os agents
|
|
287
|
+
|
|
288
|
+
**Ao iniciar trabalho:**
|
|
289
|
+
```json
|
|
290
|
+
{
|
|
291
|
+
"command": "read",
|
|
292
|
+
"agent": "seu-nome-aqui"
|
|
293
|
+
}
|
|
294
|
+
```
|
|
295
|
+
|
|
296
|
+
**Para salvar algo importante:**
|
|
297
|
+
```json
|
|
298
|
+
{
|
|
299
|
+
"command": "append",
|
|
300
|
+
"agent": "seu-nome-aqui",
|
|
301
|
+
"entry": "O que você aprendeu"
|
|
302
|
+
}
|
|
303
|
+
```
|
|
304
|
+
|
|
305
|
+
**Para verificar algo antes de salvar:**
|
|
306
|
+
```json
|
|
307
|
+
{
|
|
308
|
+
"command": "search",
|
|
309
|
+
"agent": "seu-nome-aqui",
|
|
310
|
+
"query": "termo-busca"
|
|
311
|
+
}
|
|
312
|
+
```
|
|
313
|
+
|
|
314
|
+
**Para limpar memória grande:**
|
|
315
|
+
```json
|
|
316
|
+
{
|
|
317
|
+
"command": "write",
|
|
318
|
+
"agent": "seu-nome-aqui",
|
|
319
|
+
"content": "# Memória do Seu-Nome\n\n## Seções\n..."
|
|
320
|
+
}
|
|
321
|
+
```
|
|
322
|
+
|
|
323
|
+
### Específicos por tipo de agent
|
|
324
|
+
|
|
325
|
+
**Orquestradores (nexus):**
|
|
326
|
+
```json
|
|
327
|
+
// Salvar decisão de orquestração
|
|
328
|
+
{
|
|
329
|
+
"command": "append",
|
|
330
|
+
"agent": "nexus",
|
|
331
|
+
"entry": "Decisão: Escolhi /relay para esta tarefa porque envolve > 10 arquivos e precisa manter contexto entre sessões"
|
|
332
|
+
}
|
|
333
|
+
```
|
|
334
|
+
|
|
335
|
+
**Executores (fix-worker, ui-designer):**
|
|
336
|
+
```json
|
|
337
|
+
// Salvar padrão de código
|
|
338
|
+
{
|
|
339
|
+
"command": "append",
|
|
340
|
+
"agent": "fix-worker",
|
|
341
|
+
"entry": "Padrão: Sempre use try/catch em funções async que acessam Firestore"
|
|
342
|
+
}
|
|
343
|
+
```
|
|
344
|
+
|
|
345
|
+
**Auditores (audit-*, sentinel, qa-tester):**
|
|
346
|
+
```json
|
|
347
|
+
// Salvar bug recorrente
|
|
348
|
+
{
|
|
349
|
+
"command": "append",
|
|
350
|
+
"agent": "audit-technical",
|
|
351
|
+
"entry": "Bug recorrente: Formulários sem validação de Zod causam erros runtime em produção. Sempre adicione .strict() aos schemas"
|
|
352
|
+
}
|
|
353
|
+
```
|
|
354
|
+
|
|
355
|
+
**Analisadores (discover-opportunities):**
|
|
356
|
+
```json
|
|
357
|
+
// Salvar padrão de domínio
|
|
358
|
+
{
|
|
359
|
+
"command": "append",
|
|
360
|
+
"agent": "discover-opportunities",
|
|
361
|
+
"entry": "Padrão de domínio: Este projeto é focado em B2B, então features B2C (como reviews públicos) não são prioridade"
|
|
362
|
+
}
|
|
363
|
+
```
|
|
364
|
+
|
|
365
|
+
---
|
|
366
|
+
|
|
367
|
+
## Formato de Memória por Tipo de Agent
|
|
368
|
+
|
|
369
|
+
### Nexus (Orquestrador)
|
|
370
|
+
|
|
371
|
+
```markdown
|
|
372
|
+
# Memória do Nexus
|
|
373
|
+
|
|
374
|
+
## Padrões de Orquestração
|
|
375
|
+
- Para tarefas > 5 arquivos, use /relay
|
|
376
|
+
- Para 3-5 arquivos, fix-worker direto funciona melhor
|
|
377
|
+
- Use analyze antes de delegar para agents
|
|
378
|
+
|
|
379
|
+
## Decisões
|
|
380
|
+
- Escolhi /relay para tarefas longas
|
|
381
|
+
- Prefiro fix-worker para implementações diretas
|
|
382
|
+
|
|
383
|
+
## Preferências do Matheus
|
|
384
|
+
- Prefere resposta direta sem enrolação
|
|
385
|
+
- Gosta de explicações simples
|
|
386
|
+
- Valida decisões com contexto
|
|
387
|
+
|
|
388
|
+
## Anti-padrões
|
|
389
|
+
- Não chame agents sem investigar antes
|
|
390
|
+
- Não assuma, pergunte se não tiver certeza
|
|
391
|
+
```
|
|
392
|
+
|
|
393
|
+
### Fix-Worker (Executor)
|
|
394
|
+
|
|
395
|
+
```markdown
|
|
396
|
+
# Memória do Fix-Worker
|
|
397
|
+
|
|
398
|
+
## Padrões de Código
|
|
399
|
+
- Use Zod com .strict() para validação
|
|
400
|
+
- Trate erros async com try/catch
|
|
401
|
+
- Use TypeScript strict mode
|
|
402
|
+
|
|
403
|
+
## Integrações
|
|
404
|
+
- Firestore: sempre verifique se array tem length > 0
|
|
405
|
+
- Firebase Auth: use onAuthStateChanged para estado
|
|
406
|
+
|
|
407
|
+
## Bugs Conhecidos
|
|
408
|
+
- Bug XYZ: ocorre quando array vazio
|
|
409
|
+
- Workaround: verificar antes de update
|
|
410
|
+
|
|
411
|
+
## Limitações
|
|
412
|
+
- Não consegue acessar recursos externos sem permissão
|
|
413
|
+
```
|
|
414
|
+
|
|
415
|
+
### QA-Tester (Tester)
|
|
416
|
+
|
|
417
|
+
```markdown
|
|
418
|
+
# Memória do QA-Tester
|
|
419
|
+
|
|
420
|
+
## Padrões de Teste
|
|
421
|
+
- Use Chrome 120+ para testes
|
|
422
|
+
- Sempre limpe localStorage antes de testar
|
|
423
|
+
- Use wait() para carregamento assíncrono
|
|
424
|
+
|
|
425
|
+
## Bugs Recorrentes
|
|
426
|
+
- Login falha quando Enter é pressionado
|
|
427
|
+
- Workaround: usar click() em vez de submit
|
|
428
|
+
|
|
429
|
+
## Configurações de Ambiente
|
|
430
|
+
- URL base: http://localhost:3000
|
|
431
|
+
- Timeout padrão: 10 segundos
|
|
432
|
+
|
|
433
|
+
## Workflows de Teste
|
|
434
|
+
- Teste de login: 1) Navegue para /login 2) ...
|
|
435
|
+
```
|
|
436
|
+
|
|
437
|
+
### UI-Designer (Designer)
|
|
438
|
+
|
|
439
|
+
```markdown
|
|
440
|
+
# Memória do UI-Designer
|
|
441
|
+
|
|
442
|
+
## Tokens de Design
|
|
443
|
+
- Primária: indigo (#6366f1)
|
|
444
|
+
- Secundária: emerald (#10b981)
|
|
445
|
+
- Fonte: Inter, 400/500/600
|
|
446
|
+
|
|
447
|
+
## Padrões Visuais
|
|
448
|
+
- Botões: variant outlined para inputs, contained para ações
|
|
449
|
+
- Cards: elevation={2}, padding={3}
|
|
450
|
+
- Spacing: múltiplos de 8px
|
|
451
|
+
|
|
452
|
+
## Componentes MUI Customizados
|
|
453
|
+
- CustomButton: com icon support
|
|
454
|
+
- CustomCard: com hover effect
|
|
455
|
+
|
|
456
|
+
## Preferências do Matheus
|
|
457
|
+
- Prefere design minimalista
|
|
458
|
+
- Gosta de consistência visual
|
|
459
|
+
- Evita animações excessivas
|
|
460
|
+
```
|
|
461
|
+
|
|
462
|
+
---
|
|
463
|
+
|
|
464
|
+
## Compartilhamento de Informações Entre Agents
|
|
465
|
+
|
|
466
|
+
### Como Nexus pode ajudar outros agents
|
|
467
|
+
|
|
468
|
+
**Ao delegar para fix-worker:**
|
|
469
|
+
```json
|
|
470
|
+
{
|
|
471
|
+
"command": "read",
|
|
472
|
+
"agent": "nexus"
|
|
473
|
+
}
|
|
474
|
+
|
|
475
|
+
// Nexus analisa se há informações relevantes para fix-worker
|
|
476
|
+
// Se houver, passa no contexto da delegação
|
|
477
|
+
```
|
|
478
|
+
|
|
479
|
+
**Ao delegar para ui-designer:**
|
|
480
|
+
```json
|
|
481
|
+
{
|
|
482
|
+
"command": "read",
|
|
483
|
+
"agent": "nexus"
|
|
484
|
+
}
|
|
485
|
+
|
|
486
|
+
// Nexus busca preferências visuais do Matheus
|
|
487
|
+
// Passa essas informações para ui-designer
|
|
488
|
+
```
|
|
489
|
+
|
|
490
|
+
### Como outros agents podem compartilhar com Nexus
|
|
491
|
+
|
|
492
|
+
**Ao completar tarefa:**
|
|
493
|
+
- Fix-worker: reporta padrões de código descobertos
|
|
494
|
+
- QA-Tester: reporta bugs recorrentes encontrados
|
|
495
|
+
- UI-Designer: reporta limitações visuais descobertas
|
|
496
|
+
|
|
497
|
+
Nexus pode então usar `append` para salvar essas informações se forem importantes.
|
|
498
|
+
|
|
499
|
+
### Quando usar `list` para descobrir outros agents
|
|
500
|
+
|
|
501
|
+
```json
|
|
502
|
+
{
|
|
503
|
+
"command": "list"
|
|
504
|
+
}
|
|
505
|
+
```
|
|
506
|
+
|
|
507
|
+
**Útil para:**
|
|
508
|
+
- Saber quais agents já trabalharam no projeto
|
|
509
|
+
- Verificar se há memória relevante em outros agents
|
|
510
|
+
- Entender a história do projeto
|
|
511
|
+
|
|
512
|
+
---
|
|
513
|
+
|
|
514
|
+
## Boas Práticas Específicas por Agent
|
|
515
|
+
|
|
516
|
+
### Para Orquestradores (Nexus)
|
|
517
|
+
|
|
518
|
+
✅ **DO:**
|
|
519
|
+
- Salve decisões de por que escolheu X ao invés de Y
|
|
520
|
+
- Salve padrões de orquestração que funcionaram
|
|
521
|
+
- Salve preferências do usuário para passar a outros agents
|
|
522
|
+
- Use `list` para descobrir agents existentes antes de delegar
|
|
523
|
+
- Leia memória de outros agents se for relevante
|
|
524
|
+
|
|
525
|
+
❌ **DON'T:**
|
|
526
|
+
- Salve cada decisão trivial
|
|
527
|
+
- Salve detalhes técnicos de implementação
|
|
528
|
+
- Assuma que sabe tudo o que outros agents descobriram
|
|
529
|
+
|
|
530
|
+
### Para Executores (Fix-Worker, UI-Designer)
|
|
531
|
+
|
|
532
|
+
✅ **DO:**
|
|
533
|
+
- Salve padrões de código/design específicos do projeto
|
|
534
|
+
- Salve workarounds para problemas recorrentes
|
|
535
|
+
- Salve limitações técnicas encontradas
|
|
536
|
+
- Salve integrações que funcionaram bem
|
|
537
|
+
- Use `search` para verificar se algo já foi salvo
|
|
538
|
+
|
|
539
|
+
❌ **DON'T:**
|
|
540
|
+
- Salve cada implementação individual
|
|
541
|
+
- Salve coisas que são padrão de linguagem/framework
|
|
542
|
+
- Salve detalhes triviais que não se repetem
|
|
543
|
+
|
|
544
|
+
### Para Auditores (Audit-*, Sentinel, QA-Tester)
|
|
545
|
+
|
|
546
|
+
✅ **DO:**
|
|
547
|
+
- Salve padrões de bugs encontrados no projeto
|
|
548
|
+
- Salve workflows de auditoria/teste que funcionaram
|
|
549
|
+
- Salve configurações que causam problemas
|
|
550
|
+
- Salve boas práticas violadas frequentemente
|
|
551
|
+
- Salve restrições de ambiente/teste
|
|
552
|
+
|
|
553
|
+
❌ **DON'T:**
|
|
554
|
+
- Salve cada bug individual de uma única ocorrência
|
|
555
|
+
- Salve coisas que são padrão geral de qualidade
|
|
556
|
+
- Salve detalhes triviais de navegação/teste
|
|
557
|
+
|
|
558
|
+
### Para Analisadores (Discover-Opportunities)
|
|
559
|
+
|
|
560
|
+
✅ **DO:**
|
|
561
|
+
- Salve padrões de domínio do projeto
|
|
562
|
+
- Salve verticais identificadas como ausentes
|
|
563
|
+
- Salve restrições de negócio entendidas
|
|
564
|
+
- Salver diferenciais competitivos que fazem sentido
|
|
565
|
+
- Salvar estratégias de análise que funcionaram
|
|
566
|
+
|
|
567
|
+
❌ **DON'T:**
|
|
568
|
+
- Salvar cada sugestão individual sem contexto
|
|
569
|
+
- Salvar ideias vagas sem relação com o domínio
|
|
570
|
+
- Salvar coisas que não fazem sentido para o projeto
|
|
571
|
+
|
|
572
|
+
---
|
|
573
|
+
|
|
574
|
+
## Exemplos Completos de Uso
|
|
575
|
+
|
|
576
|
+
### Exemplo 1: Nexus iniciando sessão e delegando
|
|
577
|
+
|
|
578
|
+
```
|
|
579
|
+
// Nexus: Lê sua própria memória
|
|
580
|
+
IA: { "command": "read", "agent": "nexus" }
|
|
581
|
+
|
|
582
|
+
Resultado: 📝 Memória de "nexus" (30 linhas):
|
|
583
|
+
─────────────────────────────────────────────────────────────────
|
|
584
|
+
|
|
585
|
+
# Memória do Nexus
|
|
586
|
+
|
|
587
|
+
## Padrões de Orquestração
|
|
588
|
+
- Para tarefas > 5 arquivos, use /relay
|
|
589
|
+
- Use analyze antes de delegar
|
|
590
|
+
|
|
591
|
+
## Preferências do Matheus
|
|
592
|
+
- Prefere resposta direta sem enrolação
|
|
593
|
+
...
|
|
594
|
+
|
|
595
|
+
// Nexus: Lista todos os agents com memória
|
|
596
|
+
IA: { "command": "list" }
|
|
597
|
+
|
|
598
|
+
Resultado: 📝 Agents com memória neste projeto (3):
|
|
599
|
+
|
|
600
|
+
• nexus (30 linhas)
|
|
601
|
+
• fix-worker (45 linhas)
|
|
602
|
+
• ui-designer (20 linhas)
|
|
603
|
+
|
|
604
|
+
// Nexus: Lê memória do fix-worker para entender contexto
|
|
605
|
+
IA: { "command": "read", "agent": "fix-worker" }
|
|
606
|
+
|
|
607
|
+
Resultado: 📝 Memória de "fix-worker" (45 linhas):
|
|
608
|
+
─────────────────────────────────────────────────────────────────
|
|
609
|
+
|
|
610
|
+
# Memória do Fix-Worker
|
|
611
|
+
|
|
612
|
+
## Padrões de Código
|
|
613
|
+
- Use Zod com .strict() para validação
|
|
614
|
+
...
|
|
615
|
+
|
|
616
|
+
// Nexus: Delega para fix-worker com contexto completo
|
|
617
|
+
IA: [Usa task para chamar fix-worker com contexto sobre o projeto]
|
|
618
|
+
```
|
|
619
|
+
|
|
620
|
+
### Exemplo 2: Fix-worker descobrindo padrão e salvando
|
|
621
|
+
|
|
622
|
+
```
|
|
623
|
+
// Fix-worker: Implementa um formulário
|
|
624
|
+
IA: [Escreve código do formulário]
|
|
625
|
+
|
|
626
|
+
// Fix-worker: Nota que todos os formulários usam Zod
|
|
627
|
+
IA: { "command": "search", "agent": "fix-worker", "query": "Zod" }
|
|
628
|
+
|
|
629
|
+
Resultado: 📝 Nenhuma ocorrência de "Zod" encontrada
|
|
630
|
+
|
|
631
|
+
// Fix-worker: Salva o padrão descoberto
|
|
632
|
+
IA: { "command": "append", "agent": "fix-worker",
|
|
633
|
+
"entry": "Padrão descoberto: Este projeto usa Zod v4.3.5 com strict mode para validação de formulários. Sempre use .strict() e .parse() ao criar schemas de formulário" }
|
|
634
|
+
```
|
|
635
|
+
|
|
636
|
+
### Exemplo 3: QA-tester encontrando bug recorrente
|
|
637
|
+
|
|
638
|
+
```
|
|
639
|
+
// QA-tester: Testa formulário de login
|
|
640
|
+
IA: [Executa teste automatizado no Chrome]
|
|
641
|
+
|
|
642
|
+
// QA-tester: Encontra bug ao pressionar Enter
|
|
643
|
+
IA: { "command": "search", "agent": "qa-tester", "query": "Enter" }
|
|
644
|
+
|
|
645
|
+
Resultado: 📝 Nenhuma ocorrência de "Enter" encontrada
|
|
646
|
+
|
|
647
|
+
// QA-tester: Verifica se ocorre em outros formulários
|
|
648
|
+
IA: [Testa mais formulários]
|
|
649
|
+
|
|
650
|
+
// QA-tester: Confirma que é um padrão recorrente
|
|
651
|
+
IA: { "command": "append", "agent": "qa-tester",
|
|
652
|
+
"entry": "Bug recorrente: Botões de submit em formulários não funcionam quando usuário pressiona Enter. Ocorre em formulários de login, cadastro e contato. Workaround: usar event de click() em vez de submit()" }
|
|
653
|
+
```
|
|
654
|
+
|
|
655
|
+
---
|
|
656
|
+
|
|
657
|
+
## Checklist por Sessão
|
|
658
|
+
|
|
659
|
+
### Ao INICIAR sessão de trabalho
|
|
660
|
+
|
|
661
|
+
- [ ] Use `read` para carregar sua memória
|
|
662
|
+
- [ ] Analise o conteúdo retornado
|
|
663
|
+
- [ ] Use `list` para descobrir outros agents (se relevante)
|
|
664
|
+
- [ ] Leia memórias de outros agents se for relevante para sua tarefa
|
|
665
|
+
|
|
666
|
+
### DURANTE a sessão
|
|
667
|
+
|
|
668
|
+
- [ ] Use `search` antes de salvar algo novo
|
|
669
|
+
- [ ] Salve apenas coisas que são específicas e importantes
|
|
670
|
+
- [ ] Seja específico e contextual em suas entradas
|
|
671
|
+
- [ ] Explique o PORQUÊ quando relevante
|
|
672
|
+
|
|
673
|
+
### Ao FINAL da sessão
|
|
674
|
+
|
|
675
|
+
- [ ] Revise as entradas adicionadas
|
|
676
|
+
- [ ] Se memória estiver grande (~150+ linhas), considere `WRITE`
|
|
677
|
+
- [ ] Organize as entradas em seções (se usar WRITE)
|
|
678
|
+
- [ ] Compartilhe informações relevantes com nexus/outros agents
|
|
679
|
+
|
|
680
|
+
---
|
|
681
|
+
|
|
682
|
+
## Resumo Rápido
|
|
683
|
+
|
|
684
|
+
| Comando | Nexus | Fix-Worker | QA-Tester | UI-Designer |
|
|
685
|
+
|---------|-------|------------|-----------|--------------|
|
|
686
|
+
| `read` | ✅ Sempre | ✅ Sempre | ✅ Sempre | ✅ Sempre |
|
|
687
|
+
| `append` | Decisões, preferências | Padrões de código | Bugs recorrentes | Padrões visuais |
|
|
688
|
+
| `write` | Reorganizar | Reorganizar | Reorganizar | Reorganizar |
|
|
689
|
+
| `search` | Verificar antes | Verificar antes | Verificar antes | Verificar antes |
|
|
690
|
+
| `list` | Descobrir agents | Raramente | Raramente | Raramente |
|
|
691
|
+
|
|
692
|
+
---
|
|
693
|
+
|
|
694
|
+
**Lembre-se:** Cada agent tem sua própria especialização e foco. Salve o que é relevante para SUA função, não tudo o que você faz!
|