@justmpm/memory 0.2.1 → 0.3.0
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 +45 -640
- package/CHANGELOG.md +42 -0
- package/CLAUDE.md +76 -182
- package/README.md +31 -46
- package/dist/index.js +173 -284
- package/package.json +6 -5
- package/TEST_REPORT.md +0 -226
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js.map +0 -1
- package/mcp-config.example.json +0 -10
- package/src/index.ts +0 -645
- package/tsconfig.json +0 -20
package/AGENTS.md
CHANGED
|
@@ -1,694 +1,99 @@
|
|
|
1
|
-
# @justmpm/memory - Guia para Subagents
|
|
1
|
+
# @justmpm/memory - Guia para Subagents
|
|
2
2
|
|
|
3
|
-
##
|
|
3
|
+
## O que é este MCP?
|
|
4
4
|
|
|
5
|
-
Este
|
|
5
|
+
Este servidor MCP permite que você (subagent) salve e recupere aprendizados entre diferentes sessões de trabalho. Cada agent tem sua própria memória isolada.
|
|
6
6
|
|
|
7
|
-
**
|
|
7
|
+
**Propósito:** Manter persistência de conhecimento específico do projeto entre sessões.
|
|
8
8
|
|
|
9
9
|
---
|
|
10
10
|
|
|
11
|
-
##
|
|
11
|
+
## Tools Disponíveis
|
|
12
12
|
|
|
13
|
-
|
|
13
|
+
### memory_read
|
|
14
|
+
Lê todo o conteúdo da sua memória persistente.
|
|
14
15
|
|
|
15
|
-
|
|
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
|
|
16
|
+
**Use sempre ao iniciar uma sessão** para recuperar contexto anterior.
|
|
22
17
|
|
|
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
18
|
```json
|
|
194
19
|
{
|
|
195
|
-
"
|
|
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"
|
|
20
|
+
"agent": "seu-nome" // OBRIGATÓRIO
|
|
198
21
|
}
|
|
199
22
|
```
|
|
200
23
|
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
### UI-Designer (Designer Visual)
|
|
24
|
+
### memory_append
|
|
25
|
+
Adiciona uma entrada no final da sua memória com timestamp automático.
|
|
204
26
|
|
|
205
|
-
**
|
|
27
|
+
**Use quando aprender algo importante:** padrões de código, bugs, decisões, preferências do usuário.
|
|
206
28
|
|
|
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
29
|
```json
|
|
221
30
|
{
|
|
222
|
-
"
|
|
223
|
-
"
|
|
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"
|
|
31
|
+
"agent": "seu-nome", // OBRIGATÓRIO
|
|
32
|
+
"entry": "texto aqui" // OBRIGATÓRIO
|
|
225
33
|
}
|
|
226
34
|
```
|
|
227
35
|
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
### Audit Agents (todos os audit-*)
|
|
36
|
+
### memory_search
|
|
37
|
+
Busca um termo na sua memória sem precisar ler tudo.
|
|
231
38
|
|
|
232
|
-
**
|
|
39
|
+
**Use para encontrar informações rapidamente.**
|
|
233
40
|
|
|
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
41
|
```json
|
|
248
42
|
{
|
|
249
|
-
"
|
|
250
|
-
"
|
|
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"
|
|
43
|
+
"agent": "seu-nome", // OBRIGATÓRIO
|
|
44
|
+
"query": "termo" // OBRIGATÓRIO
|
|
252
45
|
}
|
|
253
46
|
```
|
|
254
47
|
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
### Discover-Opportunities (Descoberta de Features)
|
|
258
|
-
|
|
259
|
-
**Seu foco:** Features não exploradas, diferenciais competitivos, verticais ausentes
|
|
48
|
+
### memory_write
|
|
49
|
+
SUBSTITUI TODO o conteúdo da sua memória. **APAGA tudo o que estava antes.**
|
|
260
50
|
|
|
261
|
-
**
|
|
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
|
|
51
|
+
**Use apenas quando:** memória está grande (~150+ linhas) e precisa reorganizar.
|
|
267
52
|
|
|
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
53
|
```json
|
|
275
54
|
{
|
|
276
|
-
"
|
|
277
|
-
"
|
|
278
|
-
"
|
|
55
|
+
"agent": "seu-nome", // OBRIGATÓRIO
|
|
56
|
+
"content": "# Memória\\n\\n- item", // OBRIGATÓRIO
|
|
57
|
+
"backup": true // opcional, cria backup antes
|
|
279
58
|
}
|
|
280
59
|
```
|
|
281
60
|
|
|
282
61
|
---
|
|
283
62
|
|
|
284
|
-
##
|
|
285
|
-
|
|
286
|
-
### Para TODOS os agents
|
|
63
|
+
## Workflow Básico
|
|
287
64
|
|
|
288
|
-
|
|
289
|
-
```json
|
|
290
|
-
{
|
|
291
|
-
"command": "read",
|
|
292
|
-
"agent": "seu-nome-aqui"
|
|
293
|
-
}
|
|
65
|
+
### Iniciando uma sessão:
|
|
294
66
|
```
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
{
|
|
299
|
-
"command": "append",
|
|
300
|
-
"agent": "seu-nome-aqui",
|
|
301
|
-
"entry": "O que você aprendeu"
|
|
302
|
-
}
|
|
67
|
+
1. Use memory_read
|
|
68
|
+
2. Analise o conteúdo retornado
|
|
69
|
+
3. Use as informações salvas para informar suas decisões
|
|
303
70
|
```
|
|
304
71
|
|
|
305
|
-
|
|
306
|
-
```json
|
|
307
|
-
{
|
|
308
|
-
"command": "search",
|
|
309
|
-
"agent": "seu-nome-aqui",
|
|
310
|
-
"query": "termo-busca"
|
|
311
|
-
}
|
|
72
|
+
### Durante o trabalho:
|
|
312
73
|
```
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
{
|
|
317
|
-
"command": "write",
|
|
318
|
-
"agent": "seu-nome-aqui",
|
|
319
|
-
"content": "# Memória do Seu-Nome\n\n## Seções\n..."
|
|
320
|
-
}
|
|
74
|
+
Ao aprender algo importante → memory_append
|
|
75
|
+
Ao tomar uma decisão → memory_append
|
|
76
|
+
Ao descobrir um bug → memory_append
|
|
321
77
|
```
|
|
322
78
|
|
|
323
|
-
###
|
|
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
|
-
}
|
|
79
|
+
### Onde a memória fica:
|
|
333
80
|
```
|
|
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
|
-
}
|
|
81
|
+
.claude/agent-memory/<seu-nome>/MEMORY.md
|
|
343
82
|
```
|
|
344
83
|
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
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
|
|
84
|
+
### Limite de tamanho:
|
|
85
|
+
- Máximo 200 linhas
|
|
86
|
+
- Ao atingir, mantém apenas as últimas 160
|
|
679
87
|
|
|
680
88
|
---
|
|
681
89
|
|
|
682
|
-
##
|
|
90
|
+
## Dicas Rápidas
|
|
683
91
|
|
|
684
|
-
|
|
685
|
-
|
|
686
|
-
|
|
687
|
-
|
|
688
|
-
| `write` | Reorganizar | Reorganizar | Reorganizar | Reorganizar |
|
|
689
|
-
| `search` | Verificar antes | Verificar antes | Verificar antes | Verificar antes |
|
|
690
|
-
| `list` | Descobrir agents | Raramente | Raramente | Raramente |
|
|
92
|
+
- **Antes de salvar:** Use `memory_search` para verificar se já existe
|
|
93
|
+
- **Seja específico:** "Use 2 espaços" > "Formate bem"
|
|
94
|
+
- **Explique o PORQUÊ:** Não só o que, mas também por que
|
|
95
|
+
- **Não salve:** Coisas triviais, informações temporárias, logs de conversa
|
|
691
96
|
|
|
692
97
|
---
|
|
693
98
|
|
|
694
|
-
**Lembre-se:**
|
|
99
|
+
**Lembre-se:** A memória é para preservar conhecimento importante entre sessões, não registrar toda a conversa. Seja seletivo!
|