mira-consciousness
Version:
Memory & Intelligence Retention Archive - Preserving The Spark
85 lines • 3.04 kB
TypeScript
/**
* 🧹 Cleanup Analyzer - Digital Marie Kondo for Your Codebase
* ==========================================================
*
* This analyzer helps identify "loose" files that may need cleanup - those files
* that accumulate over time like digital dust bunnies. It uses intelligent pattern
* recognition and context awareness to suggest potential cleanup candidates.
*
* Categories of files detected:
* - Scattered documentation (README_old.md, NOTES.md in wrong places)
* - Test artifacts and temporary test files
* - Backup files (*.bak, *_backup.*, file_copy.*)
* - Editor temporary files (.swp, ~, .DS_Store)
* - Version iteration files (v1, v2, final_final)
* - Build artifacts in wrong locations
* - Log files outside designated directories
* - Development experiments (scratch.*, playground.*)
* - Screenshots and media files in wrong places
*
* The analyzer is respectful and cautious - it only suggests, never deletes.
* It understands that one person's clutter might be another's treasure.
*/
export interface CleanupIssue {
file: string;
reason: string;
category: CleanupCategory;
severity: 'high' | 'medium' | 'low';
suggestion: string;
relatedFiles?: string[];
properLocation?: string;
safeToDelete: boolean;
lastModified: Date;
size: number;
}
export interface CleanupAnalysisResult {
score: number;
issues: CleanupIssue[];
totalSizeWasted: number;
categorySummary: Map<CleanupCategory, number>;
recommendations: string[];
safeCleanupCommands: string[];
}
export declare enum CleanupCategory {
SCATTERED_DOCS = "scattered_documentation",
TEST_ARTIFACTS = "test_artifacts",
BACKUP_FILES = "backup_files",
TEMP_FILES = "temporary_files",
VERSION_ITERATIONS = "version_iterations",
EDITOR_FILES = "editor_files",
BUILD_ARTIFACTS = "build_artifacts_misplaced",
LOG_FILES = "log_files_misplaced",
EXPERIMENTS = "development_experiments",
MEDIA_FILES = "media_files_misplaced",
ARCHIVE_FILES = "archive_files",
DUPLICATE_CONFIGS = "duplicate_configurations",
ABANDONED_FILES = "abandoned_files",
EMPTY_FILES = "empty_files"
}
export declare class CleanupAnalyzer {
private projectRoot;
private projectStructure;
private issues;
private readonly patterns;
constructor(projectRoot: string);
analyze(): Promise<CleanupAnalysisResult>;
private analyzeProjectStructure;
private analyzeProjectStructureAsync;
private getAllFiles;
private analyzeFile;
private matchesPattern;
private isGitIgnored;
private isPackageRoot;
private generateSuggestion;
private isSafeToDelete;
private suggestProperLocation;
private findRelatedFiles;
private findEmptyFiles;
private findAbandonedFiles;
private findDuplicateConfigs;
private calculateResults;
private generateRecommendations;
private generateCleanupCommands;
quickScan(): Promise<CleanupAnalysisResult>;
}
//# sourceMappingURL=CleanupAnalyzer.d.ts.map