mcpField
C
conventional-commits

conventional-commits

github.com/tigrisdata開発2101 回インストール15 週間前に更新
リポジトリ

conventional-commits について

Conventional Commits形式の構造化コミットメッセージを作成するための開発者向けガイドです。コミット種別とセマンティックバージョニング、変更履歴の生成、自動リリースの関係に加え、破壊的変更やAIの帰属表記も説明します。

主な機能

  1. 01種別に沿ったメッセージ形式
  2. 02コミット種別とバージョン変更の対応
  3. 03変更履歴とリリース自動化への活用
  4. 04破壊的変更と課題参照の記載
  5. 05AI支援の表記とsignoffの使用

活用シーン

  1. 01チームのGit履歴の形式統一
  2. 02コミットから変更履歴を生成
  3. 03コミット種別に応じたリリース実行

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/tigrisdata/skills --skill conventional-commits

インストール後、Claude Code で/conventional-commitsを入力して読み込まれたか確認します。

同梱ファイルmetadata.jsonREADME.md

詳細

Conventional Commits

バージョン管理における、明確で読みやすいプロジェクト履歴を実現するための構造化されたコミットメッセージ形式です。

概要

Conventional Commits の仕様には、次のような利点があります。

  • 変更履歴の自動生成 - ツールでコミットを解析し、CHANGELOG.md を生成できます
  • セマンティックバージョニング - コミットの種類がバージョンの更新幅に対応します(feat → minor、breaking → major)
  • 明確なプロジェクト履歴 - 標準化された形式により、git log が読みやすくなります
  • リリースの自動化 - CI/CD でコミットの種類に基づいてリリースを開始できます

クイックリファレンス

TypeUse ForVersion Bump
feat新機能MINOR
fixバグ修正PATCH
docsドキュメントのみPATCH
styleフォーマット変更、ロジックの変更なしPATCH
refactorコードの再構成、動作の変更なしPATCH
perfパフォーマンスの改善PATCH
testテストの追加または更新PATCH
buildビルドシステムまたは依存関係PATCH
ciCI/CD の設定PATCH
chore保守作業、ユーザー向けの変更なしPATCH
revert以前のコミットを取り消すPATCH

形式

<type>[optional scope]: <description>

[optional body]

[optional footer(s)]

ルール:

  • 種類は必須です
  • スコープは任意です。影響を受けるセクションを括弧で指定します:(api)、(auth)、(parser)
  • 説明は必須です
  • 説明は簡潔にし、命令形、小文字で記述し、末尾にピリオドを付けません
  • 本文とフッターは任意です
  • 件名と本文の間は空行で区切ります
  • 本文は72文字で折り返します

例

feat: add user authentication

Implement JWT-based authentication with login/logout endpoints.
Includes password hashing and session management.

Closes: #123
fix(api): handle null response from server

Previous implementation crashed when server returned null.
Now returns empty result set.

Assisted-by: GLM 4.6 via Claude Code
feat(storage)!: change bucket listing API

BREAKING CHANGE: bucket list now returns async iterator
instead of array. Update all callers to use for-await.
refactor(core): simplify error handling

Consolidate duplicate error handlers into single utility.
No behavior changes - internal cleanup only.
revert: feat(auth): add OAuth support

This reverts commit 8b5a1c2. OAuth provider changed
their API and we need to redesign integration.

破壊的変更

破壊的変更は、次の2つの方法で示します。

方法1:種類/スコープの後に ! を追加します

feat(api)!: remove deprecated endpoint

方法2:フッターに BREAKING CHANGE: を追加します

feat(api): remove deprecated endpoint

BREAKING CHANGE: endpoint no longer exists. Use newEndpoint instead.

AI の帰属表示

AI エージェントの支援を受けた場合は、コミットのフッターにその旨を明記する必要があります。

Assisted-by: [Model Name] via [Tool Name]

例:

  • Assisted-by: GLM 4.6 via Claude Code
  • Assisted-by: Claude Opus 4.5 via claude.ai

よくある間違い

MistakeWhy WrongCorrect
Added login feature過去形で、大文字が使われていますfeat: add login feature
fix bug.末尾にピリオドがありますfix: resolve login error
update種類がありませんchore: update dependencies
feature:add-authコロンの後にスペースがありませんfeat: add authentication
FEAT: big change種類が大文字ですfeat: add authentication
複数行の説明で空行がない区切りがありません件名の後に空行を追加します

本文のガイドライン

  • 内容:変更の動機(コードコメントでは「どのように」を説明します)
  • 対比:「なぜ」と「何を」を説明し、コードの詳細は記述しません
  • git log で読みやすくなるよう、72文字で折り返します
feat(summarization): add support for nested bullet points

Previous implementation only flattened all content. Now preserves
hierarchy by respecting indentation levels. Users can now create
structured summaries with parent-child relationships.

Closes: #456

フッターのガイドライン

フッターは次の用途で使用します。

  • 破壊的変更:BREAKING CHANGE: detailed explanation
  • Issue の参照:Closes: #123、Fixes: #456、Refs: #789
  • AI の帰属表示:Assisted-by: Model via Tool

複数のフッターは空行で区切ります。

feat: add batch upload

Implements multipart upload for large files.

BREAKING CHANGE: upload() signature changed - now requires options object
Closes: #123
Assisted-by: GLM 4.6 via Claude Code

Git のコミットフラグ

必須フラグ: コミット時には必ず --signoff を使用します。

git commit --signoff -m "feat: add user authentication"

--signoff フラグを指定すると、コミットメッセージに Signed-off-by トレーラーが追加され、コミッターがそのコミットについて developer certificate of origin(DCO)に準拠していることを証明したと示されます。

コミットのテスト

コミットする前に、次の項目を確認してください。

  1. 許可されたリストから種類を選んでいる
  2. 説明が命令形になっている(add、fix、update)
  3. 説明が小文字になっている
  4. 説明の末尾にピリオドがない
  5. 破壊的変更に ! またはフッターを付けている
  6. 該当する場合、AI の帰属表示を含めている
  7. 本文で「どのように」ではなく「なぜ」を説明している
  8. --signoff フラグを使用している

コメント