easy-cheese-setup について
easy-cheese-setupは、Hallouminateの永続コーパスとリポジトリテナントを対話的に登録する技能です。セッションをまたいでプロジェクト成果物を検索したい利用者向けに、変更内容を先に提示し、確認後に適用します。
主な機能
- 01doctorによる変更の事前確認
- 02永続コーパスの登録
- 03リポジトリテナントの登録
- 04.cheese成果物ディレクトリの登録
- 05変更には確認と--applyが必要
活用シーン
- 01セッション横断検索用コーパスの設定
- 02.cheese成果物を含むリポジトリの登録
- 03成果物ディレクトリをマシン共通コーパスに追加
- 04適用前に登録修復の計画を確認
MCP 対応
Hallouminate MCPサーバーの事前インストールが必要で、対話型の登録プロセスを管理します。
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ paulnsorensen/ easy-cheese --skill easy-cheese-setupインストール後、Claude Code で/easy-cheese-setupを入力して読み込まれたか確認します。
同梱ファイルreferences/commands.mdwedge.toml
詳細
/easy-cheese-setup
永続的な cheese-durable Hallouminate コーパスを登録します。このコーパスにより、各プロジェクトの XDG アーティファクトをセッションをまたいで検索できます。
ユーザーから要求された場合、現在のリポジトリを Hallouminate テナントとして登録します。この処理は冪等です。データは削除しません。
エンジンは skills/easy-cheese-setup/scripts/easy-cheese-setup.pyz にある自己完結型のバンドルです。コマンドは4つあります。各コマンドは --apply を指定した場合にのみデータを変更します。このオプションを指定しない場合、各コマンドは報告のみを行います。
python3 skills/easy-cheese-setup/scripts/easy-cheese-setup.pyz global [--apply] # durable-corpus registration/repair
python3 skills/easy-cheese-setup/scripts/easy-cheese-setup.pyz local [--apply] # per-repository tenant registration
python3 skills/easy-cheese-setup/scripts/easy-cheese-setup.pyz artifacts [--apply] [--root PATH ...] # register every .cheese dir as one corpus
python3 skills/easy-cheese-setup/scripts/easy-cheese-setup.pyz doctor [--apply] # all three legs
最初に Hallouminate MCP サーバーをインストールしてください。README.md § Installing MCP servers を参照してください。このスキルは対話形式の登録プロセスを管理します。
フロー
まず --apply を指定せずに doctor を実行します。変更を加えずに、3つのすべての対象について予定されている操作を報告します。そのレポートを根拠として提示し、ユーザーに確認を求めます。承認された対象に限り適用します。
グローバル対象 — 永続コーパス
-
存在しない場合は、
paths.corpus_home()からディレクトリを作成します。この操作により Hallouminate issue #101 を防止します。 -
Hallouminate 設定ファイル内のマークされた
[[corpus]]ブロックを挿入または置換します。 -
設定ファイルには
config_path()を読み取ってアクセスします。デフォルトは~/.config/hallouminate/config.tomlです。 -
HALLOUMINATE_CONFIGとXDG_CONFIG_HOMEはこのデフォルトを上書きします。デフォルトのパスだと決めつけないでください。 -
開始マーカーには
# >>> easy-cheese:cheese-durableを使用します。 -
終了マーカーには
# <<< easy-cheese:cheese-durableを使用します。両方のマーカーに識別子を書き込みます。 -
識別子のない終了マーカーはブロックを閉じません。その場合、書き換えによってファイルの残りすべてが置き換えられます。
-
ブロックの参照先は
corpus_home()にします。2回目のglobal --applyではファイルは変更されません。 -
別の場所を参照しているマーク済みブロックを修正するには、
--applyを使用します。 -
レガシーの移行にはユーザーとのやり取りが必要です。 マークされていない
cheese-global → ~/.cheeseブロックは古いものです。レポートを表示し、ユーザーに確認を求めてください。その後、明示的な移行オプションを使用します。インストーラーはこのオプションを使用しません。python3 skills/easy-cheese-setup/scripts/easy-cheese-setup.pyz global --migrate-legacy --apply~/.cheese以外を参照している場合は、cheese-globalブロックを変更せずに残してください。
ローカル対象 — リポジトリテナント
- 必須条件が両方とも満たされている場合、
hallouminate init-repo <name> --path <main-root>を実行します。リポジトリに.cheese/アーティファクトが存在すること、そして Hallouminate テナントがまだ存在しないことが条件です。 - メインリポジトリのルートを登録します。ワークツリーは登録しないでください。このルールにより、一時的なパスがテナントの識別情報に置き換わるのを防ぎます。
アーティファクト対象 — マシン全体の .cheese コーパス
検索する価値のある .cheese アーティファクトが新しいリポジトリに蓄積された後に、artifacts を実行します。
Hallouminate が Git で無視される .cheese ディレクトリをインデックス化するのは、paths エントリがそのディレクトリを直接指定している場合のみです。そのため、ブロックには共有の親ルートではなく、各 .cheese ディレクトリを列挙します。
ディスク上に存在しなくなった paths エントリがあると、デーモンは警告を出してコーパス全体をスキップします。
完全なスキャンでは存在しないエントリを削除します。不完全なスキャンではエラーを報告し、ブロックは変更しません。
ファイルを変更する --apply の実行後は、hallouminate daemon restart を実行し、続けて hallouminate index --corpus cheese-artifacts を実行します。
ルール
- 現在の状態を検出します。変更案を報告し、ユーザーに確認を求めます。データを変更する各操作には
--applyを必須とします。 - 永続ルートの取得元には、インポートした
paths.corpus_home()のみを使用します。~/.cheeseや XDG パスをハードコードしないでください。 - デフォルトではデータを削除しないでください。
global --applyはマーク済みブロックを書き換え、コーパスディレクトリも作成します。- レガシーブロックは、ユーザーの確認後にのみ削除してください。
生成されたバンドルのコマンド一覧は、references/commands.md を参照してください。