code-auditor-mcp 1.21.0 → 2.0.1

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.
Files changed (150) hide show
  1. package/README.md +14 -8
  2. package/dist/adapters/GoAdapter.d.ts +53 -0
  3. package/dist/adapters/GoAdapter.d.ts.map +1 -0
  4. package/dist/adapters/GoAdapter.js +602 -0
  5. package/dist/adapters/GoAdapter.js.map +1 -0
  6. package/dist/adapters/GoConfig.d.ts +35 -0
  7. package/dist/adapters/GoConfig.d.ts.map +1 -0
  8. package/dist/adapters/GoConfig.js +155 -0
  9. package/dist/adapters/GoConfig.js.map +1 -0
  10. package/dist/adapters/LanguageAdapter.d.ts +135 -0
  11. package/dist/adapters/LanguageAdapter.d.ts.map +1 -0
  12. package/dist/adapters/LanguageAdapter.js +47 -0
  13. package/dist/adapters/LanguageAdapter.js.map +1 -0
  14. package/dist/adapters/TypeScriptAdapter.d.ts +43 -0
  15. package/dist/adapters/TypeScriptAdapter.d.ts.map +1 -0
  16. package/dist/adapters/TypeScriptAdapter.js +386 -0
  17. package/dist/adapters/TypeScriptAdapter.js.map +1 -0
  18. package/dist/adapters/UniversalAnalyzer.d.ts +42 -0
  19. package/dist/adapters/UniversalAnalyzer.d.ts.map +1 -0
  20. package/dist/adapters/UniversalAnalyzer.js +103 -0
  21. package/dist/adapters/UniversalAnalyzer.js.map +1 -0
  22. package/dist/adapters/UniversalSOLIDAnalyzer.d.ts +48 -0
  23. package/dist/adapters/UniversalSOLIDAnalyzer.d.ts.map +1 -0
  24. package/dist/adapters/UniversalSOLIDAnalyzer.js +178 -0
  25. package/dist/adapters/UniversalSOLIDAnalyzer.js.map +1 -0
  26. package/dist/adapters/solidAnalyzerCompat.d.ts +21 -0
  27. package/dist/adapters/solidAnalyzerCompat.d.ts.map +1 -0
  28. package/dist/adapters/solidAnalyzerCompat.js +78 -0
  29. package/dist/adapters/solidAnalyzerCompat.js.map +1 -0
  30. package/dist/analyzers/cross-language/APIContractAnalyzer.d.ts +103 -0
  31. package/dist/analyzers/cross-language/APIContractAnalyzer.d.ts.map +1 -0
  32. package/dist/analyzers/cross-language/APIContractAnalyzer.js +425 -0
  33. package/dist/analyzers/cross-language/APIContractAnalyzer.js.map +1 -0
  34. package/dist/analyzers/cross-language/CrossLanguageSOLIDAnalyzer.d.ts +117 -0
  35. package/dist/analyzers/cross-language/CrossLanguageSOLIDAnalyzer.d.ts.map +1 -0
  36. package/dist/analyzers/cross-language/CrossLanguageSOLIDAnalyzer.js +618 -0
  37. package/dist/analyzers/cross-language/CrossLanguageSOLIDAnalyzer.js.map +1 -0
  38. package/dist/analyzers/cross-language/DependencyGraphBuilder.d.ts +129 -0
  39. package/dist/analyzers/cross-language/DependencyGraphBuilder.d.ts.map +1 -0
  40. package/dist/analyzers/cross-language/DependencyGraphBuilder.js +473 -0
  41. package/dist/analyzers/cross-language/DependencyGraphBuilder.js.map +1 -0
  42. package/dist/analyzers/cross-language/SchemaValidator.d.ts +126 -0
  43. package/dist/analyzers/cross-language/SchemaValidator.d.ts.map +1 -0
  44. package/dist/analyzers/cross-language/SchemaValidator.js +522 -0
  45. package/dist/analyzers/cross-language/SchemaValidator.js.map +1 -0
  46. package/dist/analyzers/dataAccessAnalyzerCompat.d.ts +20 -0
  47. package/dist/analyzers/dataAccessAnalyzerCompat.d.ts.map +1 -0
  48. package/dist/analyzers/dataAccessAnalyzerCompat.js +59 -0
  49. package/dist/analyzers/dataAccessAnalyzerCompat.js.map +1 -0
  50. package/dist/analyzers/documentationAnalyzerCompat.d.ts +20 -0
  51. package/dist/analyzers/documentationAnalyzerCompat.d.ts.map +1 -0
  52. package/dist/analyzers/documentationAnalyzerCompat.js +52 -0
  53. package/dist/analyzers/documentationAnalyzerCompat.js.map +1 -0
  54. package/dist/analyzers/dryAnalyzerCompat.d.ts +20 -0
  55. package/dist/analyzers/dryAnalyzerCompat.d.ts.map +1 -0
  56. package/dist/analyzers/dryAnalyzerCompat.js +44 -0
  57. package/dist/analyzers/dryAnalyzerCompat.js.map +1 -0
  58. package/dist/analyzers/schemaAnalyzerCompat.d.ts +20 -0
  59. package/dist/analyzers/schemaAnalyzerCompat.d.ts.map +1 -0
  60. package/dist/analyzers/schemaAnalyzerCompat.js +69 -0
  61. package/dist/analyzers/schemaAnalyzerCompat.js.map +1 -0
  62. package/dist/analyzers/solidAnalyzerCompat.d.ts +20 -0
  63. package/dist/analyzers/solidAnalyzerCompat.d.ts.map +1 -0
  64. package/dist/analyzers/solidAnalyzerCompat.js +78 -0
  65. package/dist/analyzers/solidAnalyzerCompat.js.map +1 -0
  66. package/dist/analyzers/universal/UniversalDRYAnalyzer.d.ts +71 -0
  67. package/dist/analyzers/universal/UniversalDRYAnalyzer.d.ts.map +1 -0
  68. package/dist/analyzers/universal/UniversalDRYAnalyzer.js +276 -0
  69. package/dist/analyzers/universal/UniversalDRYAnalyzer.js.map +1 -0
  70. package/dist/analyzers/universal/UniversalDataAccessAnalyzer.d.ts +82 -0
  71. package/dist/analyzers/universal/UniversalDataAccessAnalyzer.d.ts.map +1 -0
  72. package/dist/analyzers/universal/UniversalDataAccessAnalyzer.js +489 -0
  73. package/dist/analyzers/universal/UniversalDataAccessAnalyzer.js.map +1 -0
  74. package/dist/analyzers/universal/UniversalDocumentationAnalyzer.d.ts +48 -0
  75. package/dist/analyzers/universal/UniversalDocumentationAnalyzer.d.ts.map +1 -0
  76. package/dist/analyzers/universal/UniversalDocumentationAnalyzer.js +175 -0
  77. package/dist/analyzers/universal/UniversalDocumentationAnalyzer.js.map +1 -0
  78. package/dist/analyzers/universal/UniversalSOLIDAnalyzer.d.ts +64 -0
  79. package/dist/analyzers/universal/UniversalSOLIDAnalyzer.d.ts.map +1 -0
  80. package/dist/analyzers/universal/UniversalSOLIDAnalyzer.js +286 -0
  81. package/dist/analyzers/universal/UniversalSOLIDAnalyzer.js.map +1 -0
  82. package/dist/analyzers/universal/UniversalSchemaAnalyzer.d.ts +119 -0
  83. package/dist/analyzers/universal/UniversalSchemaAnalyzer.d.ts.map +1 -0
  84. package/dist/analyzers/universal/UniversalSchemaAnalyzer.js +812 -0
  85. package/dist/analyzers/universal/UniversalSchemaAnalyzer.js.map +1 -0
  86. package/dist/auditRunner.d.ts.map +1 -1
  87. package/dist/auditRunner.js +20 -8
  88. package/dist/auditRunner.js.map +1 -1
  89. package/dist/codeIndexDB-enhanced.d.ts +80 -0
  90. package/dist/codeIndexDB-enhanced.d.ts.map +1 -0
  91. package/dist/codeIndexDB-enhanced.js +488 -0
  92. package/dist/codeIndexDB-enhanced.js.map +1 -0
  93. package/dist/codeIndexDb.js +2 -2
  94. package/dist/codeIndexDb.js.map +1 -1
  95. package/dist/config/defaults.js +1 -1
  96. package/dist/config/defaults.js.map +1 -1
  97. package/dist/languages/LanguageOrchestrator.d.ts +181 -0
  98. package/dist/languages/LanguageOrchestrator.d.ts.map +1 -0
  99. package/dist/languages/LanguageOrchestrator.js +365 -0
  100. package/dist/languages/LanguageOrchestrator.js.map +1 -0
  101. package/dist/languages/LanguageRegistry.d.ts +43 -0
  102. package/dist/languages/LanguageRegistry.d.ts.map +1 -0
  103. package/dist/languages/LanguageRegistry.js +86 -0
  104. package/dist/languages/LanguageRegistry.js.map +1 -0
  105. package/dist/languages/RuntimeManager.d.ts +181 -0
  106. package/dist/languages/RuntimeManager.d.ts.map +1 -0
  107. package/dist/languages/RuntimeManager.js +841 -0
  108. package/dist/languages/RuntimeManager.js.map +1 -0
  109. package/dist/languages/UniversalAnalyzer.d.ts +37 -0
  110. package/dist/languages/UniversalAnalyzer.d.ts.map +1 -0
  111. package/dist/languages/UniversalAnalyzer.js +101 -0
  112. package/dist/languages/UniversalAnalyzer.js.map +1 -0
  113. package/dist/languages/go/GoAdapter.d.ts +57 -0
  114. package/dist/languages/go/GoAdapter.d.ts.map +1 -0
  115. package/dist/languages/go/GoAdapter.js +360 -0
  116. package/dist/languages/go/GoAdapter.js.map +1 -0
  117. package/dist/languages/index.d.ts +13 -0
  118. package/dist/languages/index.d.ts.map +1 -0
  119. package/dist/languages/index.js +23 -0
  120. package/dist/languages/index.js.map +1 -0
  121. package/dist/languages/types.d.ts +182 -0
  122. package/dist/languages/types.d.ts.map +1 -0
  123. package/dist/languages/types.js +5 -0
  124. package/dist/languages/types.js.map +1 -0
  125. package/dist/languages/typescript/TypeScriptAdapter.d.ts +108 -0
  126. package/dist/languages/typescript/TypeScriptAdapter.d.ts.map +1 -0
  127. package/dist/languages/typescript/TypeScriptAdapter.js +567 -0
  128. package/dist/languages/typescript/TypeScriptAdapter.js.map +1 -0
  129. package/dist/languages/typescript/test-extraction.d.ts +2 -0
  130. package/dist/languages/typescript/test-extraction.d.ts.map +1 -0
  131. package/dist/languages/typescript/test-extraction.js +36 -0
  132. package/dist/languages/typescript/test-extraction.js.map +1 -0
  133. package/dist/mcp-tools-shared.d.ts +3 -0
  134. package/dist/mcp-tools-shared.d.ts.map +1 -1
  135. package/dist/mcp-tools-shared.js +123 -2
  136. package/dist/mcp-tools-shared.js.map +1 -1
  137. package/dist/mcp.js +3 -0
  138. package/dist/mcp.js.map +1 -1
  139. package/dist/types/crossLanguage.d.ts +267 -0
  140. package/dist/types/crossLanguage.d.ts.map +1 -0
  141. package/dist/types/crossLanguage.js +6 -0
  142. package/dist/types/crossLanguage.js.map +1 -0
  143. package/dist/types.d.ts +1 -0
  144. package/dist/types.d.ts.map +1 -1
  145. package/dist/types.js.map +1 -1
  146. package/dist/utils/fileDiscovery.d.ts +6 -0
  147. package/dist/utils/fileDiscovery.d.ts.map +1 -1
  148. package/dist/utils/fileDiscovery.js +12 -1
  149. package/dist/utils/fileDiscovery.js.map +1 -1
  150. package/package.json +19 -20
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
- # Code Auditor: AI-Powered Code Intelligence
1
+ # Code Auditor: AI-Powered Multi-Language Code Intelligence
2
2
 
3
- **Your AI understands your code.** Code Auditor indexes your entire codebase and provides real-time analysis that AI assistants like Claude can actually use to help you write better code.
3
+ **Your AI understands your code across languages.** Code Auditor indexes your entire codebase (TypeScript, JavaScript, and Go) and provides real-time analysis that AI assistants like Claude can actually use to help you write better code.
4
4
 
5
5
  ## The Problem It Solves
6
6
 
@@ -8,10 +8,10 @@ AI coding assistants are powerful, but they're flying blind. They can't search y
8
8
 
9
9
  ## How It Works
10
10
 
11
- 1. **Index** - Automatically catalogs functions, React components, and dependencies
12
- 2. **Analyze** - Detects SOLID violations, code duplication, and security issues
11
+ 1. **Index** - Automatically catalogs functions, React components, Go structs, and dependencies
12
+ 2. **Analyze** - Detects SOLID violations, code duplication, and security issues across multiple languages
13
13
  3. **Connect** - AI assistants access your code index via MCP (Model Context Protocol)
14
- 4. **Iterate** - Get intelligent suggestions based on your actual codebase
14
+ 4. **Iterate** - Get intelligent suggestions based on your actual codebase patterns
15
15
 
16
16
  ## Quick Start (2 minutes)
17
17
 
@@ -22,16 +22,18 @@ claude mcp add code-auditor -- npx code-auditor-mcp
22
22
  # That's it! Now ask Claude:
23
23
  # "What authentication functions exist in my codebase?"
24
24
  # "Find all API endpoints and check for rate limiting"
25
- # "Show me components similar to UserTable"
25
+ # "Show me Go structs that handle user data"
26
+ # "Compare TypeScript and Go implementations of the same feature"
26
27
  ```
27
28
 
28
29
  ## Core Features That Matter
29
30
 
30
- ### 🔍 Natural Language Code Search
31
+ ### 🔍 Multi-Language Code Search
31
32
  ```
32
33
  "Find all functions that validate user input"
33
34
  "Show me where we're calling the payment API"
34
- "What components use the useState hook?"
35
+ "What Go structs implement the User interface?"
36
+ "Compare error handling patterns between TypeScript and Go"
35
37
  ```
36
38
 
37
39
  ### 🎯 Smart Code Analysis
@@ -144,9 +146,13 @@ mcp.set_analyzer_config({
144
146
  | What You Want | Search Query |
145
147
  |--------------|--------------|
146
148
  | Complex functions | `complexity:>10` |
149
+ | Go functions only | `lang:go` |
150
+ | TypeScript components | `lang:typescript component:functional` |
147
151
  | Undocumented exports | `exported:true jsdoc:false` |
148
152
  | React hooks usage | `component:functional hook:useState` |
153
+ | Go struct methods | `lang:go entity:struct` |
149
154
  | Find dependencies | `calls:validateUser` |
155
+ | Cross-language patterns | `name:validateEmail` |
150
156
  | Unused imports | `unused-imports file:src` |
151
157
 
152
158
  ## Performance
@@ -0,0 +1,53 @@
1
+ /**
2
+ * Go Language Adapter
3
+ *
4
+ * Provides Go language support through the LanguageAdapter interface.
5
+ * Uses the Go-based analyzer as a child process for proper AST analysis.
6
+ */
7
+ import { LanguageAdapter, AST, ASTNode, NodePattern, FunctionInfo, ClassInfo, ImportInfo, ExportInfo, SourceLocation } from './LanguageAdapter.js';
8
+ export declare class GoAdapter implements LanguageAdapter {
9
+ readonly name = "go";
10
+ readonly extensions: string[];
11
+ private goAnalyzerProcess;
12
+ private requestId;
13
+ private pendingRequests;
14
+ private goExecutablePath;
15
+ private logFile;
16
+ private isInitialized;
17
+ private initializationPromise;
18
+ private jsonBuffer;
19
+ constructor(goExecutablePath?: string);
20
+ private writeLog;
21
+ private registerProcessCleanup;
22
+ parse(file: string, content: string): Promise<AST>;
23
+ private ensureInitialized;
24
+ private initializeProcess;
25
+ private analyzeFileWithPersistentProcess;
26
+ private analyzeFile;
27
+ private ensureGoAnalyzer;
28
+ private sendPing;
29
+ private convertToAST;
30
+ supportsFile(filePath: string): boolean;
31
+ findNodes(ast: AST, pattern: NodePattern): ASTNode[];
32
+ private createFunctionNode;
33
+ private createStructNode;
34
+ extractFunctions(ast: AST): FunctionInfo[];
35
+ extractClasses(ast: AST): ClassInfo[];
36
+ extractImports(ast: AST): ImportInfo[];
37
+ extractExports(ast: AST): ExportInfo[];
38
+ getParent(node: ASTNode): ASTNode | null;
39
+ getChildren(node: ASTNode): ASTNode[];
40
+ getNodeType(node: ASTNode): string;
41
+ getNodeText(node: ASTNode): string;
42
+ getNodeLocation(node: ASTNode): SourceLocation;
43
+ getNodeName(node: ASTNode): string | null;
44
+ isClass(node: ASTNode): boolean;
45
+ isFunction(node: ASTNode): boolean;
46
+ isMethod(node: ASTNode): boolean;
47
+ isInterface(node: ASTNode): boolean;
48
+ isImport(node: ASTNode): boolean;
49
+ isVariable(node: ASTNode): boolean;
50
+ private processJsonBuffer;
51
+ cleanup(): Promise<void>;
52
+ }
53
+ //# sourceMappingURL=GoAdapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GoAdapter.d.ts","sourceRoot":"","sources":["../../src/adapters/GoAdapter.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAOH,OAAO,EACL,eAAe,EACf,GAAG,EACH,OAAO,EACP,WAAW,EACX,YAAY,EACZ,SAAS,EACT,UAAU,EACV,UAAU,EACV,cAAc,EAIf,MAAM,sBAAsB,CAAC;AAqE9B,qBAAa,SAAU,YAAW,eAAe;IAC/C,QAAQ,CAAC,IAAI,QAAQ;IACrB,QAAQ,CAAC,UAAU,WAAW;IAE9B,OAAO,CAAC,iBAAiB,CAA6B;IACtD,OAAO,CAAC,SAAS,CAAK;IACtB,OAAO,CAAC,eAAe,CAGlB;IAEL,OAAO,CAAC,gBAAgB,CAAS;IACjC,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,qBAAqB,CAA8B;IAC3D,OAAO,CAAC,UAAU,CAAM;gBAEZ,gBAAgB,GAAE,MAAa;IAmB3C,OAAO,CAAC,QAAQ;IAUhB,OAAO,CAAC,sBAAsB;IAgBxB,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;YAgD1C,iBAAiB;YAajB,iBAAiB;YAWjB,gCAAgC;YAsDhC,WAAW;YAoEX,gBAAgB;YAiGhB,QAAQ;IAsBtB,OAAO,CAAC,YAAY;IAmEpB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;IAKvC,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,WAAW,GAAG,OAAO,EAAE;IAmBpD,OAAO,CAAC,kBAAkB;IAY1B,OAAO,CAAC,gBAAgB;IAYxB,gBAAgB,CAAC,GAAG,EAAE,GAAG,GAAG,YAAY,EAAE;IAuC1C,cAAc,CAAC,GAAG,EAAE,GAAG,GAAG,SAAS,EAAE;IAoBrC,cAAc,CAAC,GAAG,EAAE,GAAG,GAAG,UAAU,EAAE;IAKtC,cAAc,CAAC,GAAG,EAAE,GAAG,GAAG,UAAU,EAAE;IAMtC,SAAS,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,GAAG,IAAI;IAKxC,WAAW,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,EAAE;IAMrC,WAAW,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM;IAIlC,WAAW,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM;IASlC,eAAe,CAAC,IAAI,EAAE,OAAO,GAAG,cAAc;IAI9C,WAAW,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI;IAMzC,OAAO,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO;IAI/B,UAAU,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO;IAIlC,QAAQ,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO;IAIhC,WAAW,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO;IAInC,QAAQ,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO;IAIhC,UAAU,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO;IAIlC,OAAO,CAAC,iBAAiB;IAiDnB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAuB/B"}