@koalarx/nest 1.18.21 → 1.19.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/README.md +14 -0
- package/docs/00-cli-reference.md +201 -0
- package/docs/01-guia-instalacao.md +113 -0
- package/docs/02-configuracao-inicial.md +176 -0
- package/docs/04-tratamento-erros.md +303 -0
- package/docs/05-features-avancadas.md +969 -0
- package/docs/06-decoradores.md +220 -0
- package/docs/07-guia-bun.md +176 -0
- package/docs/08-prisma-client.md +487 -0
- package/docs/09-mcp-vscode-extension.md +437 -0
- package/docs/EXAMPLE.md +1671 -0
- package/docs/README.md +59 -0
- package/mcp-server/mcp.json.example +27 -0
- package/mcp-server/server.d.ts +2 -0
- package/mcp-server/server.d.ts.map +1 -0
- package/mcp-server/server.js +248 -0
- package/mcp-server/server.js.map +1 -0
- package/package.json +2 -1
- package/tsconfig.lib.tsbuildinfo +1 -1
|
@@ -0,0 +1,437 @@
|
|
|
1
|
+
# 🤖 Extensão MCP para VS Code
|
|
2
|
+
|
|
3
|
+
A extensão **Koala Nest Documentation MCP** integra toda a documentação do Koala Nest diretamente no GitHub Copilot através do Model Context Protocol (MCP).
|
|
4
|
+
|
|
5
|
+
## 📦 Duas Formas de Usar
|
|
6
|
+
|
|
7
|
+
Você pode usar o MCP server de **duas formas diferentes**:
|
|
8
|
+
|
|
9
|
+
### 1️⃣ Via Extensão VS Code (Recomendado - Mais Fácil)
|
|
10
|
+
|
|
11
|
+
✅ Instalação com 1 clique
|
|
12
|
+
✅ Funciona em qualquer workspace
|
|
13
|
+
✅ Atualização automática via Marketplace
|
|
14
|
+
✅ Zero configuração necessária
|
|
15
|
+
|
|
16
|
+
**[📦 Instalar Extensão](https://marketplace.visualstudio.com/items?itemName=koalarx.koala-libs-mcp-docs)**
|
|
17
|
+
|
|
18
|
+
### 2️⃣ Via Arquivo de Configuração (Avançado)
|
|
19
|
+
|
|
20
|
+
✅ Controle total sobre a configuração
|
|
21
|
+
✅ Sem dependência de extensão
|
|
22
|
+
✅ Ideal para projetos específicos
|
|
23
|
+
✅ Pode usar versão customizada do server
|
|
24
|
+
|
|
25
|
+
Crie um arquivo `.vscode/mcp.json` no seu projeto (veja detalhes abaixo).
|
|
26
|
+
|
|
27
|
+
---
|
|
28
|
+
|
|
29
|
+
## 📦 Instalação - Método 1: Extensão VS Code
|
|
30
|
+
|
|
31
|
+
### Via VS Code Marketplace
|
|
32
|
+
|
|
33
|
+
1. Abra o VS Code
|
|
34
|
+
2. Vá até a aba de extensões (`Ctrl+Shift+X` ou `Cmd+Shift+X`)
|
|
35
|
+
3. Busque por **"Koala Nest Documentation MCP"**
|
|
36
|
+
4. Clique em **Instalar**
|
|
37
|
+
|
|
38
|
+
### Via Arquivo VSIX (Desenvolvimento)
|
|
39
|
+
|
|
40
|
+
Se você estiver testando uma versão em desenvolvimento:
|
|
41
|
+
|
|
42
|
+
```bash
|
|
43
|
+
# Clone o repositório
|
|
44
|
+
git clone https://github.com/igordrangel/koala-nest
|
|
45
|
+
cd koala-nest
|
|
46
|
+
|
|
47
|
+
# Instale as dependências
|
|
48
|
+
bun install
|
|
49
|
+
|
|
50
|
+
# Build e empacote a extensão
|
|
51
|
+
bun run build:mcp-all
|
|
52
|
+
bun run package:vscode-extension
|
|
53
|
+
|
|
54
|
+
# Instale manualmente
|
|
55
|
+
code --install-extension apps/mcp-vscode-extension/koala-libs-mcp-docs-*.vsix
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
---
|
|
59
|
+
|
|
60
|
+
## 📦 Instalação - Método 2: Arquivo de Configuração
|
|
61
|
+
|
|
62
|
+
Esta abordagem permite usar o MCP server sem instalar a extensão, através de um arquivo `.vscode/mcp.json`.
|
|
63
|
+
|
|
64
|
+
### Passo 1: Instalar o Koala Nest
|
|
65
|
+
|
|
66
|
+
```bash
|
|
67
|
+
npm install @koalarx/nest
|
|
68
|
+
# ou
|
|
69
|
+
bun add @koalarx/nest
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
### Passo 2: Criar arquivo `.vscode/mcp.json`
|
|
73
|
+
|
|
74
|
+
Crie o arquivo `.vscode/mcp.json` na raiz do seu projeto:
|
|
75
|
+
|
|
76
|
+
```json
|
|
77
|
+
{
|
|
78
|
+
"mcpServers": {
|
|
79
|
+
"koala-nest-docs": {
|
|
80
|
+
"command": "node",
|
|
81
|
+
"args": [
|
|
82
|
+
"${workspaceFolder}/node_modules/@koalarx/nest/mcp-server/server.js"
|
|
83
|
+
],
|
|
84
|
+
"env": {}
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
### Passo 3: Reiniciar o VS Code
|
|
91
|
+
|
|
92
|
+
```bash
|
|
93
|
+
# Ou use o Command Palette
|
|
94
|
+
Ctrl+Shift+P → "Developer: Reload Window"
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
### Alternativa: Configuração Global
|
|
98
|
+
|
|
99
|
+
Se você quer o MCP server disponível em **todos os seus projetos**, adicione ao settings do VS Code:
|
|
100
|
+
|
|
101
|
+
1. Abra Settings (`Ctrl+,`)
|
|
102
|
+
2. Busque por "MCP Servers"
|
|
103
|
+
3. Ou edite diretamente `settings.json`:
|
|
104
|
+
|
|
105
|
+
```json
|
|
106
|
+
{
|
|
107
|
+
"mcp.servers": {
|
|
108
|
+
"koala-nest-docs": {
|
|
109
|
+
"command": "node",
|
|
110
|
+
"args": [
|
|
111
|
+
"/caminho/absoluto/para/node_modules/@koalarx/nest/mcp-server/server.js"
|
|
112
|
+
]
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
### Arquivo de Exemplo
|
|
119
|
+
|
|
120
|
+
O pacote `@koalarx/nest` inclui um arquivo de exemplo em:
|
|
121
|
+
```
|
|
122
|
+
node_modules/@koalarx/nest/mcp-server/mcp.json.example
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
Você pode copiá-lo e ajustar conforme necessário.
|
|
126
|
+
|
|
127
|
+
---
|
|
128
|
+
|
|
129
|
+
## ⚙️ Configuração
|
|
130
|
+
|
|
131
|
+
### Ativação Automática
|
|
132
|
+
|
|
133
|
+
A extensão é ativada automaticamente ao iniciar o VS Code. Você verá uma notificação confirmando que está ativa:
|
|
134
|
+
|
|
135
|
+
> 🚀 Koala Nest Documentation MCP extension is ready!
|
|
136
|
+
|
|
137
|
+
### Verificação
|
|
138
|
+
|
|
139
|
+
Para verificar se a extensão está funcionando:
|
|
140
|
+
|
|
141
|
+
1. Abra o **Output Panel** (`Ctrl+Shift+U` ou `View > Output`)
|
|
142
|
+
2. Selecione **"Koala Nest Documentation"** no dropdown
|
|
143
|
+
3. Você verá logs como:
|
|
144
|
+
```
|
|
145
|
+
🚀 Extension "Koala Nest Documentation MCP" is now active!
|
|
146
|
+
MCP Server path: /path/to/extension/dist/server.js
|
|
147
|
+
```
|
|
148
|
+
|
|
149
|
+
### Comando Manual
|
|
150
|
+
|
|
151
|
+
Você também pode ativar manualmente via Command Palette:
|
|
152
|
+
|
|
153
|
+
1. Abra o Command Palette (`Ctrl+Shift+P` ou `Cmd+Shift+P`)
|
|
154
|
+
2. Digite: **"Koala Nest: Open Documentation"**
|
|
155
|
+
3. Pressione Enter
|
|
156
|
+
|
|
157
|
+
## 🎯 Como Utilizar
|
|
158
|
+
|
|
159
|
+
### Com GitHub Copilot
|
|
160
|
+
|
|
161
|
+
A extensão funciona integrada ao GitHub Copilot. Basta fazer perguntas relacionadas ao Koala Nest:
|
|
162
|
+
|
|
163
|
+
#### Exemplos de Prompts
|
|
164
|
+
|
|
165
|
+
**Instalação e Configuração:**
|
|
166
|
+
```
|
|
167
|
+
Como instalar o Koala Nest?
|
|
168
|
+
Como configurar o Prisma no Koala Nest?
|
|
169
|
+
Mostre a configuração inicial do Koala Nest
|
|
170
|
+
```
|
|
171
|
+
|
|
172
|
+
**Criando Controllers:**
|
|
173
|
+
```
|
|
174
|
+
Como criar um controller no Koala Nest?
|
|
175
|
+
Exemplo de controller CRUD com Koala Nest
|
|
176
|
+
Como usar decoradores customizados no Koala Nest?
|
|
177
|
+
```
|
|
178
|
+
|
|
179
|
+
**Handlers e Validação:**
|
|
180
|
+
```
|
|
181
|
+
Como criar um request handler no Koala Nest?
|
|
182
|
+
Exemplo de validação com Zod no Koala Nest
|
|
183
|
+
Como fazer validação customizada?
|
|
184
|
+
```
|
|
185
|
+
|
|
186
|
+
**Repository e Database:**
|
|
187
|
+
```
|
|
188
|
+
Como criar um repository com Koala Nest?
|
|
189
|
+
Exemplo de repository com Prisma
|
|
190
|
+
Como fazer transações no Koala Nest?
|
|
191
|
+
Como usar o KoalaEntityBase?
|
|
192
|
+
```
|
|
193
|
+
|
|
194
|
+
**Jobs e Eventos:**
|
|
195
|
+
```
|
|
196
|
+
Como criar cron jobs no Koala Nest?
|
|
197
|
+
Exemplo de event handler
|
|
198
|
+
Como disparar eventos no Koala Nest?
|
|
199
|
+
```
|
|
200
|
+
|
|
201
|
+
**Tratamento de Erros:**
|
|
202
|
+
```
|
|
203
|
+
Quais são os erros disponíveis no Koala Nest?
|
|
204
|
+
Como criar erros customizados?
|
|
205
|
+
Como tratar exceções no Koala Nest?
|
|
206
|
+
```
|
|
207
|
+
|
|
208
|
+
**Features Avançadas:**
|
|
209
|
+
```
|
|
210
|
+
Como usar Redis no Koala Nest?
|
|
211
|
+
Como implementar RedLock?
|
|
212
|
+
Como fazer auto-mapping?
|
|
213
|
+
Como usar paginação?
|
|
214
|
+
```
|
|
215
|
+
|
|
216
|
+
### Documentação Disponível
|
|
217
|
+
|
|
218
|
+
O MCP Server expõe toda a documentação do Koala Nest:
|
|
219
|
+
|
|
220
|
+
- **00-cli-reference.md** - Referência da CLI
|
|
221
|
+
- **01-guia-instalacao.md** - Guia de instalação
|
|
222
|
+
- **02-configuracao-inicial.md** - Configuração inicial
|
|
223
|
+
- **04-tratamento-erros.md** - Tratamento de erros
|
|
224
|
+
- **05-features-avancadas.md** - Features avançadas (Redis, RedLock, Mapping, etc.)
|
|
225
|
+
- **06-decoradores.md** - Decoradores customizados
|
|
226
|
+
- **07-guia-bun.md** - Guia do Bun
|
|
227
|
+
- **08-prisma-client.md** - Prisma Client customizado
|
|
228
|
+
- **EXAMPLE.md** - Exemplo prático completo com CRUD
|
|
229
|
+
|
|
230
|
+
## 🔍 Verificando a Integração
|
|
231
|
+
|
|
232
|
+
### Output Channel
|
|
233
|
+
|
|
234
|
+
Para ver os logs do MCP Server:
|
|
235
|
+
|
|
236
|
+
1. Abra o Output Panel (`Ctrl+Shift+U`)
|
|
237
|
+
2. Selecione **"Koala Nest Documentation"**
|
|
238
|
+
3. Verifique se há mensagens de ativação
|
|
239
|
+
|
|
240
|
+
### GitHub Copilot
|
|
241
|
+
|
|
242
|
+
Quando você faz uma pergunta ao Copilot sobre Koala Nest:
|
|
243
|
+
|
|
244
|
+
1. O MCP Server é consultado automaticamente
|
|
245
|
+
2. A resposta incluirá informações da documentação oficial
|
|
246
|
+
3. Você receberá exemplos de código atualizados
|
|
247
|
+
|
|
248
|
+
## 🛠️ Desenvolvimento Local
|
|
249
|
+
|
|
250
|
+
### Estrutura do Projeto
|
|
251
|
+
|
|
252
|
+
```
|
|
253
|
+
koala-nest/
|
|
254
|
+
├── apps/
|
|
255
|
+
│ ├── mcp-server/ # MCP Server (Node.js)
|
|
256
|
+
│ │ ├── server.ts # Servidor MCP principal
|
|
257
|
+
│ │ └── tsconfig.json
|
|
258
|
+
│ └── mcp-vscode-extension/ # Extensão VS Code
|
|
259
|
+
│ ├── src/
|
|
260
|
+
│ │ └── extension.ts # Código da extensão
|
|
261
|
+
│ ├── package.json
|
|
262
|
+
│ └── tsconfig.json
|
|
263
|
+
└── docs/ # Documentação servida pelo MCP
|
|
264
|
+
```
|
|
265
|
+
|
|
266
|
+
### Build e Teste Local
|
|
267
|
+
|
|
268
|
+
```bash
|
|
269
|
+
# Build do MCP Server
|
|
270
|
+
bun run build:mcp
|
|
271
|
+
|
|
272
|
+
# Build da extensão
|
|
273
|
+
bun run build:mcp-extension
|
|
274
|
+
|
|
275
|
+
# Build completo (server + extension)
|
|
276
|
+
bun run build:mcp-all
|
|
277
|
+
|
|
278
|
+
# Empacotar extensão
|
|
279
|
+
bun run package:vscode-extension
|
|
280
|
+
```
|
|
281
|
+
|
|
282
|
+
### Debug no VS Code
|
|
283
|
+
|
|
284
|
+
1. Abra o projeto no VS Code
|
|
285
|
+
2. Vá até o painel de Debug (`Ctrl+Shift+D`)
|
|
286
|
+
3. Selecione **"Extension (MCP Docs)"**
|
|
287
|
+
4. Pressione `F5`
|
|
288
|
+
|
|
289
|
+
Isso abrirá uma nova janela do VS Code com a extensão em modo de desenvolvimento.
|
|
290
|
+
|
|
291
|
+
### Testar o MCP Server Diretamente
|
|
292
|
+
|
|
293
|
+
```bash
|
|
294
|
+
# Executar o servidor MCP standalone
|
|
295
|
+
bun run start:mcp
|
|
296
|
+
```
|
|
297
|
+
|
|
298
|
+
## 📊 Recursos do MCP Server
|
|
299
|
+
|
|
300
|
+
O servidor MCP expõe os seguintes recursos:
|
|
301
|
+
|
|
302
|
+
### Tools (Ferramentas)
|
|
303
|
+
|
|
304
|
+
- **`get_documentation`** - Recupera documentação específica
|
|
305
|
+
- Parâmetros: `topic` (string)
|
|
306
|
+
- Retorna: Conteúdo markdown do documento
|
|
307
|
+
|
|
308
|
+
- **`search_documentation`** - Busca na documentação
|
|
309
|
+
- Parâmetros: `query` (string)
|
|
310
|
+
- Retorna: Resultados relevantes
|
|
311
|
+
|
|
312
|
+
- **`list_topics`** - Lista todos os tópicos disponíveis
|
|
313
|
+
- Retorna: Array de tópicos da documentação
|
|
314
|
+
|
|
315
|
+
### Resources (Recursos)
|
|
316
|
+
|
|
317
|
+
Todos os arquivos markdown da pasta `/docs`:
|
|
318
|
+
|
|
319
|
+
- `docs://00-cli-reference`
|
|
320
|
+
- `docs://01-guia-instalacao`
|
|
321
|
+
- `docs://02-configuracao-inicial`
|
|
322
|
+
- `docs://04-tratamento-erros`
|
|
323
|
+
- `docs://05-features-avancadas`
|
|
324
|
+
- `docs://06-decoradores`
|
|
325
|
+
- `docs://07-guia-bun`
|
|
326
|
+
- `docs://08-prisma-client`
|
|
327
|
+
- `docs://EXAMPLE`
|
|
328
|
+
- `docs://README`
|
|
329
|
+
|
|
330
|
+
## 🐛 Troubleshooting
|
|
331
|
+
|
|
332
|
+
### Método 1: Problemas com Extensão
|
|
333
|
+
|
|
334
|
+
**Extensão não está ativa:**
|
|
335
|
+
1. Verifique se está instalada: `code --list-extensions | grep koala`
|
|
336
|
+
2. Reinstale: `code --install-extension koalarx.koala-libs-mcp-docs --force`
|
|
337
|
+
3. Recarregue: `Ctrl+Shift+P` → "Developer: Reload Window"
|
|
338
|
+
4. Verifique o Output Channel: `Ctrl+Shift+U` → "Koala Nest Documentation"
|
|
339
|
+
|
|
340
|
+
**MCP Server não responde:**
|
|
341
|
+
1. Verifique erros no Output Channel
|
|
342
|
+
2. Reinstale a extensão
|
|
343
|
+
3. Verifique se `dist/server.js` existe na pasta da extensão
|
|
344
|
+
|
|
345
|
+
### Método 2: Problemas com mcp.json
|
|
346
|
+
|
|
347
|
+
**Arquivo não é detectado:**
|
|
348
|
+
1. Verifique se o arquivo está em `.vscode/mcp.json` (não `vscode/mcp.json`)
|
|
349
|
+
2. Confirme que o caminho para `server.js` está correto
|
|
350
|
+
3. Verifique se `@koalarx/nest` está instalado: `ls node_modules/@koalarx/nest/mcp-server/`
|
|
351
|
+
4. Tente usar caminho absoluto ao invés de `${workspaceFolder}`
|
|
352
|
+
5. Verifique erros no Output Panel: `Ctrl+Shift+U` → selecione "MCP"
|
|
353
|
+
6. Reinicie completamente o VS Code (feche e abra)
|
|
354
|
+
|
|
355
|
+
**Exemplo de debug:**
|
|
356
|
+
```bash
|
|
357
|
+
# Verificar se o arquivo existe
|
|
358
|
+
ls -la .vscode/mcp.json
|
|
359
|
+
|
|
360
|
+
# Verificar se o server existe
|
|
361
|
+
ls -la node_modules/@koalarx/nest/mcp-server/server.js
|
|
362
|
+
|
|
363
|
+
# Testar o server manualmente
|
|
364
|
+
node node_modules/@koalarx/nest/mcp-server/server.js
|
|
365
|
+
```
|
|
366
|
+
|
|
367
|
+
### Qual método usar?
|
|
368
|
+
|
|
369
|
+
| Critério | Extensão | mcp.json |
|
|
370
|
+
|----------|----------|----------|
|
|
371
|
+
| **Facilidade** | ⭐⭐⭐⭐⭐ (1 clique) | ⭐⭐⭐ (requer configuração) |
|
|
372
|
+
| **Atualizações** | ⭐⭐⭐⭐⭐ (automáticas) | ⭐⭐ (manual) |
|
|
373
|
+
| **Controle** | ⭐⭐⭐ | ⭐⭐⭐⭐⭐ (controle total) |
|
|
374
|
+
| **Multi-projeto** | ⭐⭐⭐⭐⭐ (funciona em todos) | ⭐⭐⭐ (por projeto) |
|
|
375
|
+
| **Customização** | ⭐⭐ | ⭐⭐⭐⭐⭐ (totalmente customizável) |
|
|
376
|
+
|
|
377
|
+
**Recomendação:**
|
|
378
|
+
- 👉 **Use Extensão** para uso geral e simplicidade
|
|
379
|
+
- 👉 **Use mcp.json** para controle fino ou testes de desenvolvimento
|
|
380
|
+
|
|
381
|
+
### Erro ao instalar VSIX
|
|
382
|
+
|
|
383
|
+
**Problema:** `Error: ENOENT: no such file or directory`
|
|
384
|
+
|
|
385
|
+
**Solução:**
|
|
386
|
+
```bash
|
|
387
|
+
# Rebuild completo
|
|
388
|
+
bun run build:mcp-all
|
|
389
|
+
bun run package:vscode-extension
|
|
390
|
+
|
|
391
|
+
# Instale novamente
|
|
392
|
+
code --install-extension apps/mcp-vscode-extension/*.vsix --force
|
|
393
|
+
```
|
|
394
|
+
|
|
395
|
+
### GitHub Copilot não está integrado
|
|
396
|
+
|
|
397
|
+
**Problema:** O Copilot não consulta o MCP
|
|
398
|
+
|
|
399
|
+
**Solução:**
|
|
400
|
+
1. Certifique-se de ter o GitHub Copilot instalado e ativo
|
|
401
|
+
2. Verifique se você tem uma assinatura válida do Copilot
|
|
402
|
+
3. Reinicie o VS Code
|
|
403
|
+
4. A integração MCP requer VS Code versão 1.90.0 ou superior
|
|
404
|
+
|
|
405
|
+
## 📝 Contribuindo
|
|
406
|
+
|
|
407
|
+
Para contribuir com a extensão:
|
|
408
|
+
|
|
409
|
+
1. Fork o repositório
|
|
410
|
+
2. Crie uma branch para sua feature
|
|
411
|
+
3. Faça suas alterações
|
|
412
|
+
4. Teste localmente com `F5`
|
|
413
|
+
5. Crie um Pull Request
|
|
414
|
+
|
|
415
|
+
### Adicionando Nova Documentação
|
|
416
|
+
|
|
417
|
+
Para adicionar novos documentos ao MCP:
|
|
418
|
+
|
|
419
|
+
1. Crie o arquivo markdown em `/docs`
|
|
420
|
+
2. O MCP Server automaticamente o detectará
|
|
421
|
+
3. Rebuild o projeto: `bun run build:mcp-all`
|
|
422
|
+
4. Teste com o Copilot
|
|
423
|
+
|
|
424
|
+
## 🔗 Links Úteis
|
|
425
|
+
|
|
426
|
+
- [Repositório GitHub](https://github.com/igordrangel/koala-nest)
|
|
427
|
+
- [VS Code Marketplace](https://marketplace.visualstudio.com/items?itemName=koalarx.koala-libs-mcp-docs)
|
|
428
|
+
- [Model Context Protocol](https://modelcontextprotocol.io/)
|
|
429
|
+
- [GitHub Copilot](https://github.com/features/copilot)
|
|
430
|
+
|
|
431
|
+
## 📄 Licença
|
|
432
|
+
|
|
433
|
+
Esta extensão é parte do projeto Koala Nest e usa a mesma licença do projeto principal.
|
|
434
|
+
|
|
435
|
+
---
|
|
436
|
+
|
|
437
|
+
**💡 Dica:** Use o MCP para acelerar seu desenvolvimento! O Copilot terá acesso a toda a documentação oficial do Koala Nest, fornecendo respostas mais precisas e exemplos atualizados.
|