codesort-server
Advanced tools
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/server/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAwEH,UAAU,YAAY;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,iBAAS,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,YAAY,EAAE,CA4DzE;AAaD,iBAAS,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAe7C;AAm6BD,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,CAAC"} | ||
| {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/server/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAwEH,UAAU,YAAY;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,iBAAS,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,YAAY,EAAE,CA4DzE;AAaD,iBAAS,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAe7C;AA2sDD,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,CAAC"} |
+657
-11
@@ -47,3 +47,3 @@ "use strict"; | ||
| name: 'codesort-server', | ||
| version: '2.1.0', | ||
| version: '2.2.0', | ||
| }, { | ||
@@ -209,2 +209,32 @@ capabilities: { | ||
| } | ||
| }, | ||
| { | ||
| name: 'documentation_sitemap', | ||
| description: 'Generate a comprehensive documentation sitemap with function mappings and AI awareness metadata', | ||
| inputSchema: { | ||
| type: 'object', | ||
| properties: { | ||
| path: { | ||
| type: 'string', | ||
| description: 'Path to analyze (defaults to current directory)' | ||
| }, | ||
| format: { | ||
| type: 'string', | ||
| enum: ['markdown', 'json', 'ai-context'], | ||
| default: 'markdown', | ||
| description: 'Output format for documentation sitemap' | ||
| }, | ||
| include_ai_hints: { | ||
| type: 'boolean', | ||
| default: true, | ||
| description: 'Include AI usage hints and recommendations' | ||
| }, | ||
| detail_level: { | ||
| type: 'string', | ||
| enum: ['summary', 'detailed', 'comprehensive'], | ||
| default: 'detailed', | ||
| description: 'Level of detail in the sitemap' | ||
| } | ||
| } | ||
| } | ||
| } | ||
@@ -227,2 +257,4 @@ ] | ||
| return await handleSecurityScan(args || {}); | ||
| case 'documentation_sitemap': | ||
| return await handleDocumentationSitemap(args || {}); | ||
| default: | ||
@@ -236,2 +268,151 @@ throw new McpError(ErrorCode.MethodNotFound, `Unknown tool: ${name}`); | ||
| }); | ||
| function detectSemanticDuplicates(functions) { | ||
| const duplicates = []; | ||
| // Group functions by patterns | ||
| const functionGroups = new Map(); | ||
| functions.forEach(fn => { | ||
| // Extract patterns from function names | ||
| const patterns = extractFunctionPatterns(fn.name); | ||
| patterns.forEach(pattern => { | ||
| if (!functionGroups.has(pattern)) { | ||
| functionGroups.set(pattern, []); | ||
| } | ||
| functionGroups.get(pattern).push({ | ||
| name: fn.name, | ||
| file: fn.file, | ||
| signature: fn.signature | ||
| }); | ||
| }); | ||
| }); | ||
| // Check each group for semantic duplicates | ||
| functionGroups.forEach((group, pattern) => { | ||
| if (group.length > 1) { | ||
| for (let i = 0; i < group.length; i++) { | ||
| for (let j = i + 1; j < group.length; j++) { | ||
| const fn1 = group[i]; | ||
| const fn2 = group[j]; | ||
| // Skip if same file | ||
| if (fn1.file === fn2.file) | ||
| continue; | ||
| const similarity = calculateSemanticSimilarity(fn1, fn2); | ||
| if (similarity > 0.7) { | ||
| duplicates.push({ | ||
| fn1, | ||
| fn2, | ||
| similarity, | ||
| reason: pattern | ||
| }); | ||
| } | ||
| } | ||
| } | ||
| } | ||
| }); | ||
| return duplicates; | ||
| } | ||
| function extractFunctionPatterns(functionName) { | ||
| const patterns = []; | ||
| const name = functionName.toLowerCase(); | ||
| // Common verb patterns | ||
| const verbs = ['get', 'set', 'create', 'update', 'delete', 'remove', 'add', 'find', 'search', 'handle', 'process', 'validate', 'check', 'is', 'has', 'can']; | ||
| verbs.forEach(verb => { | ||
| if (name.includes(verb)) { | ||
| const remainder = name.replace(verb, ''); | ||
| if (remainder.length > 2) { | ||
| patterns.push(`${verb}*${remainder}`); | ||
| } | ||
| } | ||
| }); | ||
| // Common noun patterns | ||
| const nouns = ['user', 'admin', 'auth', 'token', 'data', 'config', 'settings', 'request', 'response', 'error', 'success']; | ||
| nouns.forEach(noun => { | ||
| if (name.includes(noun)) { | ||
| patterns.push(`*${noun}*`); | ||
| } | ||
| }); | ||
| // Handler pattern | ||
| if (name.includes('handler') || name.startsWith('handle')) { | ||
| patterns.push('handler*'); | ||
| } | ||
| // Utility pattern | ||
| if (name.includes('util') || name.includes('helper')) { | ||
| patterns.push('utility*'); | ||
| } | ||
| // Validation pattern | ||
| if (name.includes('valid') || name.startsWith('is') || name.startsWith('has') || name.startsWith('can')) { | ||
| patterns.push('validation*'); | ||
| } | ||
| return patterns.length > 0 ? patterns : ['other']; | ||
| } | ||
| function calculateSemanticSimilarity(fn1, fn2) { | ||
| let similarity = 0; | ||
| // Name similarity (40% weight) | ||
| const nameSimilarity = calculateStringSimilarity(fn1.name.toLowerCase(), fn2.name.toLowerCase()); | ||
| similarity += nameSimilarity * 0.4; | ||
| // Parameter pattern similarity (35% weight) | ||
| const param1 = extractParameterPattern(fn1.signature); | ||
| const param2 = extractParameterPattern(fn2.signature); | ||
| const paramSimilarity = calculatePatternSimilarity(param1, param2); | ||
| similarity += paramSimilarity * 0.35; | ||
| // Return type similarity (15% weight) | ||
| const return1 = extractReturnType(fn1.signature); | ||
| const return2 = extractReturnType(fn2.signature); | ||
| const returnSimilarity = return1 === return2 ? 1 : 0.5; | ||
| similarity += returnSimilarity * 0.15; | ||
| // Length similarity (10% weight) - similar complexity | ||
| const length1 = fn1.signature.length; | ||
| const length2 = fn2.signature.length; | ||
| const lengthSimilarity = 1 - Math.abs(length1 - length2) / Math.max(length1, length2); | ||
| similarity += lengthSimilarity * 0.1; | ||
| return Math.min(similarity, 1); | ||
| } | ||
| function calculateStringSimilarity(str1, str2) { | ||
| if (str1 === str2) | ||
| return 1; | ||
| // Simple Levenshtein-like similarity | ||
| const longer = str1.length > str2.length ? str1 : str2; | ||
| const shorter = str1.length > str2.length ? str2 : str1; | ||
| if (longer.length === 0) | ||
| return 1; | ||
| const editDistance = levenshteinDistance(longer, shorter); | ||
| return (longer.length - editDistance) / longer.length; | ||
| } | ||
| function levenshteinDistance(str1, str2) { | ||
| const matrix = Array(str2.length + 1).fill(null).map(() => Array(str1.length + 1).fill(null)); | ||
| for (let i = 0; i <= str1.length; i++) { | ||
| matrix[0][i] = i; | ||
| } | ||
| for (let j = 0; j <= str2.length; j++) { | ||
| matrix[j][0] = j; | ||
| } | ||
| for (let j = 1; j <= str2.length; j++) { | ||
| for (let i = 1; i <= str1.length; i++) { | ||
| const indicator = str1[i - 1] === str2[j - 1] ? 0 : 1; | ||
| matrix[j][i] = Math.min(matrix[j][i - 1] + 1, matrix[j - 1][i] + 1, matrix[j - 1][i - 1] + indicator); | ||
| } | ||
| } | ||
| return matrix[str2.length][str1.length]; | ||
| } | ||
| function extractParameterPattern(signature) { | ||
| const match = signature.match(/\(([^)]*)\)/); | ||
| if (!match) | ||
| return []; | ||
| const params = match[1].split(',').map(p => p.trim().split(':')[0].trim()); | ||
| return params.filter(p => p.length > 0); | ||
| } | ||
| function calculatePatternSimilarity(pattern1, pattern2) { | ||
| if (pattern1.length === 0 && pattern2.length === 0) | ||
| return 1; | ||
| if (pattern1.length === 0 || pattern2.length === 0) | ||
| return 0.5; | ||
| const intersection = pattern1.filter(p => pattern2.includes(p)); | ||
| const union = [...new Set([...pattern1, ...pattern2])]; | ||
| return intersection.length / union.length; | ||
| } | ||
| function extractReturnType(signature) { | ||
| const match = signature.match(/:\s*(.+)$/); | ||
| if (!match) | ||
| return 'void'; | ||
| const returnType = match[1].trim().split('{')[0].trim(); | ||
| return returnType.toLowerCase(); | ||
| } | ||
| async function handleAnalyzeCodebase(args) { | ||
@@ -302,3 +483,3 @@ const analysisPath = args.path || process.cwd(); | ||
| } | ||
| // Detect duplicate function names | ||
| // Enhanced duplicate detection with semantic similarity | ||
| const functionNames = new Map(); | ||
@@ -309,5 +490,5 @@ allFunctions.forEach(fn => { | ||
| } | ||
| functionNames.get(fn.name).push({ file: fn.file, line: fn.line }); | ||
| functionNames.get(fn.name).push({ file: fn.file, line: fn.line, signature: fn.signature }); | ||
| }); | ||
| // Find duplicates | ||
| // Find exact duplicates | ||
| functionNames.forEach((locations, name) => { | ||
@@ -326,2 +507,34 @@ if (locations.length > 1) { | ||
| }); | ||
| // Enhanced semantic duplicate detection | ||
| const semanticDuplicates = detectSemanticDuplicates(allFunctions); | ||
| semanticDuplicates.forEach(duplicate => { | ||
| issues.push({ | ||
| type: 'duplicate_functions', | ||
| severity: duplicate.similarity > 0.9 ? 'high' : 'medium', | ||
| description: `Semantically similar functions detected: "${duplicate.fn1.name}" in ${duplicate.fn1.file} and "${duplicate.fn2.name}" in ${duplicate.fn2.file} (${Math.round(duplicate.similarity * 100)}% similar)`, | ||
| affectedFiles: [duplicate.fn1.file, duplicate.fn2.file] | ||
| }); | ||
| }); | ||
| // Add documentation integration hint | ||
| if (issues.filter(i => i.type === 'duplicate_functions').length > 0) { | ||
| issues.push({ | ||
| type: 'duplicate_functions', | ||
| severity: 'low', | ||
| description: `💡 **AI Recommendation:** Run \`documentation_sitemap\` to get detailed cross-references and AI guidance for managing duplicates`, | ||
| affectedFiles: [] | ||
| }); | ||
| } | ||
| // AI Workflow Integration | ||
| if (issues.length > 0) { | ||
| issues.push({ | ||
| type: 'duplicate_functions', | ||
| severity: 'low', | ||
| description: `🤖 **AI CLI Integration:** For optimal development workflow: | ||
| 1. Start with \`documentation_sitemap\` for codebase overview | ||
| 2. Use this analysis to identify specific issues | ||
| 3. Cross-reference with sitemap for patterns and conventions | ||
| 4. Follow AI recommendations before implementing new code`, | ||
| affectedFiles: [] | ||
| }); | ||
| } | ||
| // Check for naming convention issues | ||
@@ -381,3 +594,32 @@ allFunctions.forEach(fn => { | ||
| *Analysis limited to first 50 files for performance*`; | ||
| *Analysis limited to first 50 files for performance* | ||
| --- | ||
| ## 🤖 AI CLI Integration Guidelines | ||
| ### **Recommended AI Development Workflow:** | ||
| 1. **📋 START HERE:** \`documentation_sitemap\` - Get comprehensive codebase overview with AI guidance | ||
| 2. **🔍 ANALYZE:** \`analyze_codebase\` - Identify specific issues and patterns | ||
| 3. **🔎 SEARCH:** \`search_functions\` - Find existing implementations before creating new ones | ||
| 4. **🌐 CHECK:** \`find_dependencies\` - Understand module relationships before refactoring | ||
| 5. **🛡️ SECURE:** \`security_scan\` - Ensure security best practices | ||
| ### **🎯 AI Decision Making Framework:** | ||
| - **Before creating functions:** Check sitemap cross-references for duplicates | ||
| - **Before refactoring:** Review dependency analysis and module purposes | ||
| - **Before implementing:** Follow detected patterns and conventions | ||
| - **Before committing:** Ensure security scan passes | ||
| ### **📊 Quality Assurance Checklist:** | ||
| - [ ] Documentation sitemap reviewed for similar functionality | ||
| - [ ] No high/medium priority duplicate conflicts | ||
| - [ ] Follows established naming and structural conventions | ||
| - [ ] Security implications considered | ||
| - [ ] Dependencies are properly managed | ||
| **🔗 Integration:** This analysis works best when combined with \`documentation_sitemap\` for complete codebase intelligence. | ||
| *Generated by CodeSort Server v2.1.0 - Enhanced with AI CLI Integration*`; | ||
| // Cache result | ||
@@ -878,2 +1120,402 @@ performanceCache.set(cacheKey, result, 10 * 60 * 1000); // 10 minutes | ||
| } | ||
| async function handleDocumentationSitemap(args) { | ||
| const path = args.path || process.cwd(); | ||
| const format = args.format || 'markdown'; | ||
| const includeAIHints = args.include_ai_hints !== false; | ||
| const detailLevel = args.detail_level || 'detailed'; | ||
| try { | ||
| // Use cached analysis if available | ||
| const cacheKey = `sitemap-${path}-${format}-${detailLevel}`; | ||
| const cached = performanceCache.get(cacheKey); | ||
| if (cached) { | ||
| return { content: [{ type: 'text', text: cached }] }; | ||
| } | ||
| const files = await (0, glob_1.glob)(`${path}/**/*.{js,ts,jsx,tsx,py,java,cpp,c,h,go,rs,php,rb}`, { | ||
| ignore: ['**/node_modules/**', '**/dist/**', '**/.git/**', '**/coverage/**'] | ||
| }); | ||
| const sitemap = { | ||
| pages: [], | ||
| aiContext: { | ||
| modules: {}, | ||
| patterns: {}, | ||
| conventions: { | ||
| naming: {}, | ||
| structure: {}, | ||
| imports: {} | ||
| } | ||
| }, | ||
| crossReferences: [] | ||
| }; | ||
| // Analyze each file | ||
| for (const file of files.slice(0, 50)) { // Limit for performance | ||
| try { | ||
| const content = await (0, promises_1.readFile)(file, 'utf-8'); | ||
| const functions = parseFunctions(content, file); | ||
| const fileType = getFileType(file); | ||
| const docPage = { | ||
| path: file, | ||
| title: extractFileTitle(file, content), | ||
| description: extractFileDescription(content, functions), | ||
| functions: functions.map(f => f.name), | ||
| dependencies: extractDependencies(content, fileType), | ||
| relatedPages: [], | ||
| aiHints: includeAIHints ? generateAIHints(functions, file, fileType) : [] | ||
| }; | ||
| sitemap.pages.push(docPage); | ||
| // Build AI context | ||
| sitemap.aiContext.modules[file] = { | ||
| purpose: extractModulePurpose(content, functions), | ||
| publicAPI: functions.filter(f => isPublicFunction(f)).map(f => f.name), | ||
| internalHelpers: functions.filter(f => !isPublicFunction(f)).map(f => f.name), | ||
| relatedModules: [] | ||
| }; | ||
| // Detect patterns and conventions | ||
| detectPatterns(functions, sitemap.aiContext.patterns, file); | ||
| detectConventions(content, sitemap.aiContext.conventions, file); | ||
| } | ||
| catch (error) { | ||
| console.error(`Error analyzing file ${file}:`, error); | ||
| } | ||
| } | ||
| // Generate cross-references for duplicate detection | ||
| sitemap.crossReferences = generateCrossReferences(sitemap.pages); | ||
| // Generate output based on format | ||
| let result = ''; | ||
| if (format === 'json') { | ||
| result = JSON.stringify(sitemap, null, 2); | ||
| } | ||
| else if (format === 'ai-context') { | ||
| result = generateAIContextOutput(sitemap); | ||
| } | ||
| else { | ||
| result = generateMarkdownSitemap(sitemap, detailLevel); | ||
| } | ||
| // Cache result | ||
| performanceCache.set(cacheKey, result, 20 * 60 * 1000); // 20 minutes | ||
| return { | ||
| content: [{ type: 'text', text: result }] | ||
| }; | ||
| } | ||
| catch (error) { | ||
| return { | ||
| content: [{ | ||
| type: 'text', | ||
| text: `Documentation sitemap generation failed: ${error instanceof Error ? error.message : 'Unknown error'}` | ||
| }] | ||
| }; | ||
| } | ||
| } | ||
| // Helper functions for documentation sitemap | ||
| function extractFileTitle(filePath, content) { | ||
| const fileName = filePath.split(/[/\\]/).pop() || ''; | ||
| const baseName = fileName.replace(/\.[^/.]+$/, ''); | ||
| // Try to find a title comment | ||
| const titleMatch = content.match(/\/\/\s*(.+)|#\s*(.+)|\/\*\*\s*\*\s*(.+)|\*\s*(.+)/); | ||
| if (titleMatch) { | ||
| return titleMatch[1] || titleMatch[2] || titleMatch[3] || titleMatch[4] || baseName; | ||
| } | ||
| return baseName; | ||
| } | ||
| function extractFileDescription(content, functions) { | ||
| // Look for file-level documentation | ||
| const docMatch = content.match(/\/\*\*[\s\S]*?\*\//); | ||
| if (docMatch) { | ||
| return docMatch[0].replace(/[\/\*\*]/g, '').trim(); | ||
| } | ||
| // Generate from functions if no documentation found | ||
| const primaryFunctions = functions.slice(0, 3); | ||
| if (primaryFunctions.length > 0) { | ||
| return `Contains ${functions.length} function(s): ${primaryFunctions.map(f => f.name).join(', ')}${functions.length > 3 ? '...' : ''}`; | ||
| } | ||
| return 'No description available'; | ||
| } | ||
| function extractDependencies(content, fileType) { | ||
| const dependencies = []; | ||
| if (fileType === 'javascript' || fileType === 'typescript') { | ||
| // ES6 imports | ||
| const importMatches = content.matchAll(/import.*from\s+['"]([^'"]+)['"]/g); | ||
| for (const match of importMatches) { | ||
| dependencies.push(match[1]); | ||
| } | ||
| // CommonJS requires | ||
| const requireMatches = content.matchAll(/require\s*\(\s*['"]([^'"]+)['"]\s*\)/g); | ||
| for (const match of requireMatches) { | ||
| dependencies.push(match[1]); | ||
| } | ||
| } | ||
| return dependencies; | ||
| } | ||
| function generateAIHints(functions, _filePath, _fileType) { | ||
| const hints = []; | ||
| // Hint about duplicate detection | ||
| if (functions.length > 0) { | ||
| hints.push({ | ||
| context: `File contains ${functions.length} function(s)`, | ||
| recommendation: 'Check for similar functions in other files before creating new ones', | ||
| duplicateDetection: true, | ||
| preferredPattern: false | ||
| }); | ||
| } | ||
| // Pattern-based hints | ||
| functions.forEach(fn => { | ||
| // Utility function detection | ||
| if (fn.name.includes('util') || fn.name.includes('helper')) { | ||
| hints.push({ | ||
| context: `Function ${fn.name} appears to be a utility`, | ||
| recommendation: 'Consider if this utility already exists in the codebase before creating similar utilities', | ||
| duplicateDetection: true, | ||
| preferredPattern: false | ||
| }); | ||
| } | ||
| // Handler pattern detection | ||
| if (fn.name.includes('handle') || fn.name.endsWith('Handler')) { | ||
| hints.push({ | ||
| context: `Function ${fn.name} follows handler pattern`, | ||
| recommendation: 'Follow established handler conventions for consistency', | ||
| duplicateDetection: false, | ||
| preferredPattern: true | ||
| }); | ||
| } | ||
| }); | ||
| return hints; | ||
| } | ||
| function isPublicFunction(fn) { | ||
| // Simple heuristic: exported or not starting with underscore | ||
| return !fn.name.startsWith('_') || fn.signature.includes('export'); | ||
| } | ||
| function extractModulePurpose(content, functions) { | ||
| // Try to find purpose from comments or function names | ||
| const docMatch = content.match(/\/\*\*[\s\S]*?\*\//); | ||
| if (docMatch) { | ||
| return docMatch[0].replace(/[\/\*\*]/g, '').trim().split('.')[0] + '.'; | ||
| } | ||
| // Infer from function names | ||
| const categories = { | ||
| 'util': 'Utility functions and helpers', | ||
| 'handler': 'Request/response handlers', | ||
| 'service': 'Business logic services', | ||
| 'config': 'Configuration management', | ||
| 'test': 'Testing utilities and mocks' | ||
| }; | ||
| for (const [key, purpose] of Object.entries(categories)) { | ||
| if (functions.some(fn => fn.name.toLowerCase().includes(key))) { | ||
| return purpose; | ||
| } | ||
| } | ||
| return 'Module functionality'; | ||
| } | ||
| function detectPatterns(functions, patterns, filePath) { | ||
| // Detect common patterns | ||
| functions.forEach(fn => { | ||
| // Factory pattern | ||
| if (fn.name.includes('create') || fn.name.includes('factory')) { | ||
| const patternName = 'Factory Pattern'; | ||
| if (!patterns[patternName]) { | ||
| patterns[patternName] = { | ||
| name: patternName, | ||
| description: 'Creates objects without specifying exact classes', | ||
| examples: [], | ||
| whenToUse: ['When object creation logic is complex', 'When you want to decouple client from concrete classes'], | ||
| whenToAvoid: ['When object creation is simple', 'When there are only a few object types'] | ||
| }; | ||
| } | ||
| patterns[patternName].examples.push(`${fn.name} in ${filePath}`); | ||
| } | ||
| // Singleton pattern | ||
| if (fn.name.includes('getInstance') || fn.signature.includes('static')) { | ||
| const patternName = 'Singleton Pattern'; | ||
| if (!patterns[patternName]) { | ||
| patterns[patternName] = { | ||
| name: patternName, | ||
| description: 'Ensures a class has only one instance', | ||
| examples: [], | ||
| whenToUse: ['When exactly one instance is needed', 'For global state management'], | ||
| whenToAvoid: ['When multiple instances are acceptable', 'For testability concerns'] | ||
| }; | ||
| } | ||
| patterns[patternName].examples.push(`${fn.name} in ${filePath}`); | ||
| } | ||
| }); | ||
| } | ||
| function detectConventions(content, conventions, filePath) { | ||
| // Naming conventions | ||
| const camelCaseMatches = content.matchAll(/\b[a-z][a-zA-Z0-9]*\b/g); | ||
| const snakeCaseMatches = content.matchAll(/\b[a-z][a-z0-9_]*\b/g); | ||
| if (camelCaseMatches) { | ||
| conventions.naming[filePath] = 'camelCase'; | ||
| } | ||
| else if (snakeCaseMatches) { | ||
| conventions.naming[filePath] = 'snake_case'; | ||
| } | ||
| } | ||
| function generateCrossReferences(pages) { | ||
| const crossRefs = []; | ||
| // Find similar functions across pages | ||
| for (let i = 0; i < pages.length; i++) { | ||
| for (let j = i + 1; j < pages.length; j++) { | ||
| const page1 = pages[i]; | ||
| const page2 = pages[j]; | ||
| // Check for similar function names | ||
| for (const fn1 of page1.functions) { | ||
| for (const fn2 of page2.functions) { | ||
| const similarity = calculateFunctionSimilarity(fn1, fn2); | ||
| if (similarity > 0.8) { | ||
| crossRefs.push({ | ||
| from: `${page1.path}:${fn1}`, | ||
| to: `${page2.path}:${fn2}`, | ||
| type: 'similar', | ||
| confidence: similarity | ||
| }); | ||
| } | ||
| } | ||
| } | ||
| } | ||
| } | ||
| return crossRefs; | ||
| } | ||
| function calculateFunctionSimilarity(fn1, fn2) { | ||
| // Simple similarity based on name patterns | ||
| if (fn1 === fn2) | ||
| return 1.0; | ||
| // Check for common prefixes/suffixes | ||
| const commonPatterns = ['get', 'set', 'create', 'update', 'delete', 'handle', 'process']; | ||
| for (const pattern of commonPatterns) { | ||
| if (fn1.includes(pattern) && fn2.includes(pattern)) { | ||
| const rest1 = fn1.replace(pattern, ''); | ||
| const rest2 = fn2.replace(pattern, ''); | ||
| if (rest1.length > 2 && rest2.length > 2) { | ||
| return Math.min(rest1.includes(rest2) ? 0.9 : 0, rest2.includes(rest1) ? 0.9 : 0); | ||
| } | ||
| } | ||
| } | ||
| return 0; | ||
| } | ||
| function generateMarkdownSitemap(sitemap, detailLevel) { | ||
| let output = `# 📚 Documentation Sitemap | ||
| *Generated by CodeSort Server v2.2.0* | ||
| ## 🎯 AI Usage Guidelines | ||
| ### 🤖 Before Creating New Functions: | ||
| 1. **Search this sitemap** for similar implementations | ||
| 2. **Check cross-references** for potential duplicates | ||
| 3. **Review AI hints** for each relevant module | ||
| 4. **Follow established patterns** and conventions | ||
| ### 🔍 Duplicate Detection Priority: | ||
| - High similarity (>0.8) = Strong duplicate candidate | ||
| - Medium similarity (0.6-0.8) = Review recommended | ||
| - Low similarity (<0.6) = Likely different functionality | ||
| --- | ||
| ## 📋 Module Overview | ||
| `; | ||
| // Generate module pages | ||
| for (const page of sitemap.pages) { | ||
| output += generatePageDocumentation(page, detailLevel); | ||
| } | ||
| // Add cross-references | ||
| if (sitemap.crossReferences.length > 0) { | ||
| output += ` | ||
| ## 🔄 Cross-References & Potential Duplicates | ||
| **⚠️ High Priority Review (Similarity > 0.8):** | ||
| ${sitemap.crossReferences | ||
| .filter(ref => ref.confidence > 0.8) | ||
| .slice(0, 10) | ||
| .map(ref => `- \`${ref.from}\` ↔️ \`${ref.to}\` (${Math.round(ref.confidence * 100)}% similar)`) | ||
| .join('\n')} | ||
| **🔍 Medium Priority Review (Similarity 0.6-0.8):** | ||
| ${sitemap.crossReferences | ||
| .filter(ref => ref.confidence > 0.6 && ref.confidence <= 0.8) | ||
| .slice(0, 10) | ||
| .map(ref => `- \`${ref.from}\` ↔️ \`${ref.to}\` (${Math.round(ref.confidence * 100)}% similar)`) | ||
| .join('\n')} | ||
| `; | ||
| } | ||
| // Add patterns and conventions | ||
| if (Object.keys(sitemap.aiContext.patterns).length > 0) { | ||
| output += ` | ||
| ## 🎨 Established Patterns | ||
| ${Object.entries(sitemap.aiContext.patterns) | ||
| .map(([_name, pattern]) => ` | ||
| ### ${pattern.name} | ||
| **Description:** ${pattern.description} | ||
| **When to Use:** ${pattern.whenToUse.join(', ')} | ||
| **When to Avoid:** ${pattern.whenToAvoid.join(', ')} | ||
| **Examples:** ${pattern.examples.join(', ')} | ||
| `).join('')} | ||
| `; | ||
| } | ||
| output += ` | ||
| --- | ||
| ## 🚀 AI Integration Tips | ||
| ### For Claude CLI/Claude Desktop: | ||
| 1. **Always reference** this sitemap when suggesting new functions | ||
| 2. **Check cross-references** before implementing similar functionality | ||
| 3. **Follow detected patterns** for consistency | ||
| 4. **Use existing utilities** instead of creating duplicates | ||
| ### Quick Reference Commands: | ||
| - \`analyze_codebase\` - Full project analysis | ||
| - \`documentation_sitemap\` - Generate this sitemap | ||
| - \`search_functions\` - Find specific functions | ||
| - \`find_dependencies\` - Check module relationships | ||
| **📌 Tip:** Run \`documentation_sitemap\` regularly to keep this reference updated! | ||
| `; | ||
| return output; | ||
| } | ||
| function generatePageDocumentation(page, detailLevel) { | ||
| let doc = ` | ||
| ### 📄 ${page.title} | ||
| **Path:** \`${page.path}\` | ||
| **Description:** ${page.description} | ||
| `; | ||
| if (detailLevel !== 'summary') { | ||
| doc += `**Functions (${page.functions.length}):** ${page.functions.slice(0, 10).join(', ')}${page.functions.length > 10 ? '...' : ''} | ||
| `; | ||
| if (page.dependencies.length > 0) { | ||
| doc += `**Dependencies:** ${page.dependencies.slice(0, 5).join(', ')}${page.dependencies.length > 5 ? '...' : ''} | ||
| `; | ||
| } | ||
| } | ||
| if (page.aiHints.length > 0) { | ||
| doc += `**🤖 AI Guidelines:** | ||
| ${page.aiHints.map(hint => `- ${hint.recommendation}`).join('\n')} | ||
| `; | ||
| } | ||
| return doc; | ||
| } | ||
| function generateAIContextOutput(sitemap) { | ||
| return JSON.stringify({ | ||
| version: '1.0', | ||
| generated: new Date().toISOString(), | ||
| modules: sitemap.aiContext.modules, | ||
| patterns: sitemap.aiContext.patterns, | ||
| conventions: sitemap.aiContext.conventions, | ||
| crossReferences: sitemap.crossReferences, | ||
| aiUsage: { | ||
| priority: 'Check crossReferences for duplicates first', | ||
| workflow: [ | ||
| '1. Search existing modules', | ||
| '2. Review similar functions', | ||
| '3. Follow established patterns', | ||
| '4. Use detected conventions' | ||
| ] | ||
| } | ||
| }, null, 2); | ||
| } | ||
| // Resource handlers | ||
@@ -920,15 +1562,19 @@ server.setRequestHandler(ListResourcesRequestSchema, async () => { | ||
| - \`security_scan\` - Scan code for common security vulnerabilities and anti-patterns | ||
| - \`documentation_sitemap\` - Generate comprehensive documentation sitemap with AI awareness metadata | ||
| ## 🎯 Getting Started | ||
| 1. Run \`analyze_codebase\` to see project structure and detect issues | ||
| 2. Use \`find_dependencies\` to understand module relationships | ||
| 3. Run \`security_scan\` to identify potential security issues | ||
| 4. Use \`search_functions\` to find specific code patterns | ||
| 1. Run \`documentation_sitemap\` to generate AI-aware documentation overview | ||
| 2. Use \`analyze_codebase\` to see project structure and detect issues | ||
| 3. Use \`find_dependencies\` to understand module relationships | ||
| 4. Run \`security_scan\` to identify potential security issues | ||
| 5. Use \`search_functions\` to find specific code patterns | ||
| ## 💡 Pro Tips | ||
| - Generate \`documentation_sitemap\` first to understand your codebase structure | ||
| - Use \`find_dependencies\` before refactoring to avoid breaking changes | ||
| - Run \`security_scan\` regularly to catch security issues early | ||
| - Combine tools for comprehensive code analysis | ||
| - Use sitemap cross-references to identify potential duplicates before coding | ||
| *Generated by CodeSort Server v2.1.0*`; | ||
| *Generated by CodeSort Server v2.2.0*`; | ||
| return { | ||
@@ -944,3 +1590,3 @@ contents: [{ uri, mimeType: 'text/markdown', text: content }] | ||
| await server.connect(transport); | ||
| console.error('CodeSort MCP Server v2.1.0 running on stdio'); | ||
| console.error('CodeSort MCP Server v2.2.0 running on stdio'); | ||
| } | ||
@@ -947,0 +1593,0 @@ main().catch((error) => { |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/server/index.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/server/index.ts"],"names":[],"mappings":"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"} |
+1
-1
| { | ||
| "name": "codesort-server", | ||
| "version": "2.1.1-beta", | ||
| "version": "2.2.0", | ||
| "description": "🚀 CodeSort Server v2.0.0 - Simplified, robust MCP server for code analysis. Works with Claude Desktop, Claude CLI, and other AI tools. Zero configuration required.", | ||
@@ -5,0 +5,0 @@ "main": "dist/src/server/index.js", |
Filesystem access
Supply chain riskAccesses the file system, and could potentially read sensitive data.
Found 1 instance in 1 package
Long strings
Supply chain riskContains long string literals, which may be a sign of obfuscated or packed code.
Found 1 instance in 1 package
Obfuscated code
Supply chain riskObfuscated files are intentionally packed to hide their behavior. This could be a sign of malware.
Found 1 instance in 1 package
Filesystem access
Supply chain riskAccesses the file system, and could potentially read sensitive data.
Found 1 instance in 1 package
Long strings
Supply chain riskContains long string literals, which may be a sign of obfuscated or packed code.
Found 1 instance in 1 package
No v1
QualityPackage is not semver >=1. This means it is not stable and does not support ^ ranges.
Found 1 instance in 1 package
150541
45.67%1898
48.4%1
-50%0
-100%11
57.14%