@justmpm/ai-tool 0.8.1 → 0.8.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/dist/cli.js CHANGED
@@ -108,7 +108,7 @@ async function main() {
108
108
  }
109
109
  }
110
110
  if (flags.mcp) {
111
- const { startMcpServer } = await import("./server-JNIIN5S4.js");
111
+ const { startMcpServer } = await import("./server-JLK3OH5F.js");
112
112
  await startMcpServer();
113
113
  return;
114
114
  }
@@ -26,7 +26,11 @@ server.registerTool(
26
26
  {
27
27
  title: "Project Map",
28
28
  description: `Mapeia projeto e retorna resumo: contagens por categoria, areas detectadas, alertas.
29
- Use no inicio da sessao. Para detalhes: area_detail, file_context, suggest_reads.`,
29
+ Use no inicio da sessao. Para detalhes: area_detail, file_context, suggest_reads.
30
+
31
+ Parametros:
32
+ - format: text (legivel) ou json (estruturado)
33
+ - cwd: Diretorio do projeto a analisar`,
30
34
  inputSchema: {
31
35
  format: z.enum(["text", "json"]).default("text").describe("Formato de saida: text (legivel) ou json (estruturado)"),
32
36
  cwd: z.string().optional().describe("Diretorio do projeto a analisar")
@@ -65,7 +69,11 @@ server.registerTool(
65
69
  {
66
70
  title: "Dead Code Detector",
67
71
  description: `Detecta codigo morto: arquivos orfaos, exports nao usados, deps npm mortas.
68
- Use antes de refatoracoes ou periodicamente para limpeza.`,
72
+ Use antes de refatoracoes ou periodicamente para limpeza.
73
+
74
+ Parametros:
75
+ - format: text (legivel) ou json (estruturado)
76
+ - cwd: Diretorio do projeto a analisar`,
69
77
  inputSchema: {
70
78
  format: z.enum(["text", "json"]).default("text").describe("Formato de saida: text (legivel) ou json (estruturado)"),
71
79
  cwd: z.string().optional().describe("Diretorio do projeto a analisar")
@@ -103,7 +111,12 @@ server.registerTool(
103
111
  {
104
112
  title: "Impact Analysis",
105
113
  description: `Analisa impacto de modificar um arquivo: upstream (quem importa), downstream (o que importa), riscos.
106
- Use ANTES de editar arquivos para planejar mudancas seguras.`,
114
+ Use ANTES de editar arquivos para planejar mudancas seguras.
115
+
116
+ Parametros:
117
+ - target: Arquivo a analisar (caminho completo, parcial ou nome)
118
+ - format: text (legivel) ou json (estruturado)
119
+ - cwd: Diretorio do projeto a analisar`,
107
120
  inputSchema: {
108
121
  target: z.string().min(1).describe(
109
122
  "Arquivo a analisar: caminho completo, parcial ou nome do arquivo"
@@ -144,12 +157,16 @@ server.registerTool(
144
157
  {
145
158
  title: "Suggest Files to Read",
146
159
  description: `Sugere arquivos para ler ANTES de modificar um arquivo.
147
- Prioriza: tipos usados, dependencias diretas, upstream, testes.`,
160
+ Prioriza: tipos usados, dependencias diretas, upstream, testes.
161
+
162
+ Parametros:
163
+ - target: Arquivo que sera modificado (caminho completo, parcial ou nome)
164
+ - limit: Numero maximo de sugestoes (default: 10, max: 50)`,
148
165
  inputSchema: {
149
166
  target: z.string().min(1).describe(
150
167
  "Arquivo que sera modificado: caminho completo, parcial ou nome"
151
168
  ),
152
- limit: z.number().int().min(1).max(50).default(10).describe("Numero maximo de sugestoes (default: 10)"),
169
+ limit: z.number().int().min(1).max(50).default(10).describe("Numero maximo de sugestoes (default: 10, max: 50)"),
153
170
  cwd: z.string().optional().describe("Diretorio do projeto a analisar")
154
171
  },
155
172
  annotations: {
@@ -186,7 +203,11 @@ server.registerTool(
186
203
  {
187
204
  title: "Extract File Context",
188
205
  description: `Extrai assinaturas de funcoes e tipos de um arquivo (sem implementacao).
189
- Use para entender a API publica antes de usar ou modificar.`,
206
+ Use para entender a API publica antes de usar ou modificar.
207
+
208
+ Parametros:
209
+ - target: Arquivo para extrair contexto (caminho completo, parcial ou nome)
210
+ - cwd: Diretorio do projeto a analisar`,
190
211
  inputSchema: {
191
212
  target: z.string().min(1).describe(
192
213
  "Arquivo para extrair contexto: caminho completo, parcial ou nome"
@@ -226,7 +247,11 @@ server.registerTool(
226
247
  {
227
248
  title: "List Project Areas",
228
249
  description: `Lista areas/dominios funcionais do projeto (auth, pets, stripe...).
229
- Diferente de categorias (hook, component). Use area_detail para ver arquivos.`,
250
+ Diferente de categorias (hook, component). Use area_detail para ver arquivos.
251
+
252
+ Parametros:
253
+ - format: text (legivel) ou json (estruturado)
254
+ - cwd: Diretorio do projeto a analisar`,
230
255
  inputSchema: {
231
256
  format: z.enum(["text", "json"]).default("text").describe("Formato de saida: text (legivel) ou json (estruturado)"),
232
257
  cwd: z.string().optional().describe("Diretorio do projeto a analisar")
@@ -264,7 +289,13 @@ server.registerTool(
264
289
  {
265
290
  title: "Area Detail",
266
291
  description: `Mostra arquivos de uma area especifica, agrupados por categoria.
267
- Parametros: target (nome da area), type (filtrar categoria), full (todos arquivos).`,
292
+ Use ID (ex: auth) ou Name (ex: Autentica\xE7\xE3o) para identificar a area.
293
+
294
+ Parametros:
295
+ - target: Nome da area (ex: auth, dashboard, billing)
296
+ - type: Filtrar por categoria (page, component, hook, service, etc)
297
+ - full: Mostrar todos os arquivos (default: resumido)
298
+ - cwd: Diretorio do projeto a analisar`,
268
299
  inputSchema: {
269
300
  target: z.string().min(1).describe("Nome da area: auth, dashboard, billing, etc"),
270
301
  type: z.enum([
@@ -319,7 +350,11 @@ server.registerTool(
319
350
  {
320
351
  title: "Initialize Areas Config",
321
352
  description: `Gera .analyze/areas.config.json para customizar deteccao de areas.
322
- Use quando houver arquivos sem area ou precisar ajustar deteccao.`,
353
+ Use quando houver arquivos sem area ou precisar ajustar deteccao.
354
+
355
+ Parametros:
356
+ - force: Sobrescrever config existente
357
+ - cwd: Diretorio do projeto`,
323
358
  inputSchema: {
324
359
  force: z.boolean().default(false).describe("Sobrescrever config existente"),
325
360
  cwd: z.string().optional().describe("Diretorio do projeto")
@@ -357,11 +392,18 @@ server.registerTool(
357
392
  {
358
393
  title: "Find Symbol",
359
394
  description: `Busca simbolos no codigo: funcoes, tipos, componentes, hooks, constantes.
360
- Retorna definicao + referencias/usos. Diferente de grep, entende o AST do TypeScript.`,
395
+ Retorna definicao + referencias/usos. Diferente de grep, entende o AST do TypeScript.
396
+
397
+ Parametros:
398
+ - query: Termo a buscar (ex: useAuth, User, login)
399
+ - type: Filtrar por tipo (function, type, const, component, hook, trigger, all)
400
+ - area: Buscar apenas em uma area especifica (ex: auth, dashboard)
401
+ - def: Mostrar apenas definicoes (onde e declarado)
402
+ - refs: Mostrar apenas referencias/usos`,
361
403
  inputSchema: {
362
404
  query: z.string().min(1).describe("Termo a buscar (nome de funcao, tipo, componente, etc)"),
363
- type: z.enum(["function", "type", "const", "component", "hook", "all"]).default("all").describe("Filtrar por tipo de simbolo"),
364
- area: z.string().optional().describe("Filtrar busca por area especifica"),
405
+ type: z.enum(["function", "type", "const", "component", "hook", "trigger", "all"]).default("all").describe("Filtrar por tipo de simbolo (use trigger para Cloud Functions)"),
406
+ area: z.string().optional().describe("Filtrar busca por area especifica (ex: auth, dashboard)"),
365
407
  def: z.boolean().default(false).describe("Mostrar apenas definicoes (onde e declarado)"),
366
408
  refs: z.boolean().default(false).describe("Mostrar apenas referencias (onde e usado)"),
367
409
  cwd: z.string().optional().describe("Diretorio do projeto a analisar")
@@ -403,7 +445,11 @@ server.registerTool(
403
445
  {
404
446
  title: "Area Context",
405
447
  description: `Contexto consolidado de toda uma area: tipos, hooks, funcoes, componentes, services, stores.
406
- Uma chamada = entender toda a feature. Muito mais eficiente que chamar context em cada arquivo.`,
448
+ Uma chamada = entender toda a feature. Muito mais eficiente que chamar context em cada arquivo.
449
+
450
+ Parametros:
451
+ - area: Nome da area (ex: auth, dashboard, payments)
452
+ - cwd: Diretorio do projeto a analisar`,
407
453
  inputSchema: {
408
454
  area: z.string().min(1).describe("Nome da area: auth, dashboard, payments, etc"),
409
455
  cwd: z.string().optional().describe("Diretorio do projeto a analisar")
@@ -442,9 +488,13 @@ server.registerTool(
442
488
  title: "List Cloud Functions",
443
489
  description: `Lista todas as Cloud Functions Firebase do projeto.
444
490
  Agrupa por tipo de trigger (onCall, onDocumentCreated, onSchedule, etc).
445
- Use para entender a arquitetura serverless antes de modificar triggers.`,
491
+ Use para entender a arquitetura serverless antes de modificar triggers.
492
+
493
+ Parametros:
494
+ - trigger: Filtrar por tipo de trigger (ex: onCall, onDocumentCreated, onSchedule)
495
+ - format: text (legivel) ou json (estruturado)`,
446
496
  inputSchema: {
447
- trigger: z.string().optional().describe("Filtrar por tipo de trigger (ex: onCall, onDocumentCreated)"),
497
+ trigger: z.string().optional().describe("Filtrar por tipo de trigger (ex: onCall, onDocumentCreated, onSchedule)"),
448
498
  format: z.enum(["text", "json"]).default("text").describe("Formato de saida: text (legivel) ou json (estruturado)"),
449
499
  cwd: z.string().optional().describe("Diretorio do projeto a analisar")
450
500
  },
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@justmpm/ai-tool",
3
- "version": "0.8.1",
3
+ "version": "0.8.2",
4
4
  "description": "Ferramenta de análise de dependências e impacto para projetos TypeScript/JavaScript. Usa Skott + Knip internamente.",
5
5
  "keywords": [
6
6
  "dependency-analysis",