skills/shunsukehayashi/miyabi-claude-plugins/Git Workflow with Conventional Commits

Git Workflow with Conventional Commits

SKILL.md

📝 Git Workflow with Conventional Commits

Version: 2.0.0 Last Updated: 2025-11-22 Priority: ⭐⭐⭐⭐⭐ (P0 Level) Purpose: Conventional Commits準拠のGitワークフロー自動化


📋 概要

Conventional Commits仕様とMiyabiのPRガイドラインに従った 完全なGitワークフロー自動化を提供します。


🎯 P0: 呼び出しトリガー

トリガー
コミット "commit these changes"
PR作成 "create a PR"
マージ "merge this branch"
機能完了後 "after completing feature"
レビュー対応後 "after review feedback"

🔧 P1: Conventional Commits形式

コミットメッセージ構造

<type>(<scope>): <subject>

<body>

<footer>

Type一覧(優先順位順)

Type 用途 頻度
feat 新機能 feat(auth): add OAuth2 login
fix バグ修正 fix(api): resolve null pointer
docs ドキュメント docs(readme): update install guide
refactor リファクタリング refactor(parser): simplify logic
test テスト test(unit): add auth tests
chore メンテナンス chore(deps): update tokio
style フォーマット style(lint): fix clippy warnings
perf パフォーマンス perf(db): add index
ci CI/CD ci(workflow): add clippy check
build ビルド build(cargo): update Cargo.lock
revert リバート revert: feat(auth)

Scope一覧

Scope 対象
auth 認証・認可
api APIエンドポイント
db データベース
ui ユーザーインターフェース
cli コマンドライン
agent Agentシステム
worktree Worktree管理
deps 依存関係

🚀 P2: ワークフロー別パターン

Pattern 1: 標準コミット

# Step 1: 状態確認
git status && git diff --name-status

# Step 2: ステージング
git add <files>

# Step 3: コミット(HEREDOC必須)
git commit -m "$(cat <<'EOF'
feat(agent): add CodeGenAgent implementation

Implement CodeGenAgent for AI-driven code generation:
- Add BaseAgent trait implementation
- Support for Rust, TypeScript, Python
- Automatic test generation

Closes #270

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
EOF
)"

# Step 4: プッシュ
git push -u origin feature/270-codegen-agent

Pattern 2: PR作成

# GitHub CLI使用
gh pr create \
  --title "feat(agent): Issue #270 - Add CodeGenAgent" \
  --body "$(cat <<'EOF'
## Summary
Implements CodeGenAgent for AI-driven code generation.

## Changes
- ✅ Add `crates/miyabi-agents/src/codegen.rs`
- ✅ Implement BaseAgent trait
- ✅ Add unit tests (85% coverage)

## Test Plan
- [x] Unit tests pass
- [x] Clippy warnings resolved
- [x] Format check passed

## Related Issues
Closes #270

## Quality Report
- **Score**: 85/100 ✅
- **Coverage**: 85%

🤖 Generated with [Claude Code](https://claude.com/claude-code)
EOF
)" \
  --draft

Pattern 3: マージ戦略

戦略 コマンド 用途
Squash(推奨) gh pr merge --squash --delete-branch 大半のPR
Merge gh pr merge --merge --delete-branch 大規模機能
Rebase gh pr merge --rebase --delete-branch 単一コミットPR

⚡ P3: ブランチ命名規則

形式

<type>/<issue-number>-<brief-description>

Type
feature feature/270-codegen-agent
fix fix/271-worktree-race-condition
docs docs/272-update-skills
refactor refactor/273-cleanup-types
test test/274-add-integration-tests
chore chore/275-update-deps

📊 Worktree固有ワークフロー

Worktree作成からマージまで

# Step 1: Worktree作成
git worktree add .worktrees/issue-270 -b feature/270-codegen-agent

# Step 2: Worktree内で作業
cd .worktrees/issue-270
# ... 変更 ...
git add .
git commit -m "feat(agent): add CodeGenAgent"

# Step 3: プッシュ
git push -u origin feature/270-codegen-agent

# Step 4: PR作成
gh pr create --title "feat(agent): Issue #270" --draft

# Step 5: クリーンアップ(マージ後)
cd ../..
git worktree remove .worktrees/issue-270
git push origin --delete feature/270-codegen-agent
git branch -d feature/270-codegen-agent

🛡️ エラーハンドリング

Pre-commit Hook対応

# Hook変更確認
git status

# Hook変更をamend
git add .
git commit --amend --no-edit
git push --force-with-lease

マージコンフリクト

# コンフリクト確認
git status
git diff

# 解決後
git add <resolved-files>
git merge --continue
# または
git rebase --continue

誤ったブランチへのコミット

# 最後のコミット取り消し(変更は保持)
git reset --soft HEAD~1

# 正しいブランチへ移動
git checkout correct-branch

# 再コミット
git add .
git commit -m "Your message"

シークレットの誤コミット

# ファイルをコミットから削除
git rm --cached path/to/secret-file
git commit --amend --no-edit
git push --force-with-lease

# 古いコミットの場合: git-filter-repo使用

✅ チェックリスト

コミット前

  • テスト合格 (cargo test)
  • Clippy警告なし (cargo clippy)
  • フォーマット済み (cargo fmt)
  • シークレットなし
  • Conventional Commits準拠
  • 変更がIssue要件に一致
  • ドキュメント更新(必要時)

PR作成前

  • タイトルが規約に準拠
  • 説明が完全
  • CI合格
  • コンフリクトなし
  • レビュアー割り当て
  • ラベル付与
  • Issue紐付け (Closes #XXX)

🔗 関連ドキュメント

ドキュメント 用途
agents/specs/coding/pr-agent.md PRAgent仕様
docs/WORKTREE_PROTOCOL.md Worktreeプロトコル
docs/LABEL_SYSTEM_GUIDE.md ラベルシステム
.gitignore 除外ファイル

📝 関連Skills

  • Agent Execution: Worktree経由のブランチ作成
  • Rust Development: コミット前テスト
  • Issue Analysis: コミットtype/scope決定
Weekly Installs
0
GitHub Stars
30
First Seen
Jan 1, 1970