Skip to main content

git-commit-conventions

Conventional commit format and workflow with Jira ticket integration Use when this capability is needed.

インストールへ移動

ソース情報

リポジトリ
tomevault-io/skills-registry
ソースの最終更新活動
2026年4月28日 22:53
検出された SKILL.md の言語
英語
スター
1
フォーク
0

インストール方法

デフォルトでは、最初にソースを確認する Prompt が選択されています。直接コマンドに切り替えるか、ローカルコピーをダウンロードすることもできます。

ソースファイルを確認

インストールを決める前に、SKILL.md と SkillsMP に表示されている付属ファイルをお読みください。

ファイルエクスプローラー
2 ファイル

SKILL.md を表示中

SKILL.md
ソースの指示 · 読み取り専用プレビュー
name
git-commit-conventions
description
Conventional commit format and workflow with Jira ticket integration Use when this capability is needed.
metadata
{"author":"alexandrebenkendorf"}
# Git Commit Conventions Guidelines for creating properly formatted commit messages with Jira ticket numbers. --- ## Configuration **Set your Jira project prefix in `README.md`:** ```markdown # Project Configuration - **Jira Ticket Prefix**: `PROJ` (e.g., JIRA, DEV, TASK) - **Branch Format**: `<PREFIX>-<number>-description` ``` --- ## Conventional Commit Format ``` <type>: <PREFIX>-<ticket-number> <description> ``` **Where:** - `<type>` = Commit type (feat, fix, docs, etc.) - `<PREFIX>` = Your Jira project prefix (PROJ, JIRA, etc.) - `<ticket-number>` = Jira ticket number - `<description>` = Imperative description ### No-ticket exception If there is **no ticket in the branch name** and **recent commits do not include tickets**, omit the ticket and use: ``` <type>: <description> ``` ### Commit Types | Type | Usage | | ---------- | ------------------------------------------------------------------------------------------------------ | | `feat` | A new feature | | `fix` | A bug fix | | `docs` | Documentation only changes | | `style` | Changes that do not affect the meaning of the code (white-space, formatting, missing semi-colons, etc) | | `refactor` | A code change that neither fixes a bug nor adds a feature | | `perf` | A code change that improves performance | | `test` | Adding missing tests or correcting existing tests | | `build` | Changes that affect the build system or external dependencies | | `ci` | Changes to our CI configuration files and scripts | | `chore` | Other changes that don't modify src or test files | | `revert` | Reverts a previous commit | | `rollback` | Rolling back to a previous version | --- ## Message Guidelines - **Use imperative mood** in the description (e.g., "Add feature" not "Added feature") - **Keep the description concise** but descriptive - **Capitalize the first letter** of the description - **Do not end with a period** --- ## Ticket Number Format - Always include the **Jira ticket number** from your current branch - Extract the ticket number from your branch name - Example: `PROJ-134713-FE-Add-GitHub-unittest.instructions.md-for-vitest` → `PROJ-134713` - Example: `TASK-456-implement-user-auth` → `TASK-456` - **If the branch has no ticket and recent commits do not include tickets**, omit the ticket and use `<type>: <description>`. --- ## Examples ```bash # Adding a new feature git commit -m "feat: PROJ-134713 Add GitHub unittest instructions for Vitest best practices" git commit -m "feat: TASK-456 Implement user authentication flow" # Fixing a bug git commit -m "fix: PROJ-134714 Resolve memory leak in component unmounting" git commit -m "fix: JIRA-789 Correct email validation regex" # Documentation update git commit -m "docs: PROJ-134715 Update API documentation for user service" # Refactoring code git commit -m "refactor: PROJ-134716 Simplify user authentication logic" # Rolling back changes git commit -m "rollback: PROJ-134717 Revert to previous version due to performance issues" # Adding tests git commit -m "test: PROJ-134718 Add unit tests for UserProfile component" # Performance improvement git commit -m "perf: PROJ-134719 Optimize database query for user search" ``` --- ## AI Assistant Workflow **When user says "commit the changes" or similar:** ### Step-by-step process: 1. ✅ **Run `git status`** to see modified files 2. ✅ **Run `git diff --staged`** (or `git diff` if nothing staged) to review actual code changes - **CRITICAL:** This step is mandatory - never skip it 3. ✅ **Analyze the actual code changes** in detail (not just filenames) 4. ✅ **Check if changes should be split into multiple commits** - If staged changes contain **multiple unrelated changes** (e.g., feature + refactor + docs): - **STOP** and inform the user - Recommend unstaging: `git reset HEAD <file>` - Suggest staging related changes separately - Example: "Your staged changes include both feature changes and documentation updates. Consider splitting these into separate commits for better history." - Each commit should represent **one logical change** 5. ✅ **Determine the appropriate commit type** based on what actually changed: - New functionality → `feat` - Bug fixes → `fix` - Tests only → `test` - Documentation → `docs` - Code cleanup/restructuring → `refactor` - Performance improvements → `perf` - Build/CI changes → `build` or `ci` 6. ✅ **Extract the ticket number** from the current branch name - Read project's Jira prefix from `README.md` if available - Or detect from branch name pattern (e.g., `PROJ-`, `TASK-`, etc.) - **If no ticket is present and recent commits do not include tickets, omit the ticket** 7. ✅ **Check recent commit messages** to match local conventions (e.g., whether tickets are included) 8. ✅ **Generate a properly formatted commit message** based on actual changes 9. ✅ **Execute the commit** with the generated message (only if changes are cohesive) ### Atomic Commits **Each commit should represent ONE logical change:** ✅ **Good - Focused commits:** ```bash # Commit 1 git add src/components/UserProfile.tsx git commit -m "feat: PROJ-12345 Add user avatar display to UserProfile" # Commit 2 git add src/utils/validation.ts git commit -m "fix: PROJ-12345 Correct email validation regex" # Commit 3 git add README.md git commit -m "docs: PROJ-12345 Update UserProfile component documentation" ``` ❌ **Bad - Mixed changes:** ```bash # Mixing feature, fix, and docs in one commit git add src/components/UserProfile.tsx src/utils/validation.ts README.md git commit -m "feat: PROJ-12345 Add avatar, fix validation, update docs" ``` **When to split commits:** - Changes serve different purposes (feature vs fix vs refactor) - Changes affect unrelated areas of the codebase - One change could be reverted independently - Changes would have different commit types ### DO NOT: - ❌ Create commit messages based only on `git status` output - ❌ Assume what changed based on filenames alone - ❌ Skip reviewing the actual code diff - ❌ Guess the commit type without seeing the changes - ❌ Commit multiple unrelated changes together - ❌ Mix different commit types in a single commit (e.g., feat + refactor + docs) --- ## User Prompts ### Recommended Prompts **Best (let AI analyze):** ``` "Commit the changes" "Review my staged changes and create a commit message" ``` **Good (with context):** ``` "I've updated the authentication flow and added error handling. Check my changes and create a commit message." ``` **Acceptable (manual description):** ``` "Create a commit message. I added unit tests for the UserProfile component and fixed a bug in the validation logic." ``` --- ## Example Workflow 1. Make your code changes 2. Stage your changes: `git add .` 3. Ask the AI assistant: **"Commit the changes"** 4. The assistant will: - Run `git status` to see what files changed - **Run `git diff --staged` to see the actual code changes** - Analyze the changes to determine the proper commit type - Extract the ticket number from the branch name - Generate a properly formatted commit message: ``` feat: PROJ-134801 Add error handling to authentication flow ``` 5. Execute the commit: `git commit -m "feat: PROJ-134801 Add error handling to authentication flow"` --- > Converted and distributed by [TomeVault](https://tomevault.io/claim/alexandrebenkendorf) — claim your Tome and manage your conversions. <!-- tomevault:4.0:skill_md:2026-04-13 -->
GitHubで見る