Derived について
Derivedは、Xcode、Simulator、XCTestが作成したストレージを調査・整理するローカルmacOSアプリ、CLI、MCPサーバーです。回収可能な容量を検証し、期限付きプラン、確認、対象の再検証を経て完全削除します。
主な機能
- 01Xcode、Simulator、XCTestのストレージをスキャン
- 02回収可能容量とAPFSクローンサイズを分けて表示
- 03カテゴリと推奨度で候補を分類
- 04選択したクリーンアップを予約し、ローカル履歴を記録
- 05対象を検証し、使用中または高リスクのデータを保護
活用シーン
- 01開発用ストレージの回収可能容量を調査
- 02選択したデータの削除前に候補を確認
- 03Derived Data、ログ、キャッシュの整理を予約
- 04スクリプトやコーディングエージェントからスキャンを実行
MCP 対応
ローカルの`derived-mcp`サーバーは、MCPクライアントに構造化されたクリーンアップ機能を提供します。アプリやCLIとスキャナー、パス検証、安全制御を共有します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Derived
Xcode、Simulator、XCTest によって作成されたストレージを調査、削除するための、macOS ネイティブのメニューバーアプリケーションです。
注意
Derived は、選択した開発者データをごみ箱に移動せず、完全に削除します。削除を確定する前に、クリーンアップ計画を確認してください。
概要
Derived は、Xcode、Simulator、XCTest によって作成されたストレージを検出して削除します。回収可能であることが検証された空き容量を報告し、APFS クローンのサイズを分けて表示して、使用中の対象やリスクの高い対象を保護します。
Derived は、macOS アプリ、derived CLI、またはローカルの derived-mcp サーバーから利用できます。3 つのインターフェースはすべて、同じスキャナー、パス検証、クリーンアップのワークフローを使用します。Derived はローカルで動作し、分析データを収集しません。
| インターフェース | 用途 |
|---|---|
| macOS アプリ | 対話形式でのスキャン、クリーンアップ対象の選択、スケジュール設定、履歴の確認 |
| CLI | ターミナルでのワークフロー、シェルスクリプト、構造化された JSON 出力 |
| MCP サーバー | Codex、Claude Code、Cursor、その他の MCP クライアントからの構造化アクセス |
macOS アプリをインストールする
Homebrew(推奨)
brew tap adiaz0511/derived
brew trust adiaz0511/derived
brew install --cask derived
サードパーティの tap を信頼するために、信頼コマンドを一度実行する必要があります。
アプリを更新するには、次のコマンドを実行します。
brew update
brew upgrade --cask derived
ディスクイメージ
- 最新の GitHub リリースから DMG をダウンロードします。
- ディスクイメージを開きます。
Derived.appを Applications にドラッグします。- Applications から Derived を開きます。
CLI と MCP サーバーをインストールする
エージェントツールには、derived CLI、derived-mcp サーバー、derived-cleanup スキルが含まれます。macOS アプリは必要ありません。
Homebrew(推奨)
brew tap adiaz0511/derived
brew trust adiaz0511/derived
brew install --cask derived-tools
derived integrations install
derived integrations install は、Mac 上の Codex、Claude Code、Cursor を検出します。検出された各クライアントに対して、MCP サーバーを登録し、スキルをインストールします。
ツールを更新し、連携機能を再設定するには、次のコマンドを実行します。
derived integrations update
CLI は、対話型コマンドの実行中に、新しいバージョンがあるかどうかを最大で 1 日に 1 回確認します。更新通知は JSON 出力や MCP 出力には表示されません。
ディスクイメージ
最新の Derived DMG には、Homebrew を使わずにインストールできる Derived Agent Tools も含まれています。
- DMG を開きます。
- Derived Agent Tools を開きます。
- Install for Codex を選択します。
- Codex を再起動します。
アプリと DMG からインストールしたツールの両方がある場合、アプリの更新後に Derived がツールの更新を案内します。アプリがない場合は、最新の DMG をダウンロードして、Derived Agent Tools をもう一度実行してください。
MCPB によるインストール
MCPB バンドルに対応したクライアントは、最新リリースから Derived-MCP-VERSION-macOS-universal.mcpb をインストールできます。MCPB には MCP サーバーが含まれますが、derived CLI やポータブルスキルはインストールされません。
コーディングエージェントで Derived を使う
設定済みのクライアントを確認します。
derived --version
derived integrations status
次に、Codex、Claude Code、または Cursor で新しいセッションを開始し、次のように依頼します。
Use $derived-cleanup to scan my developer storage.
クライアントごとのコマンド、手動設定、アンインストール方法については、エージェント連携を参照してください。
CLI を使用する
CLI は、対話的な使用向けに整列されたテーブルを、スクリプトやエージェント向けに JSON を出力します。
| コマンド | 目的 |
|---|---|
derived scan | Xcode、Simulator、XCTest のストレージをスキャンし、スキャン ID を出力します |
derived list | 前回のスキャンから、1 つのカテゴリの候補を一覧表示します |
derived prepare | 選択した項目またはカテゴリの、有効期限付きクリーンアップ計画を作成します |
derived delete | 正確な確認フレーズを指定して、準備済みの計画を実行します |
derived integrations install | 対応するコーディングエージェント向けに、MCP サーバーとスキルを設定します |
derived integrations status | インストール済みのエージェント連携を報告します |
derived integrations update | Homebrew で管理されているツールを更新し、連携を再読み込みします |
まずスキャンを実行します。
derived --version
derived scan
derived scan が出力したスキャン ID を使ってカテゴリを調べ、計画を準備します。
derived list --scan SCAN_ID --category derivedData --limit 20
derived prepare --scan SCAN_ID --category previewData
SCAN_ID はスキャンで出力された UUID に置き換えてください。山括弧は含めないでください。prepare コマンドは、その計画の正確な確認フレーズと完全な derived delete コマンドを出力します。
別のプログラムで出力を使用する場合は、--json を使います。
derived scan --json
derived list --scan SCAN_ID --category derivedData --limit 20 --json
スキャン ID の有効期限は 30 分です。クリーンアップ計画の有効期限は 10 分で、一度だけ実行できます。
機能
ストレージの検出
- Derived Data、SwiftUI プレビュー、XCTest デバイス、シミュレーター、ランタイム、Device Support、ログ、キャッシュ、アーカイブ、一時データをスキャンします。
- 回収可能と確認されたバイト数と、APFS クローンの論理サイズを分けて報告します。
- クリーンアップ候補をカテゴリと推奨ステータス別にグループ化します。
クリーンアップと自動化
- 個々の候補、カテゴリ全体、または複数カテゴリにまたがる選択項目をクリーンアップします。
simctlを使い、サポートされているシステム操作を通じてシミュレーターデバイスとランタイムを削除します。- Derived Data、Xcode ログ、Xcode キャッシュのクリーンアップをスケジュールします。
- ログイン時に起動する機能をサポートし、ローカルの JSON Lines クリーンアップ履歴を保持します。
安全性
- 開発ツールが実行中かどうかを検出し、アクティブな対象を保護します。
- 削除前に、有効期限付きのクリーンアップ計画と正確な確認を要求します。
- クリーンアップの直前に、すべての候補を再検証します。
- アーカイブやシミュレーターのランタイムを自動的に選択することはありません。
安全性モデル
Derived は、固定された許可リストに照らして、すべてのクリーンアップ対象を検証します。カテゴリのルート、承認済みの開発者ディレクトリ外のパス、不正なシミュレーター識別子、アクティブな対象、シンボリックリンクによる範囲外へのアクセス、計画作成後に変更された候補を拒否します。
自動クリーンアップは、関連する開発ツールが終了するまで待機し、プロセスを検査できない場合は安全に失敗します。XCTest の APFS クローンサイズは論理サイズとして報告され、回収可能と確認された合計から除外されます。
削除モデルと承認済みパスの全容については、安全性をご覧ください。
要件
Derived の実行
- macOS 14.0 以降
- Simulator の検出と
simctlを利用したクリーンアップには Xcode が必要です
DMG には、ビルド済みのユニバーサルアプリケーションとコマンドラインツールが含まれています。ソースからビルドする必要はありません。
Derived は、~/Library/Developer 内のファイルを管理し、xcrun simctl を呼び出すため、意図的にサンドボックス化されていません。
ソースからのビルド
- Xcode 26.4 以降
- Swift 6.2 ツールチェーン
リポジトリをクローンし、Derived.xcodeproj を開いて、Derived スキームを選択し、macOS ターゲットをビルドします。
コマンドラインでのビルド:
xcodebuild \
-project Derived.xcodeproj \
-scheme Derived \
-configuration Debug \
-derivedDataPath /tmp/DerivedBuild \
CODE_SIGNING_ALLOWED=NO \
build
アプリケーションのテストを実行します。
xcodebuild \
-project Derived.xcodeproj \
-scheme Derived \
-configuration Debug \
-destination 'platform=macOS' \
-derivedDataPath /tmp/DerivedTests \
CODE_SIGNING_ALLOWED=NO \
test
CLI と MCP サーバーをビルドしてテストします。
swift test
scripts/test-agent-protocol.sh
swift build -c release
ログイン時に起動する機能を利用するには、安定した場所にインストールされた署名済みアプリケーションが必要です。署名されていない開発ビルドでは動作しない場合があります。
プロジェクト構成
Derived/App:アプリケーションのライフサイクル、メニューバー項目、パネル管理Derived/Features:機能ごとに分類された SwiftUI のプレゼンテーションDerived/Models:クリーンアップ、スキャン、自動化、レポート用のモデルDerived/Services:スキャン、検証、プロセスの調査、削除、永続化Derived/Shared:共有の書式設定とデザイン定数Derived/AgentIntegration:共有 CLI および MCP モデル、状態、安全性を確保するワークフローDerivedTests:安全性と動作のテストDerivedCLITests:CLI の引数、バージョン、人間が読み取れる出力のテストDerivedCoreTests:エージェント統合と破壊的操作の安全対策Tools:ネイティブ CLI および MCP 実行ファイルIntegrations:ポータブルなエージェントスキルとパッケージメタデータ
プライバシー
Derived はローカルで動作します。分析、広告、アカウント、ネットワークサービスは含まれていません。プライバシーをご覧ください。
コントリビューション
コントリビューションを歓迎します。スキャナー、検証、削除の動作を変更する前に、コントリビューションガイドをお読みください。
メンテナーは、署名、公証、DMG の生成、MCP の公開について、Derived のリリースに従ってください。
ライセンス
Derived はMIT ライセンスのもとで公開されています。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。