mcp-ai-agent-guidelines
Version:
A comprehensive Model Context Protocol server providing advanced tools, resources, and prompts for implementing AI agent best practices
116 lines • 3.05 kB
TypeScript
/**
* Project Scanner - Real Project Directory Scanner
*
* Scans project directories to extract structure, dependencies, frameworks, and configuration.
* Used by project-onboarding to generate accurate, project-specific documentation.
*/
/**
* Project type classification
*/
export type ProjectType = "typescript" | "javascript" | "python" | "go" | "rust" | "java" | "cpp" | "c" | "csharp" | "php" | "ruby" | "scala" | "kotlin" | "swift" | "objectivec" | "r" | "julia" | "haskell" | "lua" | "elixir" | "polyglot" | "unknown";
/**
* Dependency information
*/
export interface Dependency {
name: string;
version: string;
isDevDependency: boolean;
}
/**
* Framework detection result
*/
export interface Framework {
name: string;
version?: string;
confidence: "high" | "medium" | "low";
}
/**
* Configuration file information
*/
export interface ConfigFile {
name: string;
path: string;
type: "json" | "yaml" | "yml" | "toml" | "xml" | "ini" | "properties" | "hcl" | "env" | "conf" | "cfg" | "other";
}
/**
* Directory tree node
*/
export interface DirectoryNode {
name: string;
type: "file" | "directory";
children?: DirectoryNode[];
}
/**
* Scan options
*/
export interface ScanOptions {
maxDepth?: number;
includeNodeModules?: boolean;
includeDotFiles?: boolean;
}
/**
* Complete project structure
*/
export interface ProjectStructure {
name: string;
type: ProjectType;
rootPath: string;
entryPoints: string[];
dependencies: Dependency[];
devDependencies: Dependency[];
scripts: Record<string, string>;
frameworks: Framework[];
configFiles: ConfigFile[];
directoryStructure: DirectoryNode;
}
/**
* ProjectScanner class - scans real project directories
*/
export declare class ProjectScanner {
private readonly defaultOptions;
/**
* Scan a project directory and extract structure
*/
scan(projectPath: string, options?: ScanOptions): Promise<ProjectStructure>;
/**
* Validate that the path exists and is a directory
*/
private validatePath;
/**
* Recursively scan directory structure with depth limiting
*/
private scanDirectory;
/**
* Find all configuration files in the project root
*/
private findConfigFiles;
/**
* Parse package.json if it exists
*/
private parsePackageJson;
/**
* Parse tsconfig.json if it exists
*/
private parseTsconfig;
/**
* Detect project type based on config files
*/
private detectProjectType;
/**
* Detect frameworks from package.json and config files
*/
private detectFrameworks;
/**
* Extract dependencies from package.json
*/
private extractDependencies;
/**
* Find entry points based on package.json, tsconfig.json, and common patterns
*/
private findEntryPoints;
}
/**
* Singleton instance for easy import
*/
export declare const projectScanner: ProjectScanner;
//# sourceMappingURL=project-scanner.d.ts.map