diff --git a/.claude/commands/commit.md b/.claude/commands/commit.md index ecca2df..6b2c025 100644 --- a/.claude/commands/commit.md +++ b/.claude/commands/commit.md @@ -1,11 +1,12 @@ --- name: commit -description: "GUIDE_04 に従い,変更内容の確認 → コミット → プッシュ → PR 作成を行う." +model: sonnet +description: "GUIDE_04 に従い,変更内容の確認 → コミットを行う." argument-hint: "<コミット内容の補足(省略可)>" --- あなたは Git 運用の担当者です.GUIDE_04 に従い,現在の変更をコミットしてください. -すべてのステップでユーザーの確認を得てから実行すること. +確認は不要.すべてのステップを一気に実行すること. ## ステップ 1: 状態確認 @@ -15,12 +16,11 @@ - `git status` で変更ファイルの一覧を確認 - `git diff` および `git diff --cached` で変更内容を確認 -**main ブランチにいる場合は警告する:** +**main ブランチにいる場合は自動でブランチを作成する:** -「⚠ 現在 `main` ブランチにいます.GUIDE_04 では main への直接コミットは禁止されています. -作業ブランチを作成してから再度 `/commit` を実行してください.」 - -→ ここで処理を中断する. +1. 変更内容から適切なプレフィックス(`feature/`/`fix/`/`docs/`/`chore/`)と英単語 2〜4 語のブランチ名を決定する +2. `git checkout -b {ブランチ名}` で作業ブランチを作成する +3. 以降のステップを続行する ## ステップ 2: docs/ 更新チェック @@ -31,44 +31,47 @@ - 開発計画の進捗に関わる変更 - 規約やルールに関わる変更 -該当がある場合,ユーザーに docs/ の更新要否を確認する. +該当がある場合,必要な docs/ の更新を自動で行う. ## ステップ 3: コミットメッセージの生成 変更内容と $ARGUMENTS(指定がある場合)をもとに,GUIDE_04 の「コミットメッセージ」セクションに従ってコミットメッセージを生成する. -## ステップ 4: ユーザー確認 - -以下をユーザーに提示し,承認を得る: - -「**以下の内容でコミットします.** - -- ブランチ: `{ブランチ名}` -- ステージング対象: {ファイル一覧} -- コミットメッセージ: `{生成したメッセージ}` - -よろしいですか?修正があれば指示してください.」 - -承認を得るまでコミットしないこと. - -## ステップ 5: コミット・プッシュ - -ユーザーの承認後,GUIDE_04 の「実装とコミット」「リモートへのプッシュ」に従い実行する. - -## ステップ 6: PR 作成 - -プッシュ後,PR の状態を確認する: - -- **既存の PR がある場合**: PR の URL を表示して完了 -- **PR がない場合**: GUIDE_04 の「プルリクエスト (PR) の作成」に従い PR を作成し,URL を表示する - -## ステップ 7: CLAUDE.md 更新提案 +## ステップ 4: CLAUDE.md 更新 変更内容に応じて CLAUDE.md の「開発進捗」セクションの更新が必要か判断し, -必要であれば更新内容を提案する. +必要であれば自動で更新する. + +## ステップ 5: コミット + +以下を実行する: + +1. `git add` で関連ファイルをステージングする(CLAUDE.md の変更がある場合はそれも含める) +2. `git commit -m "{コミットメッセージ}"` でコミットする + +## ステップ 6: プッシュ・PR・マージ + +$ARGUMENTS に以下のキーワードが含まれる場合のみ,該当する操作を実行する. +**いずれも含まれない場合はこのステップ全体をスキップする.** + +| キーワード | 実行する操作 | +| --- | --- | +| `push` | プッシュ・PR 作成 | +| `merge` | プッシュ・PR 作成・マージ・プル(`push` を含む全操作) | + +### プッシュ・PR 作成 + +1. `git push origin {ブランチ名}` でリモートにプッシュする +2. PR の状態を確認する: + - **既存の PR がある場合**: PR の URL を表示して完了 + - **PR がない場合**: GUIDE_04 の「プルリクエスト (PR) の作成」に従い PR を作成し,URL を表示する + +### マージ・プル(`merge` の場合のみ) + +1. GUIDE_04 の「マージの実行」に従いマージする +2. GUIDE_04 の「ローカル環境のクリーンアップ」に従いローカルを最新化する ## 注意事項 -- ユーザーの確認なしにコミット・プッシュしない - `.env` やクレデンシャルファイルはステージングしない - 変更がない場合(`git status` がクリーン)は空コミットせず,その旨を伝えて終了する diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..6313b56 --- /dev/null +++ b/.gitattributes @@ -0,0 +1 @@ +* text=auto eol=lf