About this project

Clean Wizard is a command-line utility for reclaiming disk space on macOS and Linux development machines. It bundles 13 specialized cleaners that target stale data such as old Nix generations, Homebrew downloads, Docker images and volumes, Cargo and Go caches, npm/pnpm/yarn/bun caches, Gradle/Maven/SBT artifacts, Xcode DerivedData, CocoaPods, pip and ccache, temporary files, stale compiled binaries, large git blobs and golangci-lint caches. Each cleaner detects whether its target tool is installed and skips unavailable ones rather than failing. Three preset modes are provided: quick (a safe subset), standard (all available cleaners) and aggressive (includes system caches and full Docker volumes). Safety features include a dry-run mode that previews actions without touching the filesystem, confirmation dialogs before deletion, protection of the current Nix generation, and error classification that retries transient failures while skipping unavailable tools. Usage is centered on two commands: `clean-wizard clean` for cleanup and `clean-wizard scan` to report reclaimable space without deleting anything. Flags cover mode selection, config path and profile, dry-run, JSON output, verbose logging, prompt skipping, retry count and profile, and concurrency limits. Configuration is loaded from a YAML file, typically at ~/.config/clean-wizard/config.yaml, allowing custom presets, Nix generation retention, Docker timeouts and volume inclusion, and temp-file age and exclusion rules. The project is written in Go and requires GOEXPERIMENT=jsonv2 when building, or a Nix devShell that sets it automatically. Its architecture uses type-safe enums for cache types, a thread-safe cleaner registry, dependency injection via samber/do v2, a workflow engine based on Azure/go-workflow with parallel execution and retry, a Result[T] functional error-handling type, and error classification driving retry and exit-code decisions. The README states the project has 300+ tests spanning unit, integration, BDD (Ginkgo), benchmarks and fuzz testing. Clean Wizard is presented as the successor to SystemNix, a POSIX shell script, adding dry-run, an interactive TUI, JSON output, YAML profiles and classified error handling. It is MIT licensed, with documentation hosted at cleanwizard.lars.software.