mcpField
S
snapshot-push

snapshot-push

github.com/rheinmir開発10240 回インストール2 週間前に更新
リポジトリ

snapshot-push について

bonbon-aiの外側のリポジトリを、be/とfe/のサブリポジトリ内容も含めてGitLabへスナップショットとしてプッシュする専用スキルです。所定のルートを確認して既存スクリプトを実行し、コミットハッシュと変更ファイル数を報告します。

主な機能

  1. 01bonbon-aiのリポジトリルート限定
  2. 02be/とfe/の内容をスナップショットに包含
  3. 03内側の.gitディレクトリを一時退避して復元
  4. 04任意のコミットメッセージをスクリプトに渡す
  5. 05コミットハッシュと変更ファイル数を報告
  6. 06ルート違いまたはプッシュ失敗時に停止

活用シーン

  1. 01bonbon-ai全体のスナップショットをプッシュ
  2. 02外側のリポジトリへのプッシュにbe/とfe/を含める
  3. 03スナップショットの結果とエラーを確認

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/rheinmir/setup --skill snapshot-push

インストール後、Claude Code で/snapshot-pushを入力して読み込まれたか確認します。

詳細

スキル:snapshot-push

概要

目的とコンテキスト
  • 目的: 外側のリポジトリ bonbon-ai 全体をスナップショットとして GitLab にプッシュします。.git が個別にあるサブリポジトリである be/ と fe/ の内容も含みます。.git ディレクトリを自動で一時退避・復元するスクリプト scripts/snapshot-push.sh を使用します。
  • トリガー(使用するタイミング): 「スナップショットをプッシュ」「スナップショットのプッシュ」「スナップショットを送る」「外側のリポジトリをプッシュ」。
  • 対象外: be//fe/ の各サブリポジトリを個別にプッシュすること、および bonbon-ai 以外のリポジトリへの適用。
メンタルモデル

リポジトリルート bonbon-ai → snapshot-push.sh(be/ と fe/ の .git を一時退避 → コミット+プッシュ → .git を復元)→ コミットハッシュ+変更ファイル数

入力と出力の契約
フィールド必須?意味
入力messageいいえ任意のコミットメッセージ。スクリプトに渡します
出力プッシュ結果はいコミットハッシュ+変更ファイル数をユーザーに報告します
ルールと機能
  • RULE-01(必須):スクリプトの実行前に、正しいリポジトリルート(/Volumes/giatbhSSD(APFS)/workspace/bonbon-ai)にいることを確認します。
  • 機能:既存のスクリプトを介して外側のリポジトリの Git を読み書きします。リモートの GitLab に書き込みます(プッシュ)。
失敗時の境界
  • 正しいリポジトリルートにいない場合 → ブロック。スクリプトを実行しません。
  • スクリプトがエラーになった場合(プッシュ失敗) → 失敗。エラーの出力をそのままユーザーに報告します。

手順

メインワークフロー
ステップ種類入力アクション出力/終了失敗時/次の処理
W01決定的cwdリポジトリルートを確認正しいルート違う場合 → ブロック
W02副作用ありmessagesnapshot-push スクリプトを実行コミット+プッシュエラー → 失敗
W03決定的スクリプトの出力コミットハッシュ+変更ファイル数を報告報告—

各ステップの詳細(W01~W03 の正しい情報源):

  1. 正しいリポジトリルート(/Volumes/giatbhSSD(APFS)/workspace/bonbon-ai)にいることを確認します。
  2. 実行します:bash scripts/snapshot-push.sh "<optional message>"
  3. 結果を報告します:コミットハッシュ+変更ファイル数
分岐

このバージョンには分岐はありません。

検証と停止

成功とは、スクリプトが rc 0 を返し、コミットハッシュを出力することです。プッシュに失敗した場合、自動で再試行しません。

例
  • 成功例: /Volumes/giatbhSSD(APFS)/workspace/bonbon-ai で「スナップショットを送る」→ bash scripts/snapshot-push.sh "snapshot" → be/ と fe/ 内のファイルを含む、コミットハッシュ+変更ファイル数を報告します。
  • 境界/失敗例: cwd が be/ の状態で呼び出す → W01 でリポジトリルートではないと判断 → 停止し、ルートに移動するようユーザーに伝えます。スクリプトは実行しません。

コメント