code-auditor-mcp 1.0.0 → 1.1.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 +72 -2
- package/dist/api/index.d.ts +1 -0
- package/dist/api/index.d.ts.map +1 -0
- package/dist/api/index.js +3 -0
- package/dist/api/index.js.map +1 -0
- package/dist/cli.d.ts +1 -1
- package/dist/cli.js +229 -22
- package/dist/cli.js.map +1 -1
- package/dist/codeIndexDb.d.ts +150 -0
- package/dist/codeIndexDb.d.ts.map +1 -0
- package/dist/codeIndexDb.js +847 -0
- package/dist/codeIndexDb.js.map +1 -0
- package/dist/codeIndexService.d.ts +66 -0
- package/dist/codeIndexService.d.ts.map +1 -0
- package/dist/codeIndexService.js +201 -0
- package/dist/codeIndexService.js.map +1 -0
- package/dist/config/configLoader.d.ts.map +1 -1
- package/dist/config/configLoader.js +17 -1
- package/dist/config/configLoader.js.map +1 -1
- package/dist/config/defaults.d.ts +9 -0
- package/dist/config/defaults.d.ts.map +1 -1
- package/dist/config/defaults.js +9 -0
- package/dist/config/defaults.js.map +1 -1
- package/dist/constants.d.ts +8 -0
- package/dist/constants.d.ts.map +1 -0
- package/dist/constants.js +14 -0
- package/dist/constants.js.map +1 -0
- package/dist/functionScanner.d.ts +30 -0
- package/dist/functionScanner.d.ts.map +1 -0
- package/dist/functionScanner.js +264 -0
- package/dist/functionScanner.js.map +1 -0
- package/dist/generators/AWSQConfigGenerator.d.ts +8 -0
- package/dist/generators/AWSQConfigGenerator.d.ts.map +1 -0
- package/dist/generators/AWSQConfigGenerator.js +33 -0
- package/dist/generators/AWSQConfigGenerator.js.map +1 -0
- package/dist/generators/AiderConfigGenerator.d.ts +8 -0
- package/dist/generators/AiderConfigGenerator.d.ts.map +1 -0
- package/dist/generators/AiderConfigGenerator.js +23 -0
- package/dist/generators/AiderConfigGenerator.js.map +1 -0
- package/dist/generators/BaseConfigGenerator.d.ts +51 -0
- package/dist/generators/BaseConfigGenerator.d.ts.map +1 -0
- package/dist/generators/BaseConfigGenerator.js +67 -0
- package/dist/generators/BaseConfigGenerator.js.map +1 -0
- package/dist/generators/ClaudeConfigGenerator.d.ts +14 -0
- package/dist/generators/ClaudeConfigGenerator.d.ts.map +1 -0
- package/dist/generators/ClaudeConfigGenerator.js +70 -0
- package/dist/generators/ClaudeConfigGenerator.js.map +1 -0
- package/dist/generators/ClineConfigGenerator.d.ts +9 -0
- package/dist/generators/ClineConfigGenerator.d.ts.map +1 -0
- package/dist/generators/ClineConfigGenerator.js +26 -0
- package/dist/generators/ClineConfigGenerator.js.map +1 -0
- package/dist/generators/CodeiumConfigGenerator.d.ts +8 -0
- package/dist/generators/CodeiumConfigGenerator.d.ts.map +1 -0
- package/dist/generators/CodeiumConfigGenerator.js +30 -0
- package/dist/generators/CodeiumConfigGenerator.js.map +1 -0
- package/dist/generators/ConfigGeneratorFactory.d.ts +35 -0
- package/dist/generators/ConfigGeneratorFactory.d.ts.map +1 -0
- package/dist/generators/ConfigGeneratorFactory.js +77 -0
- package/dist/generators/ConfigGeneratorFactory.js.map +1 -0
- package/dist/generators/ContinueConfigGenerator.d.ts +12 -0
- package/dist/generators/ContinueConfigGenerator.d.ts.map +1 -0
- package/dist/generators/ContinueConfigGenerator.js +99 -0
- package/dist/generators/ContinueConfigGenerator.js.map +1 -0
- package/dist/generators/CopilotConfigGenerator.d.ts +12 -0
- package/dist/generators/CopilotConfigGenerator.d.ts.map +1 -0
- package/dist/generators/CopilotConfigGenerator.js +77 -0
- package/dist/generators/CopilotConfigGenerator.js.map +1 -0
- package/dist/generators/CursorConfigGenerator.d.ts +12 -0
- package/dist/generators/CursorConfigGenerator.d.ts.map +1 -0
- package/dist/generators/CursorConfigGenerator.js +80 -0
- package/dist/generators/CursorConfigGenerator.js.map +1 -0
- package/dist/generators/JetBrainsConfigGenerator.d.ts +8 -0
- package/dist/generators/JetBrainsConfigGenerator.d.ts.map +1 -0
- package/dist/generators/JetBrainsConfigGenerator.js +36 -0
- package/dist/generators/JetBrainsConfigGenerator.js.map +1 -0
- package/dist/generators/VSCodeConfigGenerator.d.ts +8 -0
- package/dist/generators/VSCodeConfigGenerator.d.ts.map +1 -0
- package/dist/generators/VSCodeConfigGenerator.js +29 -0
- package/dist/generators/VSCodeConfigGenerator.js.map +1 -0
- package/dist/generators/index.d.ts +13 -0
- package/dist/generators/index.d.ts.map +1 -0
- package/dist/generators/index.js +14 -0
- package/dist/generators/index.js.map +1 -0
- package/dist/mcp-standalone.js +0 -0
- package/dist/mcp.js +483 -2
- package/dist/mcp.js.map +1 -1
- package/dist/search/QueryParser.d.ts +60 -0
- package/dist/search/QueryParser.d.ts.map +1 -0
- package/dist/search/QueryParser.js +330 -0
- package/dist/search/QueryParser.js.map +1 -0
- package/dist/search/index.d.ts +7 -0
- package/dist/search/index.d.ts.map +1 -0
- package/dist/search/index.js +6 -0
- package/dist/search/index.js.map +1 -0
- package/dist/test-multi-strategy-search.d.ts +3 -0
- package/dist/test-multi-strategy-search.d.ts.map +1 -0
- package/dist/test-multi-strategy-search.js +170 -0
- package/dist/test-multi-strategy-search.js.map +1 -0
- package/dist/types.d.ts +136 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/ui/InteractivePrompts.d.ts +37 -0
- package/dist/ui/InteractivePrompts.d.ts.map +1 -0
- package/dist/ui/InteractivePrompts.js +147 -0
- package/dist/ui/InteractivePrompts.js.map +1 -0
- package/dist/ui/index.d.ts +2 -0
- package/dist/ui/index.d.ts.map +1 -0
- package/dist/ui/index.js +3 -0
- package/dist/ui/index.js.map +1 -0
- package/dist/utils/jsDocParser.d.ts +84 -0
- package/dist/utils/jsDocParser.d.ts.map +1 -0
- package/dist/utils/jsDocParser.js +366 -0
- package/dist/utils/jsDocParser.js.map +1 -0
- package/package.json +31 -11
|
@@ -0,0 +1,264 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Function Scanner
|
|
3
|
+
* Scans directories for functions using AST parsing
|
|
4
|
+
*/
|
|
5
|
+
import { discoverFiles } from './utils/fileDiscovery.js';
|
|
6
|
+
import { parseTypeScriptFile } from './utils/astParser.js';
|
|
7
|
+
import { findNodesByKind, getLineAndColumn } from './utils/astUtils.js';
|
|
8
|
+
import { getImports } from './utils/astUtils.js';
|
|
9
|
+
import * as ts from 'typescript';
|
|
10
|
+
import path from 'path';
|
|
11
|
+
/**
|
|
12
|
+
* Scan directory for functions
|
|
13
|
+
*/
|
|
14
|
+
export async function scanDirectoryForFunctions(dirPath, options) {
|
|
15
|
+
const functions = [];
|
|
16
|
+
try {
|
|
17
|
+
// Discover TypeScript and JavaScript files
|
|
18
|
+
const fileExtensions = options?.fileExtensions || ['.ts', '.js', '.tsx', '.jsx'];
|
|
19
|
+
const files = await discoverFiles(dirPath, {
|
|
20
|
+
includePaths: options?.includePaths || ['**/*'],
|
|
21
|
+
excludePaths: options?.excludePaths || ['**/node_modules/**', '**/dist/**', '**/build/**']
|
|
22
|
+
});
|
|
23
|
+
// Filter by extensions
|
|
24
|
+
const targetFiles = files.filter(file => fileExtensions.some(ext => file.endsWith(ext)));
|
|
25
|
+
// Process each file
|
|
26
|
+
for (const filePath of targetFiles) {
|
|
27
|
+
try {
|
|
28
|
+
const fileFunctions = await extractFunctionsFromFile(filePath);
|
|
29
|
+
functions.push(...fileFunctions);
|
|
30
|
+
}
|
|
31
|
+
catch (error) {
|
|
32
|
+
console.error(`Error processing ${filePath}:`, error);
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
return functions;
|
|
36
|
+
}
|
|
37
|
+
catch (error) {
|
|
38
|
+
throw new Error(`Failed to scan directory: ${error instanceof Error ? error.message : 'Unknown error'}`);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Extract functions from a single file
|
|
43
|
+
*/
|
|
44
|
+
export async function extractFunctionsFromFile(filePath) {
|
|
45
|
+
const functions = [];
|
|
46
|
+
// Parse file
|
|
47
|
+
const parseResult = await parseTypeScriptFile(filePath);
|
|
48
|
+
if (!parseResult.sourceFile) {
|
|
49
|
+
return functions;
|
|
50
|
+
}
|
|
51
|
+
const sourceFile = parseResult.sourceFile;
|
|
52
|
+
// Get file dependencies
|
|
53
|
+
const imports = getImports(sourceFile);
|
|
54
|
+
const dependencies = imports
|
|
55
|
+
.map(imp => imp.moduleSpecifier)
|
|
56
|
+
.filter(spec => !spec.startsWith('.') && !spec.startsWith('/'))
|
|
57
|
+
.filter((v, i, a) => a.indexOf(v) === i); // Unique only
|
|
58
|
+
// Find all function declarations
|
|
59
|
+
const functionDeclarations = findNodesByKind(sourceFile, ts.SyntaxKind.FunctionDeclaration);
|
|
60
|
+
for (const func of functionDeclarations) {
|
|
61
|
+
const funcDecl = func;
|
|
62
|
+
if (funcDecl.name) {
|
|
63
|
+
const { line } = getLineAndColumn(sourceFile, func.getStart());
|
|
64
|
+
functions.push({
|
|
65
|
+
name: funcDecl.name.text,
|
|
66
|
+
filePath,
|
|
67
|
+
lineNumber: line,
|
|
68
|
+
language: getLanguageFromPath(filePath),
|
|
69
|
+
dependencies,
|
|
70
|
+
purpose: `Function ${funcDecl.name.text} implementation`,
|
|
71
|
+
context: `Located in ${path.basename(filePath)}`,
|
|
72
|
+
metadata: {
|
|
73
|
+
kind: 'function',
|
|
74
|
+
isAsync: !!funcDecl.modifiers?.some(m => m.kind === ts.SyntaxKind.AsyncKeyword),
|
|
75
|
+
isExported: !!funcDecl.modifiers?.some(m => m.kind === ts.SyntaxKind.ExportKeyword),
|
|
76
|
+
parameterCount: funcDecl.parameters.length
|
|
77
|
+
}
|
|
78
|
+
});
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
// Find arrow functions assigned to variables
|
|
82
|
+
const variableStatements = findNodesByKind(sourceFile, ts.SyntaxKind.VariableStatement);
|
|
83
|
+
for (const varStmt of variableStatements) {
|
|
84
|
+
const varDeclarations = varStmt.declarationList.declarations;
|
|
85
|
+
for (const varDecl of varDeclarations) {
|
|
86
|
+
if (varDecl.initializer &&
|
|
87
|
+
varDecl.initializer.kind === ts.SyntaxKind.ArrowFunction &&
|
|
88
|
+
ts.isIdentifier(varDecl.name)) {
|
|
89
|
+
const { line } = getLineAndColumn(sourceFile, varDecl.getStart());
|
|
90
|
+
const arrowFunc = varDecl.initializer;
|
|
91
|
+
const varStmtNode = varStmt;
|
|
92
|
+
functions.push({
|
|
93
|
+
name: varDecl.name.text,
|
|
94
|
+
filePath,
|
|
95
|
+
lineNumber: line,
|
|
96
|
+
language: getLanguageFromPath(filePath),
|
|
97
|
+
dependencies,
|
|
98
|
+
purpose: `Arrow function ${varDecl.name.text}`,
|
|
99
|
+
context: `Defined in ${path.basename(filePath)}`,
|
|
100
|
+
metadata: {
|
|
101
|
+
kind: 'arrow',
|
|
102
|
+
isAsync: arrowFunc.modifiers?.some(m => m.kind === ts.SyntaxKind.AsyncKeyword) || false,
|
|
103
|
+
isExported: varStmtNode.modifiers?.some(m => m.kind === ts.SyntaxKind.ExportKeyword) || false,
|
|
104
|
+
parameterCount: arrowFunc.parameters.length
|
|
105
|
+
}
|
|
106
|
+
});
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
// Find class methods
|
|
111
|
+
const classDeclarations = findNodesByKind(sourceFile, ts.SyntaxKind.ClassDeclaration);
|
|
112
|
+
for (const classDecl of classDeclarations) {
|
|
113
|
+
const className = classDecl.name?.text || 'AnonymousClass';
|
|
114
|
+
const methods = classDecl.members.filter(member => member.kind === ts.SyntaxKind.MethodDeclaration);
|
|
115
|
+
for (const method of methods) {
|
|
116
|
+
if (ts.isIdentifier(method.name)) {
|
|
117
|
+
const { line } = getLineAndColumn(sourceFile, method.getStart());
|
|
118
|
+
functions.push({
|
|
119
|
+
name: `${className}.${method.name.text}`,
|
|
120
|
+
filePath,
|
|
121
|
+
lineNumber: line,
|
|
122
|
+
language: getLanguageFromPath(filePath),
|
|
123
|
+
dependencies,
|
|
124
|
+
purpose: `Method ${method.name.text} of class ${className}`,
|
|
125
|
+
context: `Class method in ${path.basename(filePath)}`,
|
|
126
|
+
metadata: {
|
|
127
|
+
kind: 'method',
|
|
128
|
+
className,
|
|
129
|
+
isAsync: !!method.modifiers?.some(m => m.kind === ts.SyntaxKind.AsyncKeyword),
|
|
130
|
+
isStatic: !!method.modifiers?.some(m => m.kind === ts.SyntaxKind.StaticKeyword),
|
|
131
|
+
isPrivate: !!method.modifiers?.some(m => m.kind === ts.SyntaxKind.PrivateKeyword),
|
|
132
|
+
parameterCount: method.parameters.length
|
|
133
|
+
}
|
|
134
|
+
});
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
return functions;
|
|
139
|
+
}
|
|
140
|
+
/**
|
|
141
|
+
* Get language from file path
|
|
142
|
+
*/
|
|
143
|
+
function getLanguageFromPath(filePath) {
|
|
144
|
+
const ext = path.extname(filePath).toLowerCase();
|
|
145
|
+
switch (ext) {
|
|
146
|
+
case '.ts':
|
|
147
|
+
case '.tsx':
|
|
148
|
+
return 'typescript';
|
|
149
|
+
case '.js':
|
|
150
|
+
case '.jsx':
|
|
151
|
+
return 'javascript';
|
|
152
|
+
default:
|
|
153
|
+
return 'unknown';
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
// Aliases for MCP server compatibility
|
|
157
|
+
export const scanFunctionsInFile = extractFunctionsFromFile;
|
|
158
|
+
export async function scanFunctionsInDirectory(dirPath, options) {
|
|
159
|
+
return scanDirectoryForFunctions(dirPath, {
|
|
160
|
+
fileExtensions: options?.fileTypes,
|
|
161
|
+
includePaths: options?.recursive !== false ? ['**/*'] : ['*']
|
|
162
|
+
});
|
|
163
|
+
}
|
|
164
|
+
/**
|
|
165
|
+
* Function Scanner class for compatibility
|
|
166
|
+
*/
|
|
167
|
+
export class FunctionScanner {
|
|
168
|
+
async scanFunctions(content, filePath, language) {
|
|
169
|
+
// Parse the content directly
|
|
170
|
+
const functions = [];
|
|
171
|
+
// Create a TypeScript source file from content
|
|
172
|
+
const sourceFile = ts.createSourceFile(filePath, content, ts.ScriptTarget.Latest, true);
|
|
173
|
+
// Get file dependencies
|
|
174
|
+
const imports = getImports(sourceFile);
|
|
175
|
+
const dependencies = imports
|
|
176
|
+
.map(imp => imp.moduleSpecifier)
|
|
177
|
+
.filter(spec => !spec.startsWith('.') && !spec.startsWith('/'))
|
|
178
|
+
.filter((v, i, a) => a.indexOf(v) === i); // Unique only
|
|
179
|
+
// Find all function declarations
|
|
180
|
+
const functionDeclarations = findNodesByKind(sourceFile, ts.SyntaxKind.FunctionDeclaration);
|
|
181
|
+
for (const func of functionDeclarations) {
|
|
182
|
+
const funcNode = func;
|
|
183
|
+
if (!funcNode.name)
|
|
184
|
+
continue;
|
|
185
|
+
const { line } = getLineAndColumn(sourceFile, funcNode.getStart());
|
|
186
|
+
functions.push({
|
|
187
|
+
name: funcNode.name.text,
|
|
188
|
+
filePath: filePath,
|
|
189
|
+
lineNumber: line,
|
|
190
|
+
language: language,
|
|
191
|
+
dependencies,
|
|
192
|
+
purpose: `Function ${funcNode.name.text} implementation`,
|
|
193
|
+
context: `Located in ${path.basename(filePath)}`,
|
|
194
|
+
metadata: {
|
|
195
|
+
kind: 'function',
|
|
196
|
+
isAsync: !!funcNode.modifiers?.some(m => m.kind === ts.SyntaxKind.AsyncKeyword),
|
|
197
|
+
isExported: !!funcNode.modifiers?.some(m => m.kind === ts.SyntaxKind.ExportKeyword),
|
|
198
|
+
parameterCount: funcNode.parameters.length
|
|
199
|
+
}
|
|
200
|
+
});
|
|
201
|
+
}
|
|
202
|
+
// Find arrow functions and variable declarations
|
|
203
|
+
const varDeclarations = findNodesByKind(sourceFile, ts.SyntaxKind.VariableStatement);
|
|
204
|
+
for (const varStmt of varDeclarations) {
|
|
205
|
+
const varStmtNode = varStmt;
|
|
206
|
+
for (const declaration of varStmtNode.declarationList.declarations) {
|
|
207
|
+
if (declaration.initializer &&
|
|
208
|
+
declaration.initializer.kind === ts.SyntaxKind.ArrowFunction &&
|
|
209
|
+
ts.isIdentifier(declaration.name)) {
|
|
210
|
+
const arrowFunc = declaration.initializer;
|
|
211
|
+
const { line } = getLineAndColumn(sourceFile, declaration.getStart());
|
|
212
|
+
functions.push({
|
|
213
|
+
name: declaration.name.text,
|
|
214
|
+
filePath: filePath,
|
|
215
|
+
lineNumber: line,
|
|
216
|
+
language: language,
|
|
217
|
+
dependencies,
|
|
218
|
+
purpose: `Arrow function ${declaration.name.text}`,
|
|
219
|
+
context: `Defined in ${path.basename(filePath)}`,
|
|
220
|
+
metadata: {
|
|
221
|
+
kind: 'arrow',
|
|
222
|
+
isAsync: !!arrowFunc.modifiers?.some(m => m.kind === ts.SyntaxKind.AsyncKeyword),
|
|
223
|
+
isExported: !!varStmtNode.modifiers?.some(m => m.kind === ts.SyntaxKind.ExportKeyword),
|
|
224
|
+
parameterCount: arrowFunc.parameters.length
|
|
225
|
+
}
|
|
226
|
+
});
|
|
227
|
+
}
|
|
228
|
+
}
|
|
229
|
+
}
|
|
230
|
+
// Find class methods
|
|
231
|
+
const classDeclarations = findNodesByKind(sourceFile, ts.SyntaxKind.ClassDeclaration);
|
|
232
|
+
for (const classDecl of classDeclarations) {
|
|
233
|
+
const classNode = classDecl;
|
|
234
|
+
if (!classNode.name)
|
|
235
|
+
continue;
|
|
236
|
+
const className = classNode.name.text;
|
|
237
|
+
for (const member of classNode.members) {
|
|
238
|
+
if (ts.isMethodDeclaration(member) && member.name && ts.isIdentifier(member.name)) {
|
|
239
|
+
const method = member;
|
|
240
|
+
const { line } = getLineAndColumn(sourceFile, method.getStart());
|
|
241
|
+
functions.push({
|
|
242
|
+
name: `${className}.${method.name.text}`,
|
|
243
|
+
filePath: filePath,
|
|
244
|
+
lineNumber: line,
|
|
245
|
+
language: language,
|
|
246
|
+
dependencies,
|
|
247
|
+
purpose: `Method ${method.name.text} of class ${className}`,
|
|
248
|
+
context: `Class method in ${path.basename(filePath)}`,
|
|
249
|
+
metadata: {
|
|
250
|
+
kind: 'method',
|
|
251
|
+
className,
|
|
252
|
+
isAsync: !!method.modifiers?.some(m => m.kind === ts.SyntaxKind.AsyncKeyword),
|
|
253
|
+
isStatic: !!method.modifiers?.some(m => m.kind === ts.SyntaxKind.StaticKeyword),
|
|
254
|
+
isPrivate: !!method.modifiers?.some(m => m.kind === ts.SyntaxKind.PrivateKeyword),
|
|
255
|
+
parameterCount: method.parameters.length
|
|
256
|
+
}
|
|
257
|
+
});
|
|
258
|
+
}
|
|
259
|
+
}
|
|
260
|
+
}
|
|
261
|
+
return functions;
|
|
262
|
+
}
|
|
263
|
+
}
|
|
264
|
+
//# sourceMappingURL=functionScanner.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"functionScanner.js","sourceRoot":"","sources":["../src/functionScanner.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { BaseConfigGenerator, ConfigOutput } from './BaseConfigGenerator.js';
|
|
2
|
+
export declare class AWSQConfigGenerator extends BaseConfigGenerator {
|
|
3
|
+
getToolName(): string;
|
|
4
|
+
getFilename(): string;
|
|
5
|
+
generateConfig(): ConfigOutput;
|
|
6
|
+
getInstructions(): string;
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=AWSQConfigGenerator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AWSQConfigGenerator.d.ts","sourceRoot":"","sources":["../../src/generators/AWSQConfigGenerator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAE7E,qBAAa,mBAAoB,SAAQ,mBAAmB;IAC1D,WAAW,IAAI,MAAM;IACrB,WAAW,IAAI,MAAM;IAErB,cAAc,IAAI,YAAY;IA0B9B,eAAe,IAAI,MAAM;CAG1B"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { BaseConfigGenerator } from './BaseConfigGenerator.js';
|
|
2
|
+
export class AWSQConfigGenerator extends BaseConfigGenerator {
|
|
3
|
+
getToolName() { return 'AWS Q Developer'; }
|
|
4
|
+
getFilename() { return 'awsq-customization.json'; }
|
|
5
|
+
generateConfig() {
|
|
6
|
+
const config = {
|
|
7
|
+
customizations: {
|
|
8
|
+
name: 'CodeIndexCustomization',
|
|
9
|
+
description: 'Local code index for AWS Q',
|
|
10
|
+
repositories: [{
|
|
11
|
+
type: 'external',
|
|
12
|
+
endpoint: `${this.serverUrl}/api/awsq`,
|
|
13
|
+
authentication: { type: 'bearer', token: this.getDefaultApiKey() }
|
|
14
|
+
}],
|
|
15
|
+
capabilities: {
|
|
16
|
+
codeCompletion: true,
|
|
17
|
+
codeExplanation: true,
|
|
18
|
+
codeTransformation: false,
|
|
19
|
+
search: true
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
};
|
|
23
|
+
return {
|
|
24
|
+
filename: this.getFilename(),
|
|
25
|
+
content: this.formatJson(config),
|
|
26
|
+
instructions: 'Install AWS Toolkit, open AWS Q settings, import this configuration file.'
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
getInstructions() {
|
|
30
|
+
return 'AWS Q configuration instructions...';
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=AWSQConfigGenerator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AWSQConfigGenerator.js","sourceRoot":"","sources":["../../src/generators/AWSQConfigGenerator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAgB,MAAM,0BAA0B,CAAC;AAE7E,MAAM,OAAO,mBAAoB,SAAQ,mBAAmB;IAC1D,WAAW,KAAa,OAAO,iBAAiB,CAAC,CAAC,CAAC;IACnD,WAAW,KAAa,OAAO,yBAAyB,CAAC,CAAC,CAAC;IAE3D,cAAc;QACZ,MAAM,MAAM,GAAG;YACb,cAAc,EAAE;gBACd,IAAI,EAAE,wBAAwB;gBAC9B,WAAW,EAAE,4BAA4B;gBACzC,YAAY,EAAE,CAAC;wBACb,IAAI,EAAE,UAAU;wBAChB,QAAQ,EAAE,GAAG,IAAI,CAAC,SAAS,WAAW;wBACtC,cAAc,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,gBAAgB,EAAE,EAAE;qBACnE,CAAC;gBACF,YAAY,EAAE;oBACZ,cAAc,EAAE,IAAI;oBACpB,eAAe,EAAE,IAAI;oBACrB,kBAAkB,EAAE,KAAK;oBACzB,MAAM,EAAE,IAAI;iBACb;aACF;SACF,CAAC;QAEF,OAAO;YACL,QAAQ,EAAE,IAAI,CAAC,WAAW,EAAE;YAC5B,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;YAChC,YAAY,EAAE,2EAA2E;SAC1F,CAAC;IACJ,CAAC;IAED,eAAe;QACb,OAAO,qCAAqC,CAAC;IAC/C,CAAC;CACF"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { BaseConfigGenerator, ConfigOutput } from './BaseConfigGenerator.js';
|
|
2
|
+
export declare class AiderConfigGenerator extends BaseConfigGenerator {
|
|
3
|
+
getToolName(): string;
|
|
4
|
+
getFilename(): string;
|
|
5
|
+
generateConfig(): ConfigOutput;
|
|
6
|
+
getInstructions(): string;
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=AiderConfigGenerator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AiderConfigGenerator.d.ts","sourceRoot":"","sources":["../../src/generators/AiderConfigGenerator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAE7E,qBAAa,oBAAqB,SAAQ,mBAAmB;IAC3D,WAAW,IAAI,MAAM;IACrB,WAAW,IAAI,MAAM;IAErB,cAAc,IAAI,YAAY;IAgB9B,eAAe,IAAI,MAAM;CAG1B"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { BaseConfigGenerator } from './BaseConfigGenerator.js';
|
|
2
|
+
export class AiderConfigGenerator extends BaseConfigGenerator {
|
|
3
|
+
getToolName() { return 'Aider'; }
|
|
4
|
+
getFilename() { return '.aider.conf.yml'; }
|
|
5
|
+
generateConfig() {
|
|
6
|
+
const config = {
|
|
7
|
+
model: 'gpt-4',
|
|
8
|
+
'edit-format': 'diff',
|
|
9
|
+
'auto-commits': false,
|
|
10
|
+
'api-base': `${this.serverUrl}/api/aider`,
|
|
11
|
+
'api-key': this.getDefaultApiKey()
|
|
12
|
+
};
|
|
13
|
+
return {
|
|
14
|
+
filename: this.getFilename(),
|
|
15
|
+
content: this.formatYaml(config),
|
|
16
|
+
instructions: 'Place in project root as .aider.conf.yml'
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
getInstructions() {
|
|
20
|
+
return 'Aider configuration instructions...';
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=AiderConfigGenerator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AiderConfigGenerator.js","sourceRoot":"","sources":["../../src/generators/AiderConfigGenerator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAgB,MAAM,0BAA0B,CAAC;AAE7E,MAAM,OAAO,oBAAqB,SAAQ,mBAAmB;IAC3D,WAAW,KAAa,OAAO,OAAO,CAAC,CAAC,CAAC;IACzC,WAAW,KAAa,OAAO,iBAAiB,CAAC,CAAC,CAAC;IAEnD,cAAc;QACZ,MAAM,MAAM,GAAG;YACb,KAAK,EAAE,OAAO;YACd,aAAa,EAAE,MAAM;YACrB,cAAc,EAAE,KAAK;YACrB,UAAU,EAAE,GAAG,IAAI,CAAC,SAAS,YAAY;YACzC,SAAS,EAAE,IAAI,CAAC,gBAAgB,EAAE;SACnC,CAAC;QAEF,OAAO;YACL,QAAQ,EAAE,IAAI,CAAC,WAAW,EAAE;YAC5B,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;YAChC,YAAY,EAAE,0CAA0C;SACzD,CAAC;IACJ,CAAC;IAED,eAAe;QACb,OAAO,qCAAqC,CAAC;IAC/C,CAAC;CACF"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Base Configuration Generator
|
|
3
|
+
* Abstract class for all AI tool config generators
|
|
4
|
+
*/
|
|
5
|
+
export interface ConfigOutput {
|
|
6
|
+
filename: string;
|
|
7
|
+
content: string;
|
|
8
|
+
additionalFiles?: AdditionalFile[];
|
|
9
|
+
instructions: string;
|
|
10
|
+
}
|
|
11
|
+
export interface AdditionalFile {
|
|
12
|
+
filename: string;
|
|
13
|
+
content: string;
|
|
14
|
+
}
|
|
15
|
+
export declare abstract class BaseConfigGenerator {
|
|
16
|
+
protected serverUrl: string;
|
|
17
|
+
constructor(serverUrl?: string);
|
|
18
|
+
/**
|
|
19
|
+
* Generate the configuration for the specific tool
|
|
20
|
+
*/
|
|
21
|
+
abstract generateConfig(): ConfigOutput;
|
|
22
|
+
/**
|
|
23
|
+
* Get the default filename for this tool's configuration
|
|
24
|
+
*/
|
|
25
|
+
abstract getFilename(): string;
|
|
26
|
+
/**
|
|
27
|
+
* Get setup instructions for this tool
|
|
28
|
+
*/
|
|
29
|
+
abstract getInstructions(): string;
|
|
30
|
+
/**
|
|
31
|
+
* Format an object as pretty-printed JSON
|
|
32
|
+
*/
|
|
33
|
+
protected formatJson(obj: any, indent?: number): string;
|
|
34
|
+
/**
|
|
35
|
+
* Convert a JSON object to YAML format
|
|
36
|
+
*/
|
|
37
|
+
protected formatYaml(obj: any, indent?: number): string;
|
|
38
|
+
/**
|
|
39
|
+
* Get the tool name (for display purposes)
|
|
40
|
+
*/
|
|
41
|
+
abstract getToolName(): string;
|
|
42
|
+
/**
|
|
43
|
+
* Check if this tool requires authentication
|
|
44
|
+
*/
|
|
45
|
+
requiresAuth(): boolean;
|
|
46
|
+
/**
|
|
47
|
+
* Get the default API key for this tool
|
|
48
|
+
*/
|
|
49
|
+
getDefaultApiKey(): string;
|
|
50
|
+
}
|
|
51
|
+
//# sourceMappingURL=BaseConfigGenerator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BaseConfigGenerator.d.ts","sourceRoot":"","sources":["../../src/generators/BaseConfigGenerator.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe,CAAC,EAAE,cAAc,EAAE,CAAC;IACnC,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,8BAAsB,mBAAmB;IACvC,SAAS,CAAC,SAAS,EAAE,MAAM,CAAC;gBAEhB,SAAS,GAAE,MAA2B;IAIlD;;OAEG;IACH,QAAQ,CAAC,cAAc,IAAI,YAAY;IAEvC;;OAEG;IACH,QAAQ,CAAC,WAAW,IAAI,MAAM;IAE9B;;OAEG;IACH,QAAQ,CAAC,eAAe,IAAI,MAAM;IAElC;;OAEG;IACH,SAAS,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,GAAE,MAAU,GAAG,MAAM;IAI1D;;OAEG;IACH,SAAS,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,GAAE,MAAU,GAAG,MAAM;IAgC1D;;OAEG;IACH,QAAQ,CAAC,WAAW,IAAI,MAAM;IAE9B;;OAEG;IACH,YAAY,IAAI,OAAO;IAIvB;;OAEG;IACH,gBAAgB,IAAI,MAAM;CAG3B"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Base Configuration Generator
|
|
3
|
+
* Abstract class for all AI tool config generators
|
|
4
|
+
*/
|
|
5
|
+
import { DEFAULT_SERVER_URL, DEFAULT_API_KEY } from '../constants.js';
|
|
6
|
+
export class BaseConfigGenerator {
|
|
7
|
+
serverUrl;
|
|
8
|
+
constructor(serverUrl = DEFAULT_SERVER_URL) {
|
|
9
|
+
this.serverUrl = serverUrl;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Format an object as pretty-printed JSON
|
|
13
|
+
*/
|
|
14
|
+
formatJson(obj, indent = 2) {
|
|
15
|
+
return JSON.stringify(obj, null, indent);
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Convert a JSON object to YAML format
|
|
19
|
+
*/
|
|
20
|
+
formatYaml(obj, indent = 0) {
|
|
21
|
+
let yaml = '';
|
|
22
|
+
const spaces = ' '.repeat(indent);
|
|
23
|
+
for (const [key, value] of Object.entries(obj)) {
|
|
24
|
+
if (value === null || value === undefined) {
|
|
25
|
+
yaml += `${spaces}${key}: null\n`;
|
|
26
|
+
}
|
|
27
|
+
else if (typeof value === 'object' && !Array.isArray(value)) {
|
|
28
|
+
yaml += `${spaces}${key}:\n${this.formatYaml(value, indent + 2)}`;
|
|
29
|
+
}
|
|
30
|
+
else if (Array.isArray(value)) {
|
|
31
|
+
yaml += `${spaces}${key}:\n`;
|
|
32
|
+
value.forEach(item => {
|
|
33
|
+
if (typeof item === 'object') {
|
|
34
|
+
yaml += `${spaces}- \n${this.formatYaml(item, indent + 4)}`;
|
|
35
|
+
}
|
|
36
|
+
else {
|
|
37
|
+
yaml += `${spaces}- ${item}\n`;
|
|
38
|
+
}
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
else if (typeof value === 'string' && value.includes('\n')) {
|
|
42
|
+
// Multi-line string
|
|
43
|
+
yaml += `${spaces}${key}: |\n`;
|
|
44
|
+
value.split('\n').forEach(line => {
|
|
45
|
+
yaml += `${spaces} ${line}\n`;
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
else {
|
|
49
|
+
yaml += `${spaces}${key}: ${value}\n`;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
return yaml;
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Check if this tool requires authentication
|
|
56
|
+
*/
|
|
57
|
+
requiresAuth() {
|
|
58
|
+
return true;
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Get the default API key for this tool
|
|
62
|
+
*/
|
|
63
|
+
getDefaultApiKey() {
|
|
64
|
+
return DEFAULT_API_KEY;
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
//# sourceMappingURL=BaseConfigGenerator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BaseConfigGenerator.js","sourceRoot":"","sources":["../../src/generators/BaseConfigGenerator.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AActE,MAAM,OAAgB,mBAAmB;IAC7B,SAAS,CAAS;IAE5B,YAAY,YAAoB,kBAAkB;QAChD,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC7B,CAAC;IAiBD;;OAEG;IACO,UAAU,CAAC,GAAQ,EAAE,SAAiB,CAAC;QAC/C,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;IAC3C,CAAC;IAED;;OAEG;IACO,UAAU,CAAC,GAAQ,EAAE,SAAiB,CAAC;QAC/C,IAAI,IAAI,GAAG,EAAE,CAAC;QACd,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAElC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YAC/C,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBAC1C,IAAI,IAAI,GAAG,MAAM,GAAG,GAAG,UAAU,CAAC;YACpC,CAAC;iBAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC9D,IAAI,IAAI,GAAG,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC;YACpE,CAAC;iBAAM,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;gBAChC,IAAI,IAAI,GAAG,MAAM,GAAG,GAAG,KAAK,CAAC;gBAC7B,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;oBACnB,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;wBAC7B,IAAI,IAAI,GAAG,MAAM,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC;oBAC9D,CAAC;yBAAM,CAAC;wBACN,IAAI,IAAI,GAAG,MAAM,KAAK,IAAI,IAAI,CAAC;oBACjC,CAAC;gBACH,CAAC,CAAC,CAAC;YACL,CAAC;iBAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC7D,oBAAoB;gBACpB,IAAI,IAAI,GAAG,MAAM,GAAG,GAAG,OAAO,CAAC;gBAC/B,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;oBAC/B,IAAI,IAAI,GAAG,MAAM,KAAK,IAAI,IAAI,CAAC;gBACjC,CAAC,CAAC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACN,IAAI,IAAI,GAAG,MAAM,GAAG,GAAG,KAAK,KAAK,IAAI,CAAC;YACxC,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAOD;;OAEG;IACH,YAAY;QACV,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,gBAAgB;QACd,OAAO,eAAe,CAAC;IACzB,CAAC;CACF"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Claude Desktop Configuration Generator
|
|
3
|
+
* Generates configuration for Claude Desktop app
|
|
4
|
+
*/
|
|
5
|
+
import { BaseConfigGenerator, ConfigOutput } from './BaseConfigGenerator.js';
|
|
6
|
+
export declare class ClaudeConfigGenerator extends BaseConfigGenerator {
|
|
7
|
+
getToolName(): string;
|
|
8
|
+
getFilename(): string;
|
|
9
|
+
generateConfig(): ConfigOutput;
|
|
10
|
+
getInstructions(): string;
|
|
11
|
+
private getConfigPath;
|
|
12
|
+
requiresAuth(): boolean;
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=ClaudeConfigGenerator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ClaudeConfigGenerator.d.ts","sourceRoot":"","sources":["../../src/generators/ClaudeConfigGenerator.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,mBAAmB,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAI7E,qBAAa,qBAAsB,SAAQ,mBAAmB;IAC5D,WAAW,IAAI,MAAM;IAIrB,WAAW,IAAI,MAAM;IAIrB,cAAc,IAAI,YAAY;IAuB9B,eAAe,IAAI,MAAM;IAsBzB,OAAO,CAAC,aAAa;IAWrB,YAAY,IAAI,OAAO;CAGxB"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Claude Desktop Configuration Generator
|
|
3
|
+
* Generates configuration for Claude Desktop app
|
|
4
|
+
*/
|
|
5
|
+
import { BaseConfigGenerator } from './BaseConfigGenerator.js';
|
|
6
|
+
import { resolve } from 'path';
|
|
7
|
+
import { platform } from 'os';
|
|
8
|
+
export class ClaudeConfigGenerator extends BaseConfigGenerator {
|
|
9
|
+
getToolName() {
|
|
10
|
+
return 'Claude Desktop';
|
|
11
|
+
}
|
|
12
|
+
getFilename() {
|
|
13
|
+
return 'claude_desktop_config.json';
|
|
14
|
+
}
|
|
15
|
+
generateConfig() {
|
|
16
|
+
const config = {
|
|
17
|
+
mcpServers: {
|
|
18
|
+
'code-index': {
|
|
19
|
+
command: 'node',
|
|
20
|
+
args: [
|
|
21
|
+
resolve(process.cwd(), 'dist/mcp.js'),
|
|
22
|
+
'--mcp-mode'
|
|
23
|
+
],
|
|
24
|
+
env: {
|
|
25
|
+
MCP_SERVER_URL: this.serverUrl
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
};
|
|
30
|
+
return {
|
|
31
|
+
filename: this.getFilename(),
|
|
32
|
+
content: this.formatJson(config),
|
|
33
|
+
instructions: this.getInstructions()
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
getInstructions() {
|
|
37
|
+
const configPath = this.getConfigPath();
|
|
38
|
+
return `
|
|
39
|
+
Claude Desktop Configuration Instructions:
|
|
40
|
+
|
|
41
|
+
1. Place this file at: ${configPath}
|
|
42
|
+
2. Restart Claude Desktop
|
|
43
|
+
3. Look for the "hammer" icon (🔨) to access MCP tools
|
|
44
|
+
4. Your code index tools will be available
|
|
45
|
+
|
|
46
|
+
Available MCP Tools:
|
|
47
|
+
- search_functions: Search your codebase
|
|
48
|
+
- find_definition: Find function definitions
|
|
49
|
+
- index_functions: Index new files
|
|
50
|
+
- get_index_stats: View indexing statistics
|
|
51
|
+
- register_functions: Manually register functions
|
|
52
|
+
|
|
53
|
+
Note: Claude Desktop has excellent MCP support built-in!
|
|
54
|
+
`;
|
|
55
|
+
}
|
|
56
|
+
getConfigPath() {
|
|
57
|
+
switch (platform()) {
|
|
58
|
+
case 'darwin':
|
|
59
|
+
return '~/Library/Application Support/Claude/claude_desktop_config.json';
|
|
60
|
+
case 'win32':
|
|
61
|
+
return '%APPDATA%\\Claude\\claude_desktop_config.json';
|
|
62
|
+
default:
|
|
63
|
+
return '~/.config/Claude/claude_desktop_config.json';
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
requiresAuth() {
|
|
67
|
+
return false; // Claude Desktop uses local MCP connection
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
//# sourceMappingURL=ClaudeConfigGenerator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ClaudeConfigGenerator.js","sourceRoot":"","sources":["../../src/generators/ClaudeConfigGenerator.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,mBAAmB,EAAgB,MAAM,0BAA0B,CAAC;AAC7E,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAC/B,OAAO,EAAE,QAAQ,EAAE,MAAM,IAAI,CAAC;AAE9B,MAAM,OAAO,qBAAsB,SAAQ,mBAAmB;IAC5D,WAAW;QACT,OAAO,gBAAgB,CAAC;IAC1B,CAAC;IAED,WAAW;QACT,OAAO,4BAA4B,CAAC;IACtC,CAAC;IAED,cAAc;QACZ,MAAM,MAAM,GAAG;YACb,UAAU,EAAE;gBACV,YAAY,EAAE;oBACZ,OAAO,EAAE,MAAM;oBACf,IAAI,EAAE;wBACJ,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,aAAa,CAAC;wBACrC,YAAY;qBACb;oBACD,GAAG,EAAE;wBACH,cAAc,EAAE,IAAI,CAAC,SAAS;qBAC/B;iBACF;aACF;SACF,CAAC;QAEF,OAAO;YACL,QAAQ,EAAE,IAAI,CAAC,WAAW,EAAE;YAC5B,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;YAChC,YAAY,EAAE,IAAI,CAAC,eAAe,EAAE;SACrC,CAAC;IACJ,CAAC;IAED,eAAe;QACb,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QAExC,OAAO;;;yBAGc,UAAU;;;;;;;;;;;;;CAalC,CAAC;IACA,CAAC;IAEO,aAAa;QACnB,QAAQ,QAAQ,EAAE,EAAE,CAAC;YACnB,KAAK,QAAQ;gBACX,OAAO,iEAAiE,CAAC;YAC3E,KAAK,OAAO;gBACV,OAAO,+CAA+C,CAAC;YACzD;gBACE,OAAO,6CAA6C,CAAC;QACzD,CAAC;IACH,CAAC;IAED,YAAY;QACV,OAAO,KAAK,CAAC,CAAC,2CAA2C;IAC3D,CAAC;CACF"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { BaseConfigGenerator, ConfigOutput } from './BaseConfigGenerator.js';
|
|
2
|
+
export declare class ClineConfigGenerator extends BaseConfigGenerator {
|
|
3
|
+
getToolName(): string;
|
|
4
|
+
getFilename(): string;
|
|
5
|
+
generateConfig(): ConfigOutput;
|
|
6
|
+
getInstructions(): string;
|
|
7
|
+
requiresAuth(): boolean;
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=ClineConfigGenerator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ClineConfigGenerator.d.ts","sourceRoot":"","sources":["../../src/generators/ClineConfigGenerator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAG7E,qBAAa,oBAAqB,SAAQ,mBAAmB;IAC3D,WAAW,IAAI,MAAM;IACrB,WAAW,IAAI,MAAM;IAErB,cAAc,IAAI,YAAY;IAiB9B,eAAe,IAAI,MAAM;IAIzB,YAAY,IAAI,OAAO;CACxB"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { BaseConfigGenerator } from './BaseConfigGenerator.js';
|
|
2
|
+
import { resolve } from 'path';
|
|
3
|
+
export class ClineConfigGenerator extends BaseConfigGenerator {
|
|
4
|
+
getToolName() { return 'Cline'; }
|
|
5
|
+
getFilename() { return '.cline/mcp-config.json'; }
|
|
6
|
+
generateConfig() {
|
|
7
|
+
const config = {
|
|
8
|
+
mcpServers: {
|
|
9
|
+
'code-index': {
|
|
10
|
+
command: 'node',
|
|
11
|
+
args: [resolve(process.cwd(), 'dist/mcp.js'), '--mcp-mode']
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
};
|
|
15
|
+
return {
|
|
16
|
+
filename: this.getFilename(),
|
|
17
|
+
content: this.formatJson(config),
|
|
18
|
+
instructions: 'Place in .cline/mcp-config.json and restart Cline'
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
getInstructions() {
|
|
22
|
+
return 'Cline configuration instructions...';
|
|
23
|
+
}
|
|
24
|
+
requiresAuth() { return false; }
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=ClineConfigGenerator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ClineConfigGenerator.js","sourceRoot":"","sources":["../../src/generators/ClineConfigGenerator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAgB,MAAM,0BAA0B,CAAC;AAC7E,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAE/B,MAAM,OAAO,oBAAqB,SAAQ,mBAAmB;IAC3D,WAAW,KAAa,OAAO,OAAO,CAAC,CAAC,CAAC;IACzC,WAAW,KAAa,OAAO,wBAAwB,CAAC,CAAC,CAAC;IAE1D,cAAc;QACZ,MAAM,MAAM,GAAG;YACb,UAAU,EAAE;gBACV,YAAY,EAAE;oBACZ,OAAO,EAAE,MAAM;oBACf,IAAI,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,aAAa,CAAC,EAAE,YAAY,CAAC;iBAC5D;aACF;SACF,CAAC;QAEF,OAAO;YACL,QAAQ,EAAE,IAAI,CAAC,WAAW,EAAE;YAC5B,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;YAChC,YAAY,EAAE,mDAAmD;SAClE,CAAC;IACJ,CAAC;IAED,eAAe;QACb,OAAO,qCAAqC,CAAC;IAC/C,CAAC;IAED,YAAY,KAAc,OAAO,KAAK,CAAC,CAAC,CAAC;CAC1C"}
|