commit-helper

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Commit Message Helper

提交信息助手

A skill for creating properly formatted Git commit messages following the Conventional Commits specification.
一款帮助遵循Conventional Commits规范创建格式正确的Git提交信息的技能。

When This Skill Activates

技能触发场景

This skill activates when you:
  • Ask to commit changes
  • Mention commit messages
  • Request git commit formatting
  • Say "commit" or "git commit"
当你进行以下操作时,该技能会触发:
  • 请求提交更改
  • 提及提交信息
  • 要求格式化Git提交内容
  • 说出"commit"或"git commit"

Commit Message Format

提交信息格式

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

<body>

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

<body>

<footer>

Types

类型

TypeDescription
feat
A new feature
fix
A bug fix
docs
Documentation only changes
style
Changes that do not affect the meaning of the code (formatting, 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
chore
Changes to the build process or auxiliary tools
ci
Changes to CI configuration files and scripts
build
Changes that affect the build system or external dependencies
类型描述
feat
新增功能
fix
修复Bug
docs
仅修改文档
style
不影响代码含义的修改(如格式化等)
refactor
既不是修复Bug也不是新增功能的代码变更
perf
提升性能的代码变更
test
添加缺失的测试或修正现有测试
chore
对构建流程或辅助工具的修改
ci
对CI配置文件和脚本的修改
build
影响构建系统或外部依赖的修改

Scope

范围

The scope should indicate the area of the codebase affected:
  • For frontend:
    components
    ,
    hooks
    ,
    store
    ,
    styles
    ,
    utils
  • For backend:
    api
    ,
    models
    ,
    services
    ,
    database
    ,
    auth
  • For devops:
    ci
    ,
    deploy
    ,
    docker
  • Project-specific scopes are also acceptable
范围应指明受影响的代码库区域:
  • 前端:
    components
    hooks
    store
    styles
    utils
  • 后端:
    api
    models
    services
    database
    auth
  • DevOps:
    ci
    deploy
    docker
  • 也可使用项目特定的范围

Guidelines

编写指南

Subject Line

主题行

  • Use imperative mood ("add feature" not "added feature" or "adds feature")
  • No period at the end
  • Maximum 50 characters
  • Be specific and concise
  • 使用祈使语气(如"add feature"而非"added feature"或"adds feature")
  • 结尾不加句号
  • 最多50个字符
  • 表述具体且简洁

Body

正文

  • Separate subject from body with a blank line
  • Use the body to explain what and why, not how
  • Wrap at 72 characters per line
  • Mention any breaking changes
  • 主题与正文之间用空行分隔
  • 用正文解释做了什么为什么这么做,而非怎么做
  • 每行最多72个字符
  • 提及所有破坏性变更

Footer

页脚

  • Reference issues:
    Closes #123
    ,
    Fixes #456
    ,
    Refs #789
  • Multiple issues:
    Closes #123, #456, #789
  • Breaking changes: Start with
    BREAKING CHANGE:
    followed by description
  • 关联议题:
    Closes #123
    Fixes #456
    Refs #789
  • 多个议题:
    Closes #123, #456, #789
  • 破坏性变更:以
    BREAKING CHANGE:
    开头,后跟描述内容

Examples

示例

Good Examples

优秀示例

feat(auth): add OAuth2 login support

Implement OAuth2 authentication flow to allow users to log in
with their Google or GitHub accounts.

This change adds:
- New OAuth2 middleware for handling callbacks
- Updated login UI with social login buttons
- User profile synchronization

Closes #123
fix(api): resolve race condition in user creation

The concurrent user creation requests could result in duplicate
email entries. Added unique constraint and proper error handling.

Fixes #456
refactor(user): simplify profile update logic

Extracted common validation logic into a reusable function
to reduce code duplication across profile update endpoints.
docs: update API documentation with new endpoints

Added documentation for the v2 user management endpoints
including request/response examples and error codes.
feat(auth): add OAuth2 login support

Implement OAuth2 authentication flow to allow users to log in
with their Google or GitHub accounts.

This change adds:
- New OAuth2 middleware for handling callbacks
- Updated login UI with social login buttons
- User profile synchronization

Closes #123
fix(api): resolve race condition in user creation

The concurrent user creation requests could result in duplicate
email entries. Added unique constraint and proper error handling.

Fixes #456
refactor(user): simplify profile update logic

Extracted common validation logic into a reusable function
to reduce code duplication across profile update endpoints.
docs: update API documentation with new endpoints

Added documentation for the v2 user management endpoints
including request/response examples and error codes.

Bad Examples

反面示例

updated stuff                    # Too vague, no type/scope
fixed bug                        # No context about which bug
feat: added feature              # Redundant ("feat" means new feature)
Feat(User): Add Login            # Incorrect capitalization
feat: A really really really long subject line that exceeds the recommended limit  # Too long
updated stuff                    # 过于模糊,无类型/范围
fixed bug                        # 未说明具体修复的Bug
feat: added feature              # 冗余("feat"本身就代表新增功能)
Feat(User): Add Login            # 大小写错误
feat: A really really really long subject line that exceeds the recommended limit  # 过长

Breaking Changes

破坏性变更

When introducing breaking changes, add
BREAKING CHANGE:
to the footer:
feat(api): migrate to REST v2

The API endpoints have been restructured for better consistency.
Old endpoints are deprecated and will be removed in v3.0.

BREAKING CHANGE: `/api/v1/users` is now `/api/v2/users`.
All consumers must update their integration by 2025-03-01.
当引入破坏性变更时,需在页脚添加
BREAKING CHANGE:
feat(api): migrate to REST v2

The API endpoints have been restructured for better consistency.
Old endpoints are deprecated and will be removed in v3.0.

BREAKING CHANGE: `/api/v1/users` is now `/api/v2/users`.
All consumers must update their integration by 2025-03-01.

Workflow

工作流程

When writing a commit message:
  1. Review changes - Run
    git diff
    to understand what changed
  2. Identify type - Determine the type of change
  3. Identify scope - Determine which area is affected
  4. Write subject - Create a clear, concise subject line
  5. Write body - Explain what and why (if needed)
  6. Add footer - Reference issues or note breaking changes
编写提交信息时,请遵循以下步骤:
  1. 查看变更内容 - 运行
    git diff
    了解具体变更
  2. 确定类型 - 判断变更的类型
  3. 确定范围 - 明确受影响的区域
  4. 编写主题 - 创建清晰、简洁的主题行
  5. 编写正文 - 解释做了什么和为什么这么做(如有需要)
  6. 添加页脚 - 关联议题或标注破坏性变更

Validation

验证

Use the validation script to check commit message format:
bash
python scripts/validate_commit.py "your commit message"
使用验证脚本检查提交信息格式:
bash
python scripts/validate_commit.py "your commit message"

Reference Documents

参考文档

  • See
    references/conventional-commits.md
    for full specification
  • See
    references/examples.md
    for more examples
  • See
    references/scopes.md
    for recommended scope naming
  • 查看
    references/conventional-commits.md
    获取完整规范
  • 查看
    references/examples.md
    获取更多示例
  • 查看
    references/scopes.md
    获取推荐的范围命名方式