diff
apothem diff コマンドの CLI リファレンス。
単一のハーネスについて、保留中の構成変更をプレビューします。
構文
apothem diff --harness NAME [--profile PATH] [--project PATH]
[--quiet|-q] [--verbose|-v]
[--format plain|json] [--json] [--no-color]diff は読み取り専用の検査コマンドです。
install コマンドが実行するのと同じマテリアライズ処理を実行しますが、ドライランモードで実行するため、ディスクには何も書き込まれません。
保留中の各ターゲットについて、平易な言葉で表したアクション(たとえば Write file、Merge directory、Install skills、Prune stale files)、ターゲットパス、プレビューステータス(would create、would update、would remove、no change のいずれか)、そして(マージされることになるオペレーター所有のアンカーについては)変更の統一差分をレンダリングします。
ステータスはソースを現在のディスク上のターゲットと比較して算出されるため、すでに一致しているターゲットは no change と表示され、デフォルトのビューには表示されません。
これは、変更を加えることなく、「今この時点で apothem install はこのハーネスに何をするか?」という問いに答えるものです。
プランは、インストールが書き込むすべてのパスを対象とします。マニフェストのエントリ、ハーネス自身の設定ファイル(たとえば opencode.json や config.yaml)、共有プロファイルが投影される命令アンカーまたはプロファイルドキュメント(CLAUDE.md など)、そして .apothem/ 配下の共有データストアです。
インストールの直後には、diff は保留中の変更がないと報告します。その時点で再インストールしても何も書き込まれず、新しいバックアップも作成されません。
install --dry-run も同じプランを表示します。
スキルをホームディレクトリに書き込むアダプターについては、プランはそれらのフォルダーをホームのパスとともに、プロジェクトのファイルより前に列挙し、Apothem が書き込んだものではないスキルフォルダーは skill_conflict 警告として表示されます。
オペレーター所有のターゲット(あなた自身のコンテンツと Apothem 管理のブロックの両方を含むファイル)については、差分は変更されることになる正確な行を示します。 その他のターゲットについては、計画されたアクションとプレビューステータスが要約されます。
デフォルトのビューには、保留中の変更のみが一覧表示されます。
変更のないターゲットを含む完全なプランを、生の内部操作種別と結果の注釈付きで表示するには、--verbose を渡します。
--json のエンベロープは表示レイヤーの影響を受けません。機械的な利用者のために、常に生の operation フィールドと outcome フィールドを含みます。
diff は単一のハーネスに対して動作します。
install や verify とは異なり、all は受け付けません。ハーネス名を 1 つ渡してください。
オプション
| オプション | 説明 |
|---|---|
--harness NAME | プレビューするハーネスアダプター(必須。all ではなく単一のハーネス)。 |
--profile PATH | 共有プロファイル YAML へのパス。デフォルトは ~/.config/apothem/profile.yaml です。 |
--project PATH | プロジェクトスコープのハーネス向けのプロジェクトルート。選択したハーネスがプロジェクトスコープの場合は必須です。 |
--quiet, -q | 情報出力を抑制し、エラーのみを出力します。 |
--verbose, -v | 変更のないターゲットを含む完全なプランを、生の操作種別と結果の注釈付きで表示します。 |
--format plain|json | 出力形式(デフォルト: plain)。 |
--json | --format json の短縮形です。 |
--no-color | 出力中の ANSI カラーコードを無効にします。 |
-h, --help | ヘルプを表示して終了します。 |
JSON 出力
--json のエンベロープは、ドライランの install のエンベロープと同じ形をとります。
status は dry_run、files_written は常に空で、materialization ブロックと results リストが、計画されたターゲットの詳細をすべて含みます。
オペレーター所有の各結果行の detail.diff フィールドには、統一差分の文字列が含まれます。
{
"schema_version": 1,
"status": "dry_run",
"command": "diff",
"action": "dry_run",
"harness": "claude-code",
"files_written": [],
"results": [
{
"harness": "claude-code",
"outcome": "updated",
"operation": "sentinel_merge",
"path": "C:\\Users\\Example\\.claude\\CLAUDE.md",
"message": "dry run: no filesystem changes made",
"detail": {
"ownership_class": "operator-owned",
"diff": "--- a/CLAUDE.md\n+++ b/CLAUDE.md\n@@ ..."
}
}
],
"warnings": [],
"error": null,
"materialization": { "...": "..." }
}例
apothem diff --harness claude-code
apothem diff --harness cursor --project .
apothem diff --harness claude-code --json終了コード
| コード | 意味 |
|---|---|
| 0 | 差分を報告した(保留中の変更は報告されるものであり、エラーではない) |
| 1 | 予期される検証、プロファイル、ハーネス、またはプロジェクトのエラー |
| 64 | 使用法エラー: 不明なオプションまたはコマンド、あるいは欠落した、または無効なオプション値。--json の下では、エラーはコード cli.usage を持つ JSON エンベロープになります。 |
関連項目
- apothem status — すべてのハーネスについてインストール/検証/ドリフトの状態を報告する
- apothem verify — ハーネスアダプターのインストールを検証する
- apothem install — プレビューした変更を適用する