codedetective
Version:
AI-powered tool to analyze codebases, reconstruct development timelines, and suggest where to resume work
56 lines • 1.47 kB
TypeScript
export interface FileInfo {
path: string;
name: string;
extension: string;
size: number;
lastModified: Date;
content?: string;
preview?: string;
type: string;
category: FileCategory;
}
export interface DirectoryInfo {
path: string;
name: string;
files: FileInfo[];
subdirectories: DirectoryInfo[];
depth: number;
}
export interface RepositoryData {
rootPath: string;
name: string;
structure: DirectoryInfo;
filesByType: Record<string, FileInfo[]>;
filesByCategory: Record<string, FileInfo[]>;
totalFiles: number;
totalSize: number;
statistics: {
fileTypeDistribution: Record<string, number>;
fileCategoryDistribution: Record<string, number>;
largestFiles: FileInfo[];
recentlyModifiedFiles: FileInfo[];
};
}
export interface AnalyzerOptions {
directory: string;
maxDepth?: number;
includePattern?: string;
excludePattern?: string;
respectGitignore?: boolean;
category?: FileCategory;
}
export declare enum FileCategory {
CODE = "code",
FIGURE = "figure",
DATA_TABLE = "data_table",
DOCUMENT = "document",
ARCHIVE = "archive",
BINARY = "binary",
MEDIA = "media",
OTHER = "other"
}
/**
* Analyze repository and generate a comprehensive data structure
*/
export declare function analyzeRepository(options: AnalyzerOptions): Promise<RepositoryData>;
//# sourceMappingURL=analyzer.d.ts.map