このプロジェクトについて

Clean Wizardは、macOSおよびLinux開発マシン上のディスク容量を回収するためのコマンドラインユーティリティです。古いNix世代、Homebrewダウンロード、Dockerイメージとボリューム、CargoおよびGoキャッシュ、npm/pnpm/yarn/bunキャッシュ、Gradle/Maven/SBTアーティファクト、Xcode DerivedData、CocoaPods、pip、ccache、一時ファイル、古いコンパイル済みバイナリ、大きなgit blob、golangci-lintキャッシュなど、古くなったデータを対象とする13種類の専用クリーナーを備えています。 各クリーナーは、対象ツールがインストールされているかどうかを検出し、失敗する代わりに利用できないものをスキップします。クイック(安全なサブセット)、標準(利用可能な全クリーナー)、アグレッシブ(システムキャッシュとDockerボリューム全体を含む)の3つのプリセットモードが用意されています。 安全機能には、ファイルシステムに触れずにアクションをプレビューするドライランモード、削除前の確認ダイアログ、現在のNix世代の保護、一時的な失敗を再試行し利用できないツールをスキップするエラー分類が含まれます。 使用法は2つのコマンドが中心です:クリーンアップ用の`clean-wizard clean`と、何も削除せずに回収可能な容量を報告する`clean-wizard scan`です。フラグは、モード選択、設定パスとプロファイル、ドライラン、JSON出力、詳細ログ、プロンプトスキップ、再試行回数とプロファイル、並行性制限をカバーします。設定はYAMLファイル(通常は~/.config/clean-wizard/config.yaml)から読み込まれ、カスタムプリセット、Nix世代保持、Dockerタイムアウトとボリューム包含、一時ファイルの経過時間と除外ルールを許可します。 このプロジェクトはGoで書かれており、ビルド時にGOEXPERIMENT=jsonv2が必要です。または、それを自動設定するNix devShellを使用します。そのアーキテクチャは、キャッシュタイプ用の型安全な列挙型、スレッドセーフなクリーナーレジストリ、samber/do v2による依存性注入、並列実行と再試行を備えたAzure/go-workflowに基づくワークフローエンジン、Result[T]関数型エラー処理タイプ、再試行と終了コード決定を駆動するエラー分類を使用します。READMEには、このプロジェクトには単体、統合、BDD(Ginkgo)、ベンチマーク、ファジングテストを含む300以上のテストがあると記載されています。 Clean Wizardは、POSIXシェルスクリプトであるSystemNixの後継として提示されており、ドライラン、対話型TUI、JSON出力、YAMLプロファイル、分類されたエラー処理を追加しています。MITライセンスで、ドキュメントはcleanwizard.lars.softwareでホストされています。