high-quality-commitlisted
Install: claude install-skill aiskillstore/marketplace
# High Quality Commit
このスキルは、コード変更を高品質なgitコミットとして記録するための包括的なガイダンスを提供します。
## Instructions
### ステップ1: ブランチとgitコミット履歴の確認
以下のコマンドで現在の状態を確認:
```bash
git status
git log --oneline --graph origin/main..HEAD
```
確認事項:
- 現在のブランチ名
- mainブランチから何gitコミット進んでいるか
- 各gitコミットの内容と粒度
### ステップ2: gitコミット戦略の判断
以下の基準でgitコミット戦略を選択:
#### 戦略A: Squash(基本戦略)
以下の条件を満たす場合、既存のgitコミットにsquashします:
- ブランチに既にgitコミットが存在する
- 変更内容が既存のgitコミットと同じテーマ・機能に関連している
- gitコミットを分ける合理的な理由がない
**実行方法:**
```bash
git add -A
git commit --amend
```
gitコミットメッセージを適切に更新してください。
#### 戦略B: 新規gitコミット
以下の場合は新規gitコミットを作成:
- ブランチに初めてのgitコミット
- 既存のgitコミットとは異なる独立した変更
- gitコミットを分けることで履歴がより理解しやすくなる
**実行方法:**
```bash
git add -A
git commit
```
#### 戦略C: Interactive Rebase(gitコミット再構成)
以下の場合はブランチ全体のgitコミットを再構成:
- 複数の小さなgitコミットを論理的なまとまりに整理したい
- gitコミットの順序を変更したい
- 不要なgitコミットを削除したい
- gitコミット履歴を意味のある単位に再編成したい
**実行方法:**
```bash
git rebase -i origin/main
```
エディタで以下の操作を実行:
- `pick`: gitコミットをそのまま維持
- `squash`または`s`: 前のgitコミットと統合
- `reword`または`r`: gitコミットメッセージを変更
- 行の順序を変更してgitコミット順を変更
### ステップ3: gitコミットメッセージのガイドライン
gitコミットメッセージは以下の形式で記述:
```
<type>: <subject>
<body>
<footer>
```
**Type:**
- `feat`: 新機能
- `fix`: バグ修正
- `refactor`: リファクタリング
- `test`: テスト追加・修正
- `docs`: ドキュメント変更
- `chore`: ビルドプロセスやツールの変更
**Subject:**
- 50文字以内
- 命令形で記述(例: "add"ではなく"Add")
- 末尾にピリオドを付けない
**Body(オプション):**
- 変更の理由と背景を説明
- 何を変更したかではなく、なぜ変更したかを記述
- 72文字で折り返す
**Footer(オプション):**
- Issue番号への参照(例: `Closes #123`)
- Breaking changesの記述
### ステップ4: git commi