| name | commit |
| description | プロジェクトのコミットガイドラインに基づいてGitコミットを作成 |
| disable-model-invocation | true |
Git Commit with Guidelines
ガイドラインに基づいたGitコミット
このスキルは、プロジェクトのコミットガイドライン(docs/contributing/commit-guidelines.md)に基づいて適切なコミットメッセージを作成し、コミットを実行します。
実行手順
1. 変更の確認
まず、git status と git diff で変更内容を確認してください:
git status
git diff --cached
git diff
2. コミットメッセージの作成
以下の構造でコミットメッセージを作成してください:
<type>(<scope>): <subject>
<body>
Next steps:
- <次の作業1>
- <次の作業2>
Type(種類)
feat: 新機能追加
fix: バグ修正
refactor: リファクタリング
test: テスト追加・修正
docs: ドキュメント更新
chore: ビルド・設定変更
Scope(範囲)
- コンポーネント名:
flight_command, imu, led, control
- ドキュメント:
docs, guidelines
- フェーズ名:
phase3, phase4
Subject(要約)
- 50文字以内
- 現在形・命令形(英語)
- ピリオド不要
Body(本文)
必須要素:
- Changes: 変更内容の箇条書き(3-5項目)
推奨要素(状況に応じて):
- 問題の背景:
This fixes <問題>. The problem was: で始め、原因を1-5ステップで説明
- 修正後の動作:
With this fix: で始め、改善内容を1-5ステップで説明
- 技術的詳細: パラメータ、制御則、コード位置など
- 設計判断の理由: なぜこのアプローチを選んだか
- 影響範囲:
Related files: で変更ファイルとコード位置
- フェーズ進捗:
Phase X-Y Status: Complete ✅
Next steps(次の作業)- 必須
セッション中断時の再開ポイントを明記してください:
書くべき内容:
- すぐ次にやること - ビルド、書き込み、テスト
- 確認すべきこと - 期待される動作、パフォーマンス指標
- 次の実装タスク - 関連機能、ドキュメント更新
良い例:
Next steps:
- Flash firmware to vehicle (idf.py flash)
- Test jump 0.15m command via WiFi CLI:
python3 tools/stampfly_cli.py --ip 192.168.2.19 jump 0.15
- Verify altitude control with ±2cm tolerance
- Monitor ToF raw values in serial log during climb/descent
- Test consecutive jumps to verify queue handling
- Document simplified Jump command control law in docs/
避けるべき例:
Next steps:
- テスト ← 具体性がない
- 動作確認 ← 何を確認するのか不明
3. コミットの実行
変更をステージングしてコミットしてください:
git add <files>
git commit -m "$(cat <<'EOF'
<type>(<scope>): <subject>
Changes:
- <変更1>
- <変更2>
<body>
Next steps:
- <次の作業1>
- <次の作業2>
EOF
)"
4. 確認
コミット後、ログを確認してください:
git log -1 --format="%H%n%s%n%b"
git status
テンプレート
バグ修正(Fix)
git commit -m "$(cat <<'EOF'
fix(<scope>): <50文字以内の要約>
Changes:
- <変更内容1>
- <変更内容2>
This fixes <問題の説明>. The problem was:
1. <根本原因のステップ1>
2. <根本原因のステップ2>
With this fix:
1. <修正後の動作1>
2. <修正後の動作2>
Next steps:
- <次にやるべきこと1>
- <次にやるべきこと2>
EOF
)"
新機能(Feature)
git commit -m "$(cat <<'EOF'
feat(<scope>): <50文字以内の要約>
<機能の概要説明>
Changes:
- <変更内容1>
- <変更内容2>
Behavior:
- <新しい動作1>
- <新しい動作2>
Phase <X-Y> Status: Complete ✅
Next: Phase <X-Z> (<次のフェーズの説明>)
Next steps:
- <次の実装タスク>
- <テスト計画>
EOF
)"
リファクタリング(Refactor)
git commit -m "$(cat <<'EOF'
refactor(<scope>): <50文字以内の要約>
<リファクタリングの目的>
Changes:
- <変更内容1>
- <変更内容2>
Technical details:
- <技術的詳細1>
- <技術的詳細2>
<設計判断の理由>
Next steps:
- <次のタスク>
EOF
)"
ドキュメント更新(Docs)
git commit -m "$(cat <<'EOF'
docs(<scope>): <50文字以内の要約>
<ドキュメント更新の目的>
Changes:
- <変更内容1>
- <変更内容2>
Contents:
- <追加/更新した内容1>
- <追加/更新した内容2>
Next steps:
- <関連ドキュメントの更新>
- <実装への反映>
EOF
)"
チェックリスト
コミット前に以下を確認してください:
必須
推奨
オプション
重要事項
- Next stepsは必須: セッション中断時の再開ポイントとして重要
- 具体的なコマンドを記載: 再現性を確保
- 検証項目を明記: テスト計画を明確に
- heredoc使用: コミットメッセージのフォーマットを保持
参考
詳細は以下を参照: