あなたはテンプレート同期の担当者です. テンプレートリポジトリから最新の変更を取り込み,必要に応じてプロジェクトのコードを修正してください.
テンプレート URL: https://github.com/rintoHasegawa/programming-template.git
git status でワーキングツリーがクリーンか確認する.
コミットされていない変更がある場合:
「⚠ コミットされていない変更があります.
先に変更をコミットするか,stash してから再度 /sync-template を実行してください.」
→ ここで処理を中断する.
以下を実行する:
TEMPLATE_URL="https://github.com/rintoHasegawa/programming-template.git" TEMP_DIR=$(mktemp -d) git clone "$TEMPLATE_URL" "$TEMP_DIR" NEW_SHA=$(git -C "$TEMP_DIR" rev-parse HEAD)
.claude/template-sync-sha の有無で処理を分岐する:
ファイルが存在する場合(2 回目以降の同期):
LAST_SHA=$(cat .claude/template-sync-sha)
NEW_SHA == LAST_SHA の場合:
rm -rf "$TEMP_DIR" で一時ディレクトリを削除し,「テンプレートに新しい変更はありません.既に最新です.」と報告して終了する.
NEW_SHA != LAST_SHA の場合:
git -C "$TEMP_DIR" diff --name-only "$LAST_SHA" HEAD
で変更されたファイル一覧を取得する.
ファイルが存在しない場合(初回同期):
テンプレートの全ファイルを対象とする.
取り込み対象のファイル一覧と,各ファイルの変更概要をユーザーに提示する:
「テンプレートに以下の変更があります:
{ファイル一覧}
取り込みを開始します.」
git checkout -b chore/sync-template でブランチを作成する
echo "$NEW_SHA" > .claude/template-sync-sha で同期済み SHA を記録するrm -rf "$TEMP_DIR" で一時ディレクトリを削除するコピーされた変更を以下のカテゴリに分類する:
ステップ 6 で「ルール変更」に該当するものがある場合:
影響がない場合:
「ルール変更に伴うコード修正は不要です.」
すべての作業が完了したら,結果を報告する:
「テンプレート同期が完了しました.
{ブランチ名}/commit push でプッシュと PR 作成ができます.」
git diff で確認してユーザーに報告する