-
Notifications
You must be signed in to change notification settings - Fork 4
Open
Description
Phase 4: Cleanup Modules
Implement DevTools orchestrator module with sub-cleaners for Maven, Gradle, Node, Python, SDKMAN.
Main Module
In Infrastructure/Modules/DevTools/DevToolsModule.cs
- Implements
ICleanupModule - Orchestrates all sub-cleaners
- Supports nuclear mode
Sub-Cleaners to Implement
MavenCleaner
In Infrastructure/Modules/DevTools/MavenCleaner.cs
- Standard: Clear dependency cache -
clear_maven_dependency_cache - Nuclear: Delete entire repository (~/.m2/repository) -
nuclear_maven_clean
GradleCleaner
In Infrastructure/Modules/DevTools/GradleCleaner.cs
- Standard: Remove outdated caches -
remove_outdated_gradle_caches - Standard: Clear cache completely -
clear_gradle_cache_completely - Nuclear: Delete caches + wrapper -
nuclear_gradle_clean
NodeCleaner
In Infrastructure/Modules/DevTools/NodeCleaner.cs
- Standard: Clear npm/yarn/pnpm caches -
clear_node_package_caches - Standard: Clear nvm cache -
clear_nvm_cache - Nuclear: Delete entire npm directory -
nuclear_node_clean
PythonCleaner
In Infrastructure/Modules/DevTools/PythonCleaner.cs
- Clear pip caches
- Clear poetry caches
- From bash
src/modules/package-managers/python.sh
SdkmanCleaner
In Infrastructure/Modules/DevTools/SdkmanCleaner.cs
- Clear SDKMAN tmp directory
- From bash
src/modules/package-managers/sdkman.sh
Features
AnalyzeAsync
- Run analyze on all sub-cleaners
- Aggregate
CleanupTargetlists - Show nuclear mode warning if applicable
CleanAsync (Standard Mode)
- Run cleanup on all sub-cleaners
- Aggregate results
CleanAsync (Nuclear Mode)
From bash src/modules/devtools.sh nuclear_devtools_clean:
- Show what will be deleted
- Require "yes" confirmation (ConfirmationLevel.Nuclear)
- Delete ALL caches across all tools
- NEVER auto-confirm, even with --force
Properties
Name: ModuleName.DevToolsDescription: "Clean dev tools (Maven, Gradle, Node, Python, SDKMAN)"IsDestructive: true (nuclear mode)IsAvailableOnPlatform: true for all (SDKMAN skip on Windows)
Tests to Port
All in tests/Infrastructure/Modules/DevTools/DevToolsModuleTests.cs
Port tests from bash tests/unit/devtools_test.sh:
- Each sub-cleaner independently
- Nuclear mode orchestration
- Confirmation requirements
- Size estimation
Definition of Done
- All 5 sub-cleaners implemented
- DevToolsModule orchestrates correctly
- Nuclear mode with proper confirmation
- All bash tests ported
- ~5-15GB typical recovery
Reactions are currently unavailable