mcpField
C
checkpoint-commit

checkpoint-commit

github.com/desek開発348 回インストール2 日前に更新
リポジトリ

checkpoint-commit について

checkpoint-commit は、作業中の状態を保存する開発スキルです。リポジトリの変更と `.gitignore` を確認し、Change Request に関連付けたチェックポイントコミットを作成します。識別子が不明確な場合は確認してから進みます。

主な機能

  1. 01Change Request 識別子の検出
  2. 02ステージ済み・未ステージ・未追跡ファイルの確認
  3. 03`.gitignore` の確認と更新
  4. 04形式に沿ったコミットメッセージの生成
  5. 05変更のステージングとチェックポイント作成
  6. 06コミットハッシュと対象ファイルの報告

活用シーン

  1. 01進行中の Change Request のリポジトリ状態を保存
  2. 02一時ファイルやビルド成果物の除外ルールを確認
  3. 03リポジトリ内の変更を整理してコミット

インストール

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

$npx skills add https://github.com/desek/governance --skill checkpoint-commit

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

同梱ファイルCHANGELOG.mdversion.txt

詳細

/checkpoint-commit

作業中の状態を保持するためのガバナンスチェックポイントコミットを作成します。リポジトリのすべての変更を分析し、.gitignore を検証して、変更リクエストに紐付けた適切な形式のコミットを作成します。

使用方法: /checkpoint-commit [CR-XXXX] [summary]

どちらの引数も省略できます。指定されない場合、コマンドは CR ID を自動検出し、サマリーを生成します。

ワークフロー

以下の手順を順番に実行します。

Step 1: コンテキストの検出

CR 識別子を特定します。

  • $ARGUMENTS に CR-ID が指定されている場合: 指定された CR-ID を使用します。
  • CR-ID が指定されていない場合:
    1. 現在の Git ブランチ名に dev/CR-XXXX のようなパターン、または CR- の後に数字が続く文字列が含まれているか確認します。
    2. ブランチ名から見つからない場合は、git log --diff-filter=M -1 --name-only -- docs/cr/ を使って docs/cr/ 内で最も最近に変更されたファイルを確認します。
    3. CR-ID が曖昧、または特定できない場合は、必ずユーザーに確認を求めます。CR-ID の確認なしに処理を進めてはいけません。
Step 2: 変更の分析

リポジトリ内のすべての変更を調べます。

# Staged changes
git diff --staged

# Unstaged changes
git diff

# Untracked files
git ls-files --others --exclude-standard
  • ステージ済み、未ステージ、未追跡のファイルを必ずすべて特定します。
  • 変更がない場合(ステージ済み、未ステージ、未追跡のファイルがない場合)は、「チェックポイントにする変更はありません」と報告して停止します。コミットを作成してはいけません。
Step 3: .gitignore の更新

ステージングの前に、未追跡ファイルを確認し、以下を除外するよう .gitignore を更新します。

  • 一時ファイル(.tmp、.bak、*.log)
  • ビルド成果物(dist/、build/、node_modules/)
  • 生成されたコンテンツ(コンパイル済みファイル、キャッシュディレクトリ)
  • まだ除外されていない IDE 固有のファイル

この手順は、リポジトリの肥大化を防ぐため必須です。 未追跡ファイルが 50 個を超える場合は、処理を進める前に必ずユーザーの確認を求めます。

Step 4: サマリーの作成
  • $ARGUMENTS にサマリーが指定されている場合: 指定されたサマリーを使用します。
  • サマリーが指定されていない場合: 差分の出力を分析し、変更内容を簡潔な一文で説明する「Golden Summary」を生成します。

コミットメッセージ全体を作成します。

  • 件名行: checkpoint(CR-xxxx): {summary}
  • 本文: 変更内容とその理由を箇条書きで説明した詳細な説明。
Step 5: すべての変更をステージング
git add -A
Step 6: チェックポイントコミットの作成
git commit -m "checkpoint(CR-xxxx): {summary}

{detailed body with bullet points}"
Step 7: 結果の報告

以下の結果をユーザーに伝えます。

  • コミットハッシュ(git log -1 --format="%H" から取得)
  • 実行した操作の概要
  • コミットに含まれるファイルの一覧

安全規則

  • 破壊的な Git 操作(git reset、git rebase、git commit --amend、git push --force)を実行してはいけません
  • データを失うことなく、すべての作業を必ず保持します
  • 複数回実行しても安全な、冪等な操作であることを必ず確認します
  • ステージングの前に .gitignore を必ず検証します

コメント