@andrebuzeli/git-mcp 4.0.4 → 4.0.6

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.
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAwLA;;;;;;;;;;;;;;;;;;GAkBG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,MAAM,CAAS;;IAavB;;;;;;;;;;;;;;;;;OAiBG;IACH,OAAO,CAAC,aAAa;IAuZrB;;;;;;;;;;;;;;;;;;OAkBG;IACG,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;IA8D1B;;;;;;;;;;;;OAYG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAG7B"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAmKA;;;;;;;;;;;;;;;;;;GAkBG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,MAAM,CAAS;;IAavB;;;;;;;;;;;;;;;;;OAiBG;IACH,OAAO,CAAC,aAAa;IA2gBrB;;;;;;;;;;;;;;;;;;OAkBG;IACG,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;IA8D1B;;;;;;;;;;;;OAYG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAG7B"}
package/dist/server.js CHANGED
@@ -138,41 +138,20 @@ const tools = [
138
138
  * Recursos MCP disponíveis
139
139
  *
140
140
  * RESOURCES DISPONÍVEIS:
141
- * - tools-reference: Documentação completa de todas as tools, actions e parâmetros
141
+ * - instructions: Instruções completas de uso de cada tool, action e parâmetro
142
142
  * - examples: Exemplos práticos de uso das ferramentas
143
- * - prompts: Templates de prompts para diferentes cenários
144
- * - configuration: Informações de configuração e setup
145
- * - architecture: Detalhes da arquitetura e design decisions
146
143
  */
147
144
  const resources = [
148
145
  {
149
- uri: 'mcp-git://tools-reference',
150
- name: 'Ferramentas MCP Git - Referência Completa',
151
- description: 'Documentação detalhada de todas as 18 ferramentas, suas actions, parâmetros obrigatórios/opcionais e funcionalidades',
146
+ uri: 'mcp-git://instructions',
147
+ name: 'Instruções de Uso - Todas as Tools',
148
+ description: 'Guia completo de uso de cada ferramenta, suas actions, parâmetros obrigatórios/opcionais e funcionalidades',
152
149
  mimeType: 'application/json'
153
150
  },
154
151
  {
155
152
  uri: 'mcp-git://examples',
156
- name: 'Exemplos Práticos de Uso',
157
- description: 'Exemplos reais de workflows completos, casos de uso comuns e melhores práticas',
158
- mimeType: 'application/json'
159
- },
160
- {
161
- uri: 'mcp-git://prompts',
162
- name: 'Templates de Prompts',
163
- description: 'Prompts otimizados para diferentes cenários de desenvolvimento e uso das ferramentas',
164
- mimeType: 'application/json'
165
- },
166
- {
167
- uri: 'mcp-git://configuration',
168
- name: 'Configuração e Setup',
169
- description: 'Informações completas sobre configuração de ambiente, variáveis obrigatórias e opcionais',
170
- mimeType: 'application/json'
171
- },
172
- {
173
- uri: 'mcp-git://architecture',
174
- name: 'Arquitetura e Design',
175
- description: 'Detalhes da arquitetura unificada, decisões de design e princípios implementados',
153
+ name: 'Exemplos Práticos',
154
+ description: 'Exemplos reais de workflows, casos de uso comuns e melhores práticas de uso das ferramentas',
176
155
  mimeType: 'application/json'
177
156
  }
178
157
  ];
@@ -255,20 +234,8 @@ class GiteaMCPServer {
255
234
  }
256
235
  catch (error) {
257
236
  const errorMessage = error instanceof Error ? error.message : String(error);
258
- return {
259
- content: [
260
- {
261
- type: 'text',
262
- text: JSON.stringify({
263
- success: false,
264
- action: name,
265
- message: 'Erro na execução da tool',
266
- error: errorMessage
267
- }, null, 2)
268
- }
269
- ],
270
- isError: true
271
- };
237
+ // Retorna erro diretamente em vez de JSON.stringify
238
+ throw new Error(errorMessage);
272
239
  }
273
240
  });
274
241
  // Handler para listar resources disponíveis
@@ -282,321 +249,436 @@ class GiteaMCPServer {
282
249
  const { uri } = request.params;
283
250
  let content = '';
284
251
  switch (uri) {
285
- case 'mcp-git://tools-reference':
252
+ case 'mcp-git://instructions':
286
253
  content = JSON.stringify({
287
- title: 'MCP Git Tools - Referência Completa',
288
- version: '4.0.3',
254
+ title: 'INSTRUÇÕES DE USO - MCP Git Tools',
255
+ version: '4.0.4',
289
256
  totalTools: 18,
290
- architecture: {
291
- coreUnified: 6,
292
- advanced: 6,
293
- specialized: 6
294
- },
257
+ description: 'Guia completo de todas as ferramentas, suas actions e parâmetros',
295
258
  tools: {
296
259
  'git-workflow': {
297
260
  description: 'Workflow unificado completo',
298
261
  actions: {
299
262
  init: {
300
263
  description: 'Inicialização completa do projeto',
301
- parameters: {
302
- required: ['action', 'projectPath'],
303
- optional: ['message']
304
- },
305
- example: { action: 'init', projectPath: '/path/to/project', message: 'Initial commit' }
264
+ required: ['action', 'projectPath'],
265
+ optional: ['message'],
266
+ example: '{ "action": "init", "projectPath": "/path/to/project" }'
306
267
  },
307
268
  commit: {
308
269
  description: 'Commit com push automático',
309
- parameters: {
310
- required: ['action', 'projectPath', 'message'],
311
- optional: []
312
- },
313
- example: { action: 'commit', projectPath: '/path/to/project', message: 'feat: new feature' }
270
+ required: ['action', 'projectPath', 'message'],
271
+ optional: [],
272
+ example: '{ "action": "commit", "projectPath": "/path/to/project", "message": "feat: new feature" }'
314
273
  },
315
274
  sync: {
316
- description: 'Sincronização completa',
317
- parameters: {
318
- required: ['action', 'projectPath'],
319
- optional: ['message']
320
- }
275
+ description: 'Sincronização completa (pull + commit + push)',
276
+ required: ['action', 'projectPath'],
277
+ optional: ['message'],
278
+ example: '{ "action": "sync", "projectPath": "/path/to/project" }'
321
279
  },
322
280
  status: {
323
281
  description: 'Status completo do projeto',
324
- parameters: {
325
- required: ['action', 'projectPath'],
326
- optional: ['detailed']
327
- }
282
+ required: ['action', 'projectPath'],
283
+ optional: ['detailed'],
284
+ example: '{ "action": "status", "projectPath": "/path/to/project", "detailed": true }'
328
285
  },
329
286
  backup: {
330
- description: 'Backup completo',
331
- parameters: {
332
- required: ['action', 'projectPath'],
333
- optional: ['description']
334
- }
287
+ description: 'Backup completo do estado atual',
288
+ required: ['action', 'projectPath'],
289
+ optional: ['description'],
290
+ example: '{ "action": "backup", "projectPath": "/path/to/project", "description": "Backup antes de mudanças" }'
335
291
  }
336
292
  }
337
293
  },
338
294
  'git-files': {
339
295
  description: 'Gerenciamento inteligente de arquivos',
340
296
  actions: {
341
- read: { description: 'Ler arquivo', parameters: { required: ['action', 'projectPath', 'filePath'] } },
342
- write: { description: 'Escrever arquivo', parameters: { required: ['action', 'projectPath', 'filePath', 'content'] } },
343
- search: { description: 'Buscar no código', parameters: { required: ['action', 'projectPath', 'query'], optional: ['path', 'caseSensitive'] } },
344
- update: { description: 'Atualizar arquivo', parameters: { required: ['action', 'projectPath', 'filePath', 'content'] } },
345
- 'backup-files': { description: 'Backup seletivo', parameters: { required: ['action', 'projectPath'], optional: ['patterns'] } }
297
+ read: {
298
+ description: 'Ler conteúdo de arquivo',
299
+ required: ['action', 'projectPath', 'filePath'],
300
+ optional: [],
301
+ example: '{ "action": "read", "projectPath": "/path/to/project", "filePath": "src/index.ts" }'
302
+ },
303
+ write: {
304
+ description: 'Escrever arquivo com backup automático',
305
+ required: ['action', 'projectPath', 'filePath', 'content'],
306
+ optional: [],
307
+ example: '{ "action": "write", "projectPath": "/path/to/project", "filePath": "src/newfile.ts", "content": "export const hello = \'world\';" }'
308
+ },
309
+ search: {
310
+ description: 'Buscar texto no código',
311
+ required: ['action', 'projectPath', 'query'],
312
+ optional: ['path', 'caseSensitive'],
313
+ example: '{ "action": "search", "projectPath": "/path/to/project", "query": "function.*login" }'
314
+ },
315
+ update: {
316
+ description: 'Atualizar arquivo existente',
317
+ required: ['action', 'projectPath', 'filePath', 'content'],
318
+ optional: [],
319
+ example: '{ "action": "update", "projectPath": "/path/to/project", "filePath": "src/existing.ts", "content": "updated content" }'
320
+ },
321
+ 'backup-files': {
322
+ description: 'Backup seletivo de arquivos',
323
+ required: ['action', 'projectPath'],
324
+ optional: ['patterns', 'description'],
325
+ example: '{ "action": "backup-files", "projectPath": "/path/to/project", "patterns": ["*.json", "*.config.*"] }'
326
+ }
346
327
  }
347
328
  },
348
329
  'git-release': {
349
330
  description: 'Sistema de release automatizado',
350
331
  actions: {
351
- create: { description: 'Criar release', parameters: { required: ['action', 'projectPath'], optional: ['version', 'changelog'] } },
352
- version: { description: 'Bump versão', parameters: { required: ['action', 'projectPath'], optional: ['type'] } },
353
- publish: { description: 'Publicar release', parameters: { required: ['action', 'projectPath'] } },
354
- history: { description: 'Histórico', parameters: { required: ['action', 'projectPath'], optional: ['limit'] } },
355
- rollback: { description: 'Rollback', parameters: { required: ['action', 'projectPath'] } }
332
+ create: {
333
+ description: 'Criar release com changelog automático',
334
+ required: ['action', 'projectPath'],
335
+ optional: ['version', 'changelog', 'draft', 'prerelease', 'assets', 'notes'],
336
+ example: '{ "action": "create", "projectPath": "/path/to/project", "changelog": true }'
337
+ },
338
+ version: {
339
+ description: 'Incrementar versão semântica',
340
+ required: ['action', 'projectPath'],
341
+ optional: ['type'],
342
+ example: '{ "action": "version", "projectPath": "/path/to/project", "type": "minor" }'
343
+ },
344
+ publish: {
345
+ description: 'Publicar release',
346
+ required: ['action', 'projectPath'],
347
+ optional: ['providers'],
348
+ example: '{ "action": "publish", "projectPath": "/path/to/project" }'
349
+ },
350
+ history: {
351
+ description: 'Histórico de releases',
352
+ required: ['action', 'projectPath'],
353
+ optional: ['limit', 'includeDrafts'],
354
+ example: '{ "action": "history", "projectPath": "/path/to/project", "limit": 10 }'
355
+ },
356
+ rollback: {
357
+ description: 'Rollback de release',
358
+ required: ['action', 'projectPath'],
359
+ optional: ['createBackup'],
360
+ example: '{ "action": "rollback", "projectPath": "/path/to/project", "createBackup": true }'
361
+ }
356
362
  }
357
363
  },
358
364
  'git-monitor': {
359
- description: 'Monitoramento avançado',
365
+ description: 'Monitoramento e analytics',
360
366
  actions: {
361
- status: { description: 'Status detalhado', parameters: { required: ['action', 'projectPath'], optional: ['includeMetrics'] } },
362
- history: { description: 'Histórico', parameters: { required: ['action', 'projectPath'], optional: ['since', 'limit'] } },
363
- metrics: { description: 'Métricas', parameters: { required: ['action', 'projectPath'], optional: ['period'] } },
364
- health: { description: 'Análise saúde', parameters: { required: ['action', 'projectPath'], optional: ['deep'] } },
365
- activity: { description: 'Atividade recente', parameters: { required: ['action', 'projectPath'], optional: ['hours'] } }
367
+ status: {
368
+ description: 'Status detalhado com métricas',
369
+ required: ['action', 'projectPath'],
370
+ optional: ['includeMetrics', 'detailed'],
371
+ example: '{ "action": "status", "projectPath": "/path/to/project", "includeMetrics": true }'
372
+ },
373
+ history: {
374
+ description: 'Histórico de atividades',
375
+ required: ['action', 'projectPath'],
376
+ optional: ['since', 'limit', 'type'],
377
+ example: '{ "action": "history", "projectPath": "/path/to/project", "since": "2024-01-01" }'
378
+ },
379
+ metrics: {
380
+ description: 'Métricas de produtividade',
381
+ required: ['action', 'projectPath'],
382
+ optional: ['period', 'includeCharts'],
383
+ example: '{ "action": "metrics", "projectPath": "/path/to/project", "period": "30d" }'
384
+ },
385
+ health: {
386
+ description: 'Análise de saúde do projeto',
387
+ required: ['action', 'projectPath'],
388
+ optional: ['deep', 'suggestions'],
389
+ example: '{ "action": "health", "projectPath": "/path/to/project", "deep": true }'
390
+ },
391
+ activity: {
392
+ description: 'Atividade recente',
393
+ required: ['action', 'projectPath'],
394
+ optional: ['hours', 'includeRemote'],
395
+ example: '{ "action": "activity", "projectPath": "/path/to/project", "hours": 24 }'
396
+ }
366
397
  }
367
398
  },
368
399
  'git-backup': {
369
400
  description: 'Sistema de backup inteligente',
370
401
  actions: {
371
- create: { description: 'Criar backup', parameters: { required: ['action', 'projectPath'], optional: ['type', 'name'] } },
372
- restore: { description: 'Restaurar', parameters: { required: ['action', 'projectPath', 'backupId'], optional: ['preview'] } },
373
- list: { description: 'Listar backups', parameters: { required: ['action', 'projectPath'], optional: ['filter'] } },
374
- auto: { description: 'Backup automático', parameters: { required: ['action', 'projectPath'], optional: ['enabled'] } },
375
- verify: { description: 'Verificar integridade', parameters: { required: ['action', 'projectPath', 'backupId'] } }
402
+ create: {
403
+ description: 'Criar backup',
404
+ required: ['action', 'projectPath'],
405
+ optional: ['type', 'name', 'includeUntracked', 'compress'],
406
+ example: '{ "action": "create", "projectPath": "/path/to/project", "type": "full" }'
407
+ },
408
+ restore: {
409
+ description: 'Restaurar backup',
410
+ required: ['action', 'projectPath', 'backupId'],
411
+ optional: ['preview', 'force', 'targetPath'],
412
+ example: '{ "action": "restore", "projectPath": "/path/to/project", "backupId": "backup-2024-01-01", "preview": true }'
413
+ },
414
+ list: {
415
+ description: 'Listar backups',
416
+ required: ['action', 'projectPath'],
417
+ optional: ['filter', 'limit', 'sortBy'],
418
+ example: '{ "action": "list", "projectPath": "/path/to/project", "filter": "full" }'
419
+ },
420
+ auto: {
421
+ description: 'Backup automático',
422
+ required: ['action', 'projectPath'],
423
+ optional: ['enabled', 'schedule', 'retention', 'maxBackups'],
424
+ example: '{ "action": "auto", "projectPath": "/path/to/project", "enabled": true, "schedule": "daily" }'
425
+ },
426
+ verify: {
427
+ description: 'Verificar integridade',
428
+ required: ['action', 'projectPath', 'backupId'],
429
+ optional: ['deep'],
430
+ example: '{ "action": "verify", "projectPath": "/path/to/project", "backupId": "backup-2024-01-01" }'
431
+ }
376
432
  }
377
433
  },
378
434
  'git-branches': {
379
435
  description: 'Gerenciamento de branches',
380
436
  actions: {
381
- create: { description: 'Criar branch', parameters: { required: ['action', 'projectPath', 'name'], optional: ['from'] } },
382
- list: { description: 'Listar branches', parameters: { required: ['action', 'projectPath'], optional: ['remote'] } },
383
- switch: { description: 'Trocar branch', parameters: { required: ['action', 'projectPath', 'name'], optional: ['create'] } },
384
- delete: { description: 'Remover branch', parameters: { required: ['action', 'projectPath', 'name'], optional: ['force'] } },
385
- merge: { description: 'Merge', parameters: { required: ['action', 'projectPath', 'branch'], optional: ['strategy'] } },
386
- compare: { description: 'Comparar', parameters: { required: ['action', 'projectPath', 'base', 'head'] } }
387
- }
388
- },
389
- 'git-remote': {
390
- description: 'Gerenciamento de remotos',
391
- actions: {
392
- add: { description: 'Adicionar remote', parameters: { required: ['action', 'projectPath', 'name', 'url'], optional: ['provider'] } },
393
- remove: { description: 'Remover remote', parameters: { required: ['action', 'projectPath', 'name'] } },
394
- rename: { description: 'Renomear remote', parameters: { required: ['action', 'projectPath', 'oldName', 'newName'] } },
395
- show: { description: 'Mostrar info', parameters: { required: ['action', 'projectPath'], optional: ['detailed'] } },
396
- 'set-url': { description: 'Alterar URL', parameters: { required: ['action', 'projectPath', 'name', 'url'] } },
397
- prune: { description: 'Limpar referências', parameters: { required: ['action', 'projectPath'] } }
398
- }
399
- },
400
- 'git-stash': {
401
- description: 'Operações de stash',
402
- actions: {
403
- save: { description: 'Salvar', parameters: { required: ['action', 'projectPath'], optional: ['message', 'includeUntracked'] } },
404
- pop: { description: 'Aplicar e remover', parameters: { required: ['action', 'projectPath'], optional: ['index'] } },
405
- apply: { description: 'Aplicar', parameters: { required: ['action', 'projectPath'], optional: ['index'] } },
406
- list: { description: 'Listar', parameters: { required: ['action', 'projectPath'], optional: ['detailed'] } },
407
- show: { description: 'Mostrar detalhes', parameters: { required: ['action', 'projectPath', 'index'] } },
408
- drop: { description: 'Remover', parameters: { required: ['action', 'projectPath', 'index'] } },
409
- clear: { description: 'Limpar todos', parameters: { required: ['action', 'projectPath'], optional: ['confirm'] } }
410
- }
411
- },
412
- 'git-reset': {
413
- description: 'Reset seguro',
414
- actions: {
415
- soft: { description: 'Reset soft', parameters: { required: ['action', 'projectPath', 'commit'] } },
416
- mixed: { description: 'Reset mixed', parameters: { required: ['action', 'projectPath', 'commit'] } },
417
- hard: { description: 'Reset hard', parameters: { required: ['action', 'projectPath', 'commit'], optional: ['confirm'] } },
418
- 'reset-to-commit': { description: 'Reset específico', parameters: { required: ['action', 'projectPath', 'commit'], optional: ['type'] } },
419
- 'reset-branch': { description: 'Reset branch', parameters: { required: ['action', 'projectPath', 'branch'], optional: ['target'] } }
420
- }
421
- },
422
- 'git-tags': {
423
- description: 'Gerenciamento de tags',
424
- actions: {
425
- create: { description: 'Criar tag', parameters: { required: ['action', 'projectPath', 'name'], optional: ['message', 'target', 'type'] } },
426
- list: { description: 'Listar tags', parameters: { required: ['action', 'projectPath'], optional: ['pattern', 'sort'] } },
427
- get: { description: 'Detalhes tag', parameters: { required: ['action', 'projectPath', 'name'] } },
428
- delete: { description: 'Remover tag', parameters: { required: ['action', 'projectPath', 'name'], optional: ['remote'] } },
429
- search: { description: 'Buscar tags', parameters: { required: ['action', 'projectPath'], optional: ['query', 'pattern'] } }
430
- }
431
- },
432
- 'git-issues': {
433
- description: 'Sistema de issues local',
434
- actions: {
435
- create: { description: 'Criar issue', parameters: { required: ['action', 'projectPath', 'title'], optional: ['description', 'labels', 'priority'] } },
436
- list: { description: 'Listar issues', parameters: { required: ['action', 'projectPath'], optional: ['state', 'limit', 'sort'] } },
437
- get: { description: 'Detalhes issue', parameters: { required: ['action', 'projectPath', 'id'] } },
438
- update: { description: 'Atualizar issue', parameters: { required: ['action', 'projectPath', 'id'], optional: ['title', 'status'] } },
439
- close: { description: 'Fechar issue', parameters: { required: ['action', 'projectPath', 'id'], optional: ['comment'] } },
440
- scan: { description: 'Auto-detecção TODOs', parameters: { required: ['action', 'projectPath'], optional: ['createIssues', 'patterns'] } }
441
- }
442
- },
443
- 'git-pulls': {
444
- description: 'Pull requests locais',
445
- actions: {
446
- create: { description: 'Criar PR', parameters: { required: ['action', 'projectPath', 'title', 'head', 'base'] } },
447
- list: { description: 'Listar PRs', parameters: { required: ['action', 'projectPath'] } },
448
- merge: { description: 'Merge PR', parameters: { required: ['action', 'projectPath', 'number'] } }
437
+ create: {
438
+ description: 'Criar nova branch',
439
+ required: ['action', 'projectPath', 'name'],
440
+ optional: ['from'],
441
+ example: '{ "action": "create", "projectPath": "/path/to/project", "name": "feature/new-feature" }'
442
+ },
443
+ list: {
444
+ description: 'Listar branches',
445
+ required: ['action', 'projectPath'],
446
+ optional: ['remote'],
447
+ example: '{ "action": "list", "projectPath": "/path/to/project", "remote": true }'
448
+ },
449
+ switch: {
450
+ description: 'Trocar de branch',
451
+ required: ['action', 'projectPath', 'name'],
452
+ optional: ['create'],
453
+ example: '{ "action": "switch", "projectPath": "/path/to/project", "name": "main" }'
454
+ },
455
+ delete: {
456
+ description: 'Remover branch',
457
+ required: ['action', 'projectPath', 'name'],
458
+ optional: ['force'],
459
+ example: '{ "action": "delete", "projectPath": "/path/to/project", "name": "old-branch" }'
460
+ },
461
+ merge: {
462
+ description: 'Merge de branches',
463
+ required: ['action', 'projectPath', 'branch'],
464
+ optional: ['strategy', 'noCommit'],
465
+ example: '{ "action": "merge", "projectPath": "/path/to/project", "branch": "feature/complete", "strategy": "squash" }'
466
+ },
467
+ compare: {
468
+ description: 'Comparar branches',
469
+ required: ['action', 'projectPath', 'base', 'head'],
470
+ optional: ['detailed'],
471
+ example: '{ "action": "compare", "projectPath": "/path/to/project", "base": "main", "head": "feature/new" }'
472
+ }
449
473
  }
450
- },
451
- 'git-analytics': { description: 'Analytics (placeholder)', actions: {} },
452
- 'git-archive': { description: 'Archive operations (placeholder)', actions: {} },
453
- 'git-packages': { description: 'Package management (placeholder)', actions: {} },
454
- 'git-sync': { description: 'Multi-provider sync (placeholder)', actions: {} },
455
- 'git-repos': { description: 'Repository management (placeholder)', actions: {} },
456
- 'git-config': { description: 'Advanced configuration (placeholder)', actions: {} }
474
+ }
475
+ },
476
+ importantNotes: {
477
+ 'universalParameters': 'Todas as ferramentas requerem apenas "action" + "projectPath"',
478
+ 'autoDetection': 'Repo, owner e providers são detectados automaticamente',
479
+ 'errorHandling': 'Todas as ferramentas têm error handling inteligente com sugestões',
480
+ 'multiProvider': 'Suporte automático a Gitea e GitHub quando configurados'
457
481
  }
458
482
  }, null, 2);
459
483
  break;
460
484
  case 'mcp-git://examples':
461
485
  content = JSON.stringify({
462
- title: 'Exemplos Práticos - MCP Git Tools',
463
- version: '4.0.3',
486
+ title: 'EXEMPLOS PRÁTICOS - MCP Git Tools',
487
+ version: '4.0.4',
488
+ description: 'Exemplos reais de uso das ferramentas',
464
489
  workflows: {
465
- 'daily-development': [
466
- { tool: 'git-workflow', action: 'sync', description: 'Atualizar com mudanças do time' },
467
- { tool: 'git-workflow', action: 'status', description: 'Ver status do projeto' },
468
- { tool: 'git-files', action: 'write', description: 'Implementar nova feature' },
469
- { tool: 'git-workflow', action: 'commit', description: 'Commit das mudanças' }
470
- ],
471
- 'feature-development': [
472
- { tool: 'git-branches', action: 'create', description: 'Criar branch da feature' },
473
- { tool: 'git-files', action: 'write', description: 'Desenvolver feature' },
474
- { tool: 'git-issues', action: 'scan', description: 'Verificar TODOs' },
475
- { tool: 'git-workflow', action: 'commit', description: 'Commit progressivo' },
476
- { tool: 'git-branches', action: 'merge', description: 'Merge na main' }
477
- ],
478
- 'release-process': [
479
- { tool: 'git-monitor', action: 'health', description: 'Verificar saúde pré-release' },
480
- { tool: 'git-workflow', action: 'backup', description: 'Backup estratégico' },
481
- { tool: 'git-release', action: 'version', description: 'Bump versão' },
482
- { tool: 'git-release', action: 'create', description: 'Criar release' }
483
- ]
484
- },
485
- realExamples: {
486
- 'create-react-component': {
487
- description: 'Criar componente React com backup automático',
490
+ 'daily-workflow': {
491
+ description: 'Workflow diário de desenvolvimento',
488
492
  steps: [
489
493
  {
494
+ description: 'Sincronizar com mudanças do time',
495
+ tool: 'git-workflow',
496
+ action: 'sync',
497
+ params: { action: 'sync', projectPath: '/path/to/project' }
498
+ },
499
+ {
500
+ description: 'Ver status do projeto',
501
+ tool: 'git-workflow',
502
+ action: 'status',
503
+ params: { action: 'status', projectPath: '/path/to/project', detailed: true }
504
+ },
505
+ {
506
+ description: 'Implementar nova funcionalidade',
490
507
  tool: 'git-files',
491
508
  action: 'write',
492
509
  params: {
493
- projectPath: 'C:\\projetos\\react-app',
494
- filePath: 'src/components/UserProfile.tsx',
495
- content: 'export const UserProfile = () => <div>Profile</div>;'
510
+ action: 'write',
511
+ projectPath: '/path/to/project',
512
+ filePath: 'src/new-feature.ts',
513
+ content: 'export function newFeature() { return "Hello World"; }'
514
+ }
515
+ },
516
+ {
517
+ description: 'Commit das mudanças',
518
+ tool: 'git-workflow',
519
+ action: 'commit',
520
+ params: {
521
+ action: 'commit',
522
+ projectPath: '/path/to/project',
523
+ message: 'feat: Implementar nova funcionalidade\n\n- Adicionar função newFeature\n- Export da função\n- Documentação básica'
496
524
  }
497
525
  }
498
526
  ]
499
527
  },
500
- 'daily-commit': {
501
- description: 'Commit diário das mudanças',
528
+ 'feature-development': {
529
+ description: 'Desenvolvimento completo de uma feature',
502
530
  steps: [
503
531
  {
532
+ description: 'Criar branch da feature',
533
+ tool: 'git-branches',
534
+ action: 'create',
535
+ params: { action: 'create', projectPath: '/path/to/project', name: 'feature/user-auth' }
536
+ },
537
+ {
538
+ description: 'Implementar autenticação',
539
+ tool: 'git-files',
540
+ action: 'write',
541
+ params: {
542
+ action: 'write',
543
+ projectPath: '/path/to/project',
544
+ filePath: 'src/auth/login.ts',
545
+ content: 'export function login(email: string, password: string) { /* auth logic */ }'
546
+ }
547
+ },
548
+ {
549
+ description: 'Verificar TODOs/FIXMEs',
550
+ tool: 'git-issues',
551
+ action: 'scan',
552
+ params: { action: 'scan', projectPath: '/path/to/project', createIssues: true }
553
+ },
554
+ {
555
+ description: 'Commit da implementação',
504
556
  tool: 'git-workflow',
505
557
  action: 'commit',
506
558
  params: {
507
- projectPath: 'C:\\projetos\\api-backend',
508
- message: 'feat: Implementar autenticação JWT\n\n- Middleware de validação\n- Endpoint /auth/login\n- Tests unitários'
559
+ action: 'commit',
560
+ projectPath: '/path/to/project',
561
+ message: 'feat: Implementar sistema de autenticação\n\n- Função login\n- Validação de credenciais\n- Tratamento de erros'
562
+ }
563
+ },
564
+ {
565
+ description: 'Merge na branch principal',
566
+ tool: 'git-branches',
567
+ action: 'merge',
568
+ params: { action: 'merge', projectPath: '/path/to/project', branch: 'feature/user-auth' }
569
+ }
570
+ ]
571
+ },
572
+ 'release-process': {
573
+ description: 'Processo completo de release',
574
+ steps: [
575
+ {
576
+ description: 'Verificar saúde pré-release',
577
+ tool: 'git-monitor',
578
+ action: 'health',
579
+ params: { action: 'health', projectPath: '/path/to/project', deep: true }
580
+ },
581
+ {
582
+ description: 'Criar backup estratégico',
583
+ tool: 'git-workflow',
584
+ action: 'backup',
585
+ params: { action: 'backup', projectPath: '/path/to/project', description: 'Backup pré-release v2.0.0' }
586
+ },
587
+ {
588
+ description: 'Incrementar versão',
589
+ tool: 'git-release',
590
+ action: 'version',
591
+ params: { action: 'version', projectPath: '/path/to/project', type: 'minor' }
592
+ },
593
+ {
594
+ description: 'Criar release completo',
595
+ tool: 'git-release',
596
+ action: 'create',
597
+ params: {
598
+ action: 'create',
599
+ projectPath: '/path/to/project',
600
+ changelog: true,
601
+ notes: 'Release v2.0.0 com novas funcionalidades',
602
+ assets: ['dist/bundle.js', 'dist/styles.css']
509
603
  }
510
604
  }
511
605
  ]
512
606
  }
513
- }
514
- }, null, 2);
515
- break;
516
- case 'mcp-git://prompts':
517
- content = JSON.stringify({
518
- title: 'Templates de Prompts - MCP Git Tools',
519
- version: '4.0.3',
520
- prompts: {
521
- 'development-workflow': {
522
- description: 'Prompt para workflow de desenvolvimento completo',
523
- template: 'Execute um workflow completo de desenvolvimento: 1) Sincronize com o repositório usando git-workflow sync, 2) Verifique o status usando git-workflow status, 3) Implemente as mudanças solicitadas, 4) Faça commit usando git-workflow commit com mensagem descritiva, 5) Monitore a saúde do projeto com git-monitor health'
607
+ },
608
+ commonUseCases: {
609
+ 'create-component': {
610
+ description: 'Criar novo componente React',
611
+ example: {
612
+ tool: 'git-files',
613
+ action: 'write',
614
+ params: {
615
+ action: 'write',
616
+ projectPath: 'C:\\projetos\\react-app',
617
+ filePath: 'src/components/UserProfile.tsx',
618
+ content: 'import React from \'react\';\n\nexport const UserProfile: React.FC = () => {\n return (\n <div className="user-profile">\n <h2>User Profile</h2>\n </div>\n );\n};'
619
+ }
620
+ }
524
621
  },
525
- 'code-review': {
526
- description: 'Prompt para análise de código antes de commit',
527
- template: 'Antes de fazer commit, execute: 1) git-monitor health para verificar a saúde do projeto, 2) git-issues scan para detectar TODOs/FIXMEs não resolvidos, 3) git-files search para verificar se há código relacionado que precisa ser atualizado, 4) git-workflow status para confirmar que tudo está correto'
622
+ 'daily-commit': {
623
+ description: 'Commit diário das mudanças',
624
+ example: {
625
+ tool: 'git-workflow',
626
+ action: 'commit',
627
+ params: {
628
+ action: 'commit',
629
+ projectPath: 'C:\\projetos\\api-backend',
630
+ message: 'feat: Implementar autenticação JWT\n\n- Middleware de validação de tokens\n- Endpoint POST /auth/login\n- Endpoint POST /auth/refresh\n- Tests unitários para auth\n- Documentação da API'
631
+ }
632
+ }
528
633
  },
529
- 'feature-branch': {
530
- description: 'Prompt para desenvolvimento de features',
531
- template: 'Para implementar uma nova feature: 1) Crie uma branch usando git-branches create, 2) Desenvolva a feature usando git-files write/update, 3) Faça commits progressivos com git-workflow commit, 4) Use git-issues scan para verificar TODOs, 5) Faça merge usando git-branches merge, 6) Limpe a branch com git-branches delete'
634
+ 'backup-before-changes': {
635
+ description: 'Backup antes de mudanças arriscadas',
636
+ example: {
637
+ tool: 'git-workflow',
638
+ action: 'backup',
639
+ params: {
640
+ action: 'backup',
641
+ projectPath: 'C:\\projetos\\critical-app',
642
+ description: 'Backup antes de refatoração da arquitetura principal'
643
+ }
644
+ }
532
645
  },
533
- 'troubleshooting': {
534
- description: 'Prompt para diagnóstico de problemas',
535
- template: 'Para diagnosticar problemas: 1) git-workflow status para overview geral, 2) git-monitor health com deep=true para análise profunda, 3) git-monitor activity para ver atividade recente, 4) git-backup create para backup antes de mudanças, 5) git-reset mixed se necessário para reverter mudanças problemáticas'
536
- }
537
- }
538
- }, null, 2);
539
- break;
540
- case 'mcp-git://configuration':
541
- content = JSON.stringify({
542
- title: 'Configuração e Setup - MCP Git Tools',
543
- version: '4.0.3',
544
- required: {
545
- 'GITEA_USERNAME': 'Nome de usuário no Gitea',
546
- 'GITEA_TOKEN': 'Token de acesso do Gitea',
547
- 'GITEA_URL': 'URL base do servidor Gitea'
548
- },
549
- optional: {
550
- 'GITHUB_USERNAME': 'Nome de usuário no GitHub (opcional)',
551
- 'GITHUB_TOKEN': 'Token do GitHub (opcional)',
552
- 'DEMO_MODE': 'Modo demo para testes (true/false)',
553
- 'LOG_LEVEL': 'Nível de log (debug/info/warn/error)'
554
- },
555
- examples: {
556
- 'minimal-gitea': {
557
- 'GITEA_USERNAME': 'developer',
558
- 'GITEA_TOKEN': 'your_gitea_token_here',
559
- 'GITEA_URL': 'https://gitea.company.com'
646
+ 'search-code': {
647
+ description: 'Buscar funções específicas no código',
648
+ example: {
649
+ tool: 'git-files',
650
+ action: 'search',
651
+ params: {
652
+ action: 'search',
653
+ projectPath: 'C:\\projetos\\large-app',
654
+ query: 'function.*validate.*email|const.*emailRegex',
655
+ caseSensitive: false
656
+ }
657
+ }
658
+ },
659
+ 'health-check': {
660
+ description: 'Verificar saúde do projeto',
661
+ example: {
662
+ tool: 'git-monitor',
663
+ action: 'health',
664
+ params: {
665
+ action: 'health',
666
+ projectPath: 'C:\\projetos\\my-project',
667
+ deep: true,
668
+ suggestions: true
669
+ }
670
+ }
560
671
  },
561
- 'dual-provider': {
562
- 'GITEA_USERNAME': 'developer',
563
- 'GITEA_TOKEN': 'your_gitea_token_here',
564
- 'GITEA_URL': 'https://gitea.company.com',
565
- 'GITHUB_USERNAME': 'developer',
566
- 'GITHUB_TOKEN': 'your_github_token_here'
672
+ 'feature-branch-workflow': {
673
+ description: 'Workflow completo com feature branch',
674
+ steps: [
675
+ { tool: 'git-branches', action: 'create', params: { action: 'create', projectPath: '/project', name: 'feature/new-ui' } },
676
+ { tool: 'git-files', action: 'write', params: { action: 'write', projectPath: '/project', filePath: 'src/ui/new-component.tsx', content: '...' } },
677
+ { tool: 'git-workflow', action: 'commit', params: { action: 'commit', projectPath: '/project', message: 'feat: New UI component' } },
678
+ { tool: 'git-branches', action: 'merge', params: { action: 'merge', projectPath: '/project', branch: 'feature/new-ui' } },
679
+ { tool: 'git-branches', action: 'delete', params: { action: 'delete', projectPath: '/project', name: 'feature/new-ui' } }
680
+ ]
567
681
  }
568
- },
569
- validation: {
570
- 'token-format': 'Tokens devem ser válidos e ter permissões adequadas',
571
- 'url-format': 'URLs devem incluir protocolo (https://)',
572
- 'permissions': 'Tokens precisam de acesso read/write aos repositórios'
573
- }
574
- }, null, 2);
575
- break;
576
- case 'mcp-git://architecture':
577
- content = JSON.stringify({
578
- title: 'Arquitetura e Design - MCP Git Tools',
579
- version: '4.0.3',
580
- principles: {
581
- 'ai-first': 'Interface otimizada para agentes de IA',
582
- 'zero-config': 'Auto-detecção máxima de contexto',
583
- 'universal-response': 'Formato de resposta consistente',
584
- 'intelligent-recovery': 'Sugestões automáticas de correção',
585
- 'multi-provider': 'Suporte simultâneo a múltiplos VCS'
586
- },
587
- architecture: {
588
- 'core-unified': '6 ferramentas essenciais (workflow, files, release, monitor, backup, branches)',
589
- 'advanced': '6 ferramentas avançadas (remote, stash, reset, tags, issues, pulls)',
590
- 'specialized': '6 ferramentas específicas (analytics, archive, packages, sync, repos, config)',
591
- 'auto-detection': 'Sistema de descoberta automática de repo/owner/providers',
592
- 'error-handler': 'Sistema unificado de tratamento de erros'
593
- },
594
- designDecisions: {
595
- 'single-responsibility': 'Cada tool tem responsabilidade clara',
596
- 'consistent-interface': 'Todas as tools seguem mesmo padrão de chamada',
597
- 'progressive-complexity': 'Da mais simples (core) para mais complexas (specialized)',
598
- 'fallback-support': 'Funciona mesmo com configuração mínima',
599
- 'extensible': 'Fácil adicionar novas ferramentas e providers'
600
682
  }
601
683
  }, null, 2);
602
684
  break;
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@andrebuzeli/git-mcp",
3
- "version": "4.0.4",
4
- "description": "MCP server for Gitea and GitHub integration - MCP COMPLETE: 18 ferramentas + 5 resources (tools-reference, examples, prompts, configuration, architecture) - UNIFICADO para AI agents com auto-detecção universal, error handling inteligente e workflow completo - ZERO CONFIGURAÇÃO, FULL MCP COMPLIANT",
3
+ "version": "4.0.6",
4
+ "description": "MCP server for Gitea and GitHub integration - MCP COMPLETE: 18 ferramentas + 2 resources (instructions, examples) - UNIFICADO para AI agents com auto-detecção universal, error handling inteligente e workflow completo - ZERO CONFIGURAÇÃO, FULL MCP COMPLIANT",
5
5
  "main": "dist/index.js",
6
6
  "bin": {
7
7
  "git-mcp": "dist/index.js"
@@ -13,7 +13,7 @@
13
13
  "test": "node tests/basic.test.js",
14
14
  "lint": "echo \"No linting configured\" && exit 0",
15
15
  "prepublishOnly": "npm run build",
16
- "postpublish": "echo 'Git MCP v4.0.4 published successfully - MCP COMPLETE: 18 ferramentas + 5 MCP resources (tools-reference, examples, prompts, configuration, architecture) - SERVIDOR MCP FULLY COMPLIANT com tools, prompts e resources - UNIFICADO para AI agents com auto-detecção universal e error handling inteligente - ZERO CONFIGURAÇÃO!'"
16
+ "postpublish": "echo 'Git MCP v4.0.6 published successfully - MCP COMPLETE: 18 ferramentas + 2 MCP resources - FIX: Correção de validação Zod em error handling - ZERO CONFIGURAÇÃO!'"
17
17
 
18
18
  },
19
19
  "keywords": [