Prompt file imported from YH-05/quants (
.claude/commands/commit-and-pr.md). Copyright stays with the author.
変更のコミットと PR 作成
スキル参照:
.claude/skills/commit-and-pr/SKILL.md
現在の変更をコミットし、適切なブランチを作成してプルリクエストを作成します。CLAUDE.md の「GitHub 操作」セクションの規約に従います。
実行手順
1. 変更内容の確認
git status # 変更ファイルの確認
git diff # 変更内容の確認
git log --oneline -10 # 最近のコミット履歴を確認
2. コミットメッセージの作成
CLAUDE.md で定義されているフォーマットに従います:
<変更の種類>: <変更内容の要約>
詳細な説明(必要に応じて)
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
3. ブランチ名の命名規則
変更の種類に応じて適切なプレフィックスを使用:
feature/- 機能追加fix/- バグ修正refactor/- リファクタリングdocs/- ドキュメント更新test/- テスト追加・修正
4. ラベルの命名規則
PR に付けるラベル:
enhancement- 機能追加bug- バグ修正refactor- リファクタリングdocumentation- ドキュメントtest- テスト
5. 実行ステップ
-
変更内容の分析
- git status と git diff で変更を確認
- 変更の種類を判断(feature/fix/refactor/docs/test)
-
コード簡素化(自動実行)
- code-simplifier エージェントを起動
- 変更されたファイルに対してコード整理を実行
- 型ヒント、Docstring、命名規則、関数分割などを改善
- 各修正後に自動的にテスト実行・検証
-
品質確認(自動実行)
- quality-checker エージェント(--quick モード)を起動
- format/lint/typecheck/test の自動修正
- 問題があれば自動修正
-
ブランチの作成
git checkout -b <branch-type>/<descriptive-name> -
ステージングとコミット
git add <files> git commit -m "$(cat <<'EOF' <type>: <summary> <detailed description if needed> 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com> EOF )" -
リモートへのプッシュ
git push -u origin <branch-name> -
PR の作成
make pr TITLE="<PRタイトル>" BODY="<PR説明>" LABEL="<label>" # または gh pr create --title "<タイトル>" --body "$(cat <<'EOF' ## 概要 - <変更点1> - <変更点2> Fixes #<issue-number> ## テストプラン - [ ] make check-all が成功することを確認 - [ ] 関連するテストが追加されていることを確認 - [ ] ドキュメントが更新されていることを確認 🤖 Generated with [Claude Code](https://claude.ai/code) EOF )"PRタイトルとボディは日本語で記述すること。
重要: Issue リンク
- PR本文に
Fixes #<issue-number>を含めることで、GitHub ProjectsのワークフローがPRとIssueを関連付けます - PRマージ時に自動的にIssueが
Doneに移動します(GitHub Projects自動化設定が必要) - 詳細は
docs/guidelines/github-projects-automation.mdを参照
- PR本文に
-
GitHub CI のチェック(自動実行)
PR作成後、GitHub ActionsのCIステータスを確認し、エラーがあれば修正します:
# PR番号を取得 PR_NUMBER=$(gh pr view --json number -q .number) # CIステータスをチェック(最大5分待機) gh pr checks "$PR_NUMBER" --watch # チェック結果を取得 FAILED_CHECKS=$(gh pr checks "$PR_NUMBER" --json name,conclusion -q '.[] | select(.conclusion=="failure") | .name')CIエラーがある場合:
- エラー内容を詳細に確認
# 失敗したチェックのログを取得 gh run view --log-failed - エラー原因を特定(format/lint/typecheck/testのいずれか)
- 必要な修正を実施
- format エラー:
make formatを実行 - lint エラー:
make lintを実行 - typecheck エラー: 型エラーを修正
- test エラー: テストを修正
- format エラー:
- 修正をコミット&プッシュ
git add . git commit -m "fix: CI エラーを修正" git push - CI再実行を待機し、すべてのチェックがパスするまで繰り返し
CIエラーがない場合:
- すべてのチェックがパスしたことを確認
- PR URLを表示して完了
- エラー内容を詳細に確認
-
PRレビューファイルのコミット(オプション)
/review-prコマンドで生成されたレビューファイル(docs/pr-review/pr-review-*.yaml)がある場合は、追加コミットとしてプッシュします:# レビューファイルの確認 git status docs/pr-review/pr-review-*.yaml 2>/dev/null # ファイルがあればコミット git add docs/pr-review/pr-review-*.yaml git commit -m "$(cat <<'EOF' docs: add PR review report 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com> EOF )" git push
注意事項
-
コミット前の確認
- code-simplifier でコード簡素化:
subagent_type: "code-simplifier" prompt: | git diffで変更されたファイルを対象にコード簡素化を実行してください。 - quality-checker(--quick モード) で品質確認:
subagent_type: "quality-checker" prompt: | コミット前の品質確認を実行してください。 ## モード --quick - 不要なファイルが含まれていないことを確認
- センシティブな情報が含まれていないことを確認
- code-simplifier でコード簡素化:
-
コミットメッセージ
- 変更内容を明確に記述
- なぜ変更したかを説明(what より why)
- 日本語での記述も可
-
PR 作成時
- テストプランを必ず含める
- レビュアーが理解しやすい説明を心がける
- 関連する Issue があればリンクする
-
CI チェック
- PR作成後は必ずCIの結果を確認
- エラーがある場合は即座に修正
- すべてのチェックがパスしてから完了
使用例
# 機能追加のPR
make pr TITLE="feat: ユーザー認証機能を追加" BODY="JWTトークンベースの認証システムを実装しました" LABEL="enhancement"
# バグ修正のPR
make pr TITLE="fix: ログイン時の500エラーを修正" BODY="認証トークンの検証ロジックを修正しました" LABEL="bug"
# ドキュメント更新のPR
make pr TITLE="docs: APIドキュメントを更新" BODY="新しいエンドポイントの説明を追加しました" LABEL="documentation"
このコマンドにより、規約に従った一貫性のあるコミットと PR 作成が可能になります。
