git-convention

seungwonme's avatarfrom seungwonme

Git convention for branch naming, commit messages, and issue labels based on GitFlow and Conventional Commits. Use when creating branches, writing commit messages, or setting up issue labels.

⭐0stars🔀0forks📁View on GitHub🕐Updated Dec 15, 2025⬇️1downloads

When & Why to Use This Skill

This Claude skill streamlines software development workflows by enforcing standardized Git conventions. It provides a comprehensive framework for branch naming, commit messages, and issue labeling based on industry-standard GitFlow and Conventional Commits methodologies. By implementing these practices, teams can ensure repository consistency, improve code maintainability, and enable seamless integration with automated CI/CD and changelog generation tools.

Use Cases

  • Standardizing Team Collaboration: Establish a uniform naming convention for branches (e.g., feat/, fix/, refactor/) to help team members immediately understand the purpose of every branch in a shared repository.
  • Automated Release Management: Utilize the Conventional Commits format to enable automated tools that generate semantic versioning and professional changelogs based on commit history.
  • Project Tracking and Organization: Align GitHub/GitLab issue labels with development types to create a clear, traceable link between task management and actual code implementation.
  • Onboarding and Best Practices: Serve as a live reference for junior developers to learn and apply professional version control standards from day one.
namegit-convention
descriptionGit convention for branch naming, commit messages, and issue labels based on GitFlow and Conventional Commits. Use when creating branches, writing commit messages, or setting up issue labels.

Git Convention

Branch Naming

Format: type/[branch/]description[-#issue]

Type Description Example
feat New feature feat/login-#123
fix Bug fix fix/button-click-#456
docs Documentation docs/api-docs-#789
style Code style (no logic change) style/css-format-#101
refactor Code restructure refactor/auth-service-#102
test Add/modify tests test/unit-tests-#103
chore Maintenance chore/dependency-update-#104

Commit Message Format

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

<body>

<footer>

Rules

  • Max 100 characters per line
  • Subject: imperative, present tense ("change" not "changed")
  • Subject: no capitalize, no period at end
  • Body: motivation and contrast with previous behavior

Types

  • feat: New feature
  • fix: Bug fix
  • docs: Documentation
  • style: Formatting, missing semicolons
  • refactor: Code restructure without behavior change
  • test: Adding or updating tests
  • chore: Build, package manager, no code change

Setup

Commit Template

git config --local commit.template .github/.gitmessage

Issue Labels

github-label-sync --access-token <token> --labels .github/labels.json <owner>/<repo>