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.
- package/README.md +14 -8
- package/dist/adapters/GoAdapter.d.ts +53 -0
- package/dist/adapters/GoAdapter.d.ts.map +1 -0
- package/dist/adapters/GoAdapter.js +602 -0
- package/dist/adapters/GoAdapter.js.map +1 -0
- package/dist/adapters/GoConfig.d.ts +35 -0
- package/dist/adapters/GoConfig.d.ts.map +1 -0
- package/dist/adapters/GoConfig.js +155 -0
- package/dist/adapters/GoConfig.js.map +1 -0
- package/dist/adapters/LanguageAdapter.d.ts +135 -0
- package/dist/adapters/LanguageAdapter.d.ts.map +1 -0
- package/dist/adapters/LanguageAdapter.js +47 -0
- package/dist/adapters/LanguageAdapter.js.map +1 -0
- package/dist/adapters/TypeScriptAdapter.d.ts +43 -0
- package/dist/adapters/TypeScriptAdapter.d.ts.map +1 -0
- package/dist/adapters/TypeScriptAdapter.js +386 -0
- package/dist/adapters/TypeScriptAdapter.js.map +1 -0
- package/dist/adapters/UniversalAnalyzer.d.ts +42 -0
- package/dist/adapters/UniversalAnalyzer.d.ts.map +1 -0
- package/dist/adapters/UniversalAnalyzer.js +103 -0
- package/dist/adapters/UniversalAnalyzer.js.map +1 -0
- package/dist/adapters/UniversalSOLIDAnalyzer.d.ts +48 -0
- package/dist/adapters/UniversalSOLIDAnalyzer.d.ts.map +1 -0
- package/dist/adapters/UniversalSOLIDAnalyzer.js +178 -0
- package/dist/adapters/UniversalSOLIDAnalyzer.js.map +1 -0
- package/dist/adapters/solidAnalyzerCompat.d.ts +21 -0
- package/dist/adapters/solidAnalyzerCompat.d.ts.map +1 -0
- package/dist/adapters/solidAnalyzerCompat.js +78 -0
- package/dist/adapters/solidAnalyzerCompat.js.map +1 -0
- package/dist/analyzers/cross-language/APIContractAnalyzer.d.ts +103 -0
- package/dist/analyzers/cross-language/APIContractAnalyzer.d.ts.map +1 -0
- package/dist/analyzers/cross-language/APIContractAnalyzer.js +425 -0
- package/dist/analyzers/cross-language/APIContractAnalyzer.js.map +1 -0
- package/dist/analyzers/cross-language/CrossLanguageSOLIDAnalyzer.d.ts +117 -0
- package/dist/analyzers/cross-language/CrossLanguageSOLIDAnalyzer.d.ts.map +1 -0
- package/dist/analyzers/cross-language/CrossLanguageSOLIDAnalyzer.js +618 -0
- package/dist/analyzers/cross-language/CrossLanguageSOLIDAnalyzer.js.map +1 -0
- package/dist/analyzers/cross-language/DependencyGraphBuilder.d.ts +129 -0
- package/dist/analyzers/cross-language/DependencyGraphBuilder.d.ts.map +1 -0
- package/dist/analyzers/cross-language/DependencyGraphBuilder.js +473 -0
- package/dist/analyzers/cross-language/DependencyGraphBuilder.js.map +1 -0
- package/dist/analyzers/cross-language/SchemaValidator.d.ts +126 -0
- package/dist/analyzers/cross-language/SchemaValidator.d.ts.map +1 -0
- package/dist/analyzers/cross-language/SchemaValidator.js +522 -0
- package/dist/analyzers/cross-language/SchemaValidator.js.map +1 -0
- package/dist/analyzers/dataAccessAnalyzerCompat.d.ts +20 -0
- package/dist/analyzers/dataAccessAnalyzerCompat.d.ts.map +1 -0
- package/dist/analyzers/dataAccessAnalyzerCompat.js +59 -0
- package/dist/analyzers/dataAccessAnalyzerCompat.js.map +1 -0
- package/dist/analyzers/documentationAnalyzerCompat.d.ts +20 -0
- package/dist/analyzers/documentationAnalyzerCompat.d.ts.map +1 -0
- package/dist/analyzers/documentationAnalyzerCompat.js +52 -0
- package/dist/analyzers/documentationAnalyzerCompat.js.map +1 -0
- package/dist/analyzers/dryAnalyzerCompat.d.ts +20 -0
- package/dist/analyzers/dryAnalyzerCompat.d.ts.map +1 -0
- package/dist/analyzers/dryAnalyzerCompat.js +44 -0
- package/dist/analyzers/dryAnalyzerCompat.js.map +1 -0
- package/dist/analyzers/schemaAnalyzerCompat.d.ts +20 -0
- package/dist/analyzers/schemaAnalyzerCompat.d.ts.map +1 -0
- package/dist/analyzers/schemaAnalyzerCompat.js +69 -0
- package/dist/analyzers/schemaAnalyzerCompat.js.map +1 -0
- package/dist/analyzers/solidAnalyzerCompat.d.ts +20 -0
- package/dist/analyzers/solidAnalyzerCompat.d.ts.map +1 -0
- package/dist/analyzers/solidAnalyzerCompat.js +78 -0
- package/dist/analyzers/solidAnalyzerCompat.js.map +1 -0
- package/dist/analyzers/universal/UniversalDRYAnalyzer.d.ts +71 -0
- package/dist/analyzers/universal/UniversalDRYAnalyzer.d.ts.map +1 -0
- package/dist/analyzers/universal/UniversalDRYAnalyzer.js +276 -0
- package/dist/analyzers/universal/UniversalDRYAnalyzer.js.map +1 -0
- package/dist/analyzers/universal/UniversalDataAccessAnalyzer.d.ts +82 -0
- package/dist/analyzers/universal/UniversalDataAccessAnalyzer.d.ts.map +1 -0
- package/dist/analyzers/universal/UniversalDataAccessAnalyzer.js +489 -0
- package/dist/analyzers/universal/UniversalDataAccessAnalyzer.js.map +1 -0
- package/dist/analyzers/universal/UniversalDocumentationAnalyzer.d.ts +48 -0
- package/dist/analyzers/universal/UniversalDocumentationAnalyzer.d.ts.map +1 -0
- package/dist/analyzers/universal/UniversalDocumentationAnalyzer.js +175 -0
- package/dist/analyzers/universal/UniversalDocumentationAnalyzer.js.map +1 -0
- package/dist/analyzers/universal/UniversalSOLIDAnalyzer.d.ts +64 -0
- package/dist/analyzers/universal/UniversalSOLIDAnalyzer.d.ts.map +1 -0
- package/dist/analyzers/universal/UniversalSOLIDAnalyzer.js +286 -0
- package/dist/analyzers/universal/UniversalSOLIDAnalyzer.js.map +1 -0
- package/dist/analyzers/universal/UniversalSchemaAnalyzer.d.ts +119 -0
- package/dist/analyzers/universal/UniversalSchemaAnalyzer.d.ts.map +1 -0
- package/dist/analyzers/universal/UniversalSchemaAnalyzer.js +812 -0
- package/dist/analyzers/universal/UniversalSchemaAnalyzer.js.map +1 -0
- package/dist/auditRunner.d.ts.map +1 -1
- package/dist/auditRunner.js +20 -8
- package/dist/auditRunner.js.map +1 -1
- package/dist/codeIndexDB-enhanced.d.ts +80 -0
- package/dist/codeIndexDB-enhanced.d.ts.map +1 -0
- package/dist/codeIndexDB-enhanced.js +488 -0
- package/dist/codeIndexDB-enhanced.js.map +1 -0
- package/dist/codeIndexDb.js +2 -2
- package/dist/codeIndexDb.js.map +1 -1
- package/dist/config/defaults.js +1 -1
- package/dist/config/defaults.js.map +1 -1
- package/dist/languages/LanguageOrchestrator.d.ts +181 -0
- package/dist/languages/LanguageOrchestrator.d.ts.map +1 -0
- package/dist/languages/LanguageOrchestrator.js +365 -0
- package/dist/languages/LanguageOrchestrator.js.map +1 -0
- package/dist/languages/LanguageRegistry.d.ts +43 -0
- package/dist/languages/LanguageRegistry.d.ts.map +1 -0
- package/dist/languages/LanguageRegistry.js +86 -0
- package/dist/languages/LanguageRegistry.js.map +1 -0
- package/dist/languages/RuntimeManager.d.ts +181 -0
- package/dist/languages/RuntimeManager.d.ts.map +1 -0
- package/dist/languages/RuntimeManager.js +841 -0
- package/dist/languages/RuntimeManager.js.map +1 -0
- package/dist/languages/UniversalAnalyzer.d.ts +37 -0
- package/dist/languages/UniversalAnalyzer.d.ts.map +1 -0
- package/dist/languages/UniversalAnalyzer.js +101 -0
- package/dist/languages/UniversalAnalyzer.js.map +1 -0
- package/dist/languages/go/GoAdapter.d.ts +57 -0
- package/dist/languages/go/GoAdapter.d.ts.map +1 -0
- package/dist/languages/go/GoAdapter.js +360 -0
- package/dist/languages/go/GoAdapter.js.map +1 -0
- package/dist/languages/index.d.ts +13 -0
- package/dist/languages/index.d.ts.map +1 -0
- package/dist/languages/index.js +23 -0
- package/dist/languages/index.js.map +1 -0
- package/dist/languages/types.d.ts +182 -0
- package/dist/languages/types.d.ts.map +1 -0
- package/dist/languages/types.js +5 -0
- package/dist/languages/types.js.map +1 -0
- package/dist/languages/typescript/TypeScriptAdapter.d.ts +108 -0
- package/dist/languages/typescript/TypeScriptAdapter.d.ts.map +1 -0
- package/dist/languages/typescript/TypeScriptAdapter.js +567 -0
- package/dist/languages/typescript/TypeScriptAdapter.js.map +1 -0
- package/dist/languages/typescript/test-extraction.d.ts +2 -0
- package/dist/languages/typescript/test-extraction.d.ts.map +1 -0
- package/dist/languages/typescript/test-extraction.js +36 -0
- package/dist/languages/typescript/test-extraction.js.map +1 -0
- package/dist/mcp-tools-shared.d.ts +3 -0
- package/dist/mcp-tools-shared.d.ts.map +1 -1
- package/dist/mcp-tools-shared.js +123 -2
- package/dist/mcp-tools-shared.js.map +1 -1
- package/dist/mcp.js +3 -0
- package/dist/mcp.js.map +1 -1
- package/dist/types/crossLanguage.d.ts +267 -0
- package/dist/types/crossLanguage.d.ts.map +1 -0
- package/dist/types/crossLanguage.js +6 -0
- package/dist/types/crossLanguage.js.map +1 -0
- package/dist/types.d.ts +1 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/dist/utils/fileDiscovery.d.ts +6 -0
- package/dist/utils/fileDiscovery.d.ts.map +1 -1
- package/dist/utils/fileDiscovery.js +12 -1
- package/dist/utils/fileDiscovery.js.map +1 -1
- 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
|
|
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
|
-
### 🔍
|
|
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
|
|
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"}
|