About Conventional Branch

Conventional Branch is inspired by Conventional Commits. This page lists the branch prefixes registered for AI coding agents, the tools that support the specification and the projects that use it.

AI Agent Source Prefixes

As AI coding agents increasingly open their own pull requests, Conventional Branch maintains a registry of their branch prefixes so tools and teams can recognize them consistently. This registry is the machine-readable source of truth — the table below is generated from data/agents.yaml.

Prefix Agent Vendor Since
ai/ Any AI agent — v1.1.0
claude/ Claude Code Anthropic v1.1.0
codex/ OpenAI Codex OpenAI v1.1.0
copilot/ GitHub Copilot GitHub v1.1.0
cursor/ Cursor Anysphere v1.1.0

Giving each agent a documented prefix (or using the vendor-neutral ai/) lets teams do more than just eyeball who opened a PR:

  • Apply review policy by source — require an extra human approval on agent-generated branches, or auto-assign a reviewer to them.
  • Route CI differently — run a heavier security, license, or lint suite on ai/, copilot/, claude/, … branches before they reach a human reviewer.
  • Attribute activity and cost — measure how much work each agent produces by filtering branches and PRs on their prefix.
  • Automate housekeeping — auto-label PRs, apply branch-protection rules, or trigger notifications based on the prefix.

Building an agent that opens PRs? Register its prefix so reviewers and tooling recognize it out of the box.

Tooling for Conventional Branch

Conventional Branch can be adopted with local checks, CI validation, and agent skills:

  • commit-check: Checks branch names against the specification's type prefixes by default, as a pre-commit hook or on the command line, and commit messages against Conventional Commits. A `commit-check.toml` narrows the types to exactly the specification's.
  • commit-check-action: The same check as a GitHub Action, with the failure reported as a job summary and, optionally, as a pull request comment.
  • Conventional Branch Skill: Agent skill for AI coding assistants.

Install the skill with:

npx skills add conventional-branch/conventional-branch --skill conventional-branch

Projects Using Conventional Branch

Roughly ordered by how widely recognized the organization is, so the list is useful to skim.

Want your project on this list? Send a pull request.

CI/CD Integration

Because the branch name already encodes its purpose, CI/CD pipelines can key their behavior off the prefix directly, without any extra metadata or configuration lookup. In GitHub Actions, that means an if: startsWith(...) condition per job:

jobs:
  test:
    if: startsWith(github.head_ref, 'feature/') || startsWith(github.head_ref, 'bugfix/')
    runs-on: ubuntu-latest
    steps:
      - run: npm test

  security-review:
    if: startsWith(github.head_ref, 'hotfix/')
    runs-on: ubuntu-latest
    steps:
      - run: ./scripts/security-scan.sh

  release-candidate:
    if: startsWith(github.head_ref, 'release/')
    runs-on: ubuntu-latest
    steps:
      - run: ./scripts/build-release-candidate.sh

A common mapping of prefixes to pipeline behavior:

Branch prefix Typical CI/CD behavior
feature/* Run the full test suite; deploy a preview environment
bugfix/* Run regression tests
hotfix/* Require a security scan or extra approval before merge
release/* Trigger the release-candidate pipeline; deploy to staging
chore/* Skip preview deployment

Other CI/CD platforms support the same pattern using their own equivalent of a branch-name condition (e.g., GitLab CI’s rules: - if:, or a shell check against $CI_COMMIT_REF_NAME). Conventional Branch only standardizes the branch name — the mapping above is a starting point to adapt to your own pipeline.

How to Adopt

  1. Communicate the convention to your team and add it to your contributing guidelines.

  2. Enforce it automatically using one of the tools listed above.

  3. Add the badge to your repository README to signal adoption:

    Conventional Branch

    [![Conventional Branch](https://conventionalbranch.org/badge.svg)](https://conventionalbranch.org/)
    

    Or in HTML:

    <a href="https://conventionalbranch.org/">
      <img alt="Conventional Branch 1.1.0" src="https://conventionalbranch.org/badge.svg">
    </a>
    

    Prefer to generate it yourself, or want a different shape? The shields.io equivalent carries the same colors and version, and takes &style=flat-square, &style=plastic or &style=for-the-badge:

    [![Conventional Branch](https://img.shields.io/badge/Conventional%20Branch-1.1.0-6699CC)](https://conventionalbranch.org/)
    
  4. Configure your CI/CD to trigger different workflows based on branch prefix (e.g., auto-deploy on release/ branches) — see CI/CD Integration above.

Project history

The milestones only; the changelog lists every change.

Read the changelog
  1. Conventional Branch started, with the first draft of the specification

  2. Licensed under CC BY 4.0, free to use, adapt and translate

  3. A dedicated website at conventionalbranch.org

  4. 1.0.0, the first stable release

  5. 1.1.0: prefixes for AI coding agents, and the specification as JSON

Maintainers and contributors

Created & maintained by

Xianpeng Shen shenxianpeng.dev

Sponsor

If your team depends on Conventional Branch, sponsoring funds hosting, translations and keeping the spec current as tooling evolves — like adding the ai/, claude/ and codex/ prefixes when coding agents began opening their own branches.

Become a sponsor