ClaudeとDiskSageを作り始めた日 - 容量診断の体験をOSSプロダクトに変えるまで

ClaudeとDiskSageを作り始めた日 - 容量診断の体験をOSSプロダクトに変えるまで

Macの空き容量ゼロ問題を Claude と半日かけて解剖した(前記事)。iMobie 39GB の孤児バックアップ、VM スワップ 22GB、/Library 53GB など、一般的な容量管理ツールでは指摘してくれない問題が次々に出てきた。

その途中で、こんな感覚が湧いた。

「この診断プロセス、そのままプロダクトにならないか?」

既存の CleanMyMac や DaisyDisk はルールベースで自動削除するか、サイズを可視化するだけ。AI が中身を読んで「これは何か、消していいか」を提案するツールは、意外にも存在しない。

その日のうちに企画書と MVP を作ったのでその記録を残す。


発想の種:体験そのものが仕様になる

Claude との対話で発見したパターンは、そのまま DiskSage の検出パターンに転用できた。

当日の発見 DiskSage が検出すべきもの
iMobie 39GB、Manifest.db 欠損 iPhone バックアップ破損判定
VM スワップ 22GB 再起動推奨サイン
/Library 53GB ホーム外の共有アプリデータ
Ollama モデル 10.7GB 未使用 LLM モデル
Claude Desktop VM 8.7GB AI ツール実行環境(消してはいけない)
node_modules 累積 30 日未編集プロジェクトの提案

自分が痛い目に遭ったことを、そのまま製品仕様にできる。これが一番の差別化要素だと気付いた。


コアコンセプトを3つに絞る

これで自分なりの差別化ポジションが見えた。

既存プロダクトとの比較

観点 CleanMyMac DaisyDisk DiskSage
自動削除 あり(怖い) なし なし(絶対に実装しない)
判定の仕方 ルールベース ユーザー任せ AI判定 + ルール
OSS ✅ Apache-2.0
価格 ¥5,900/年 ¥1,500 無料 + Pro $5/月

技術選定

スタックをどうするかで悩んだが、最終的にこう決めた。

Phase 1(MVP): Bash CLI

Phase 3 以降: Rust + Tauri

AI 連携: Claude API(BYOK)


MVP を半日で作る

Claude とペアプロで、Bash スクリプト 1 ファイル(約 500 行)を書いた。

実装した機能

disksage scan              # 既知パターンをスキャン、Markdown レポート生成
disksage snapshot          # 現在のディスク使用量を記録
disksage trend             # 時系列の変化を表示(「一瞬で埋まる」を捕まえる)
disksage help              # ヘルプ

検出パターン(v0.1)

10 個のパターンをバンドル:

ハマりどころ:set -e

set -euo pipefail   # ❌ これで死ぬ

最終的に set -uo pipefail のみに留めて、個別の検出ロジックは失敗しても次に進むように書いた。これは後日の Rust 版でも「Result の扱い方」として同じ設計方針を継承する。


「提案方式」へのこだわり

今回の診断で、Claude から「これは消していい」と言われて、すぐ rm -rf を打つのは怖かった。実際、iMobie 39GB は自分のiPhoneバックアップが壊れた残骸だったが、壊れているかどうかを判定するまでに時間がかかった。

「怖いな」という感覚こそが市場ニーズそのものだと思う。CleanMyMac に任せると勝手に消されるのが怖い。でも手作業で dufind を叩き続けるのもしんどい。

DiskSage はその間を埋める:

UI のイメージは、Tinder 式のカード UI。1 件ずつ「残す / 外付けに退避 / ゴミ箱へ / 今は保留」を選ぶ。人間の判断速度に合わせる。


次のアクション

MVP はできた。OSS として公開するための残タスク:

短期目標:


OSS コミュニティの広げ方

「fork していってね」だけでは広がらない。必要なのは:

  1. ストーリーのある README — 作った人の痛みが伝わるもの
  2. Good First Issue が具体的に提示されていること
  3. コントリビューター向けドキュメント(パターンの追加方法など)
  4. Discord / X などコミュニティハブ
  5. 定期発信(Zenn, Qiita, dev.to, note)
  6. 最初のローンチの勢い(Hacker News、Product Hunt)

これは自分の nuko IME プロジェクト(LLM 時代の日本語 IME)にも同じ方法論が使える。結局のところ、OSS の成長は**「作者が継続的に存在していること」**が最大要因。


今日の個人的な学び


関連記事