Skip to main content

Pull Request Conventions

This page outlines pull request conventions and standards across Cadence repositories. For language-specific tooling, build instructions, and formatting details, refer to the CONTRIBUTING.md file in each repository.

Pull Request Titles

Conventional Commits Format

All pull request titles should follow the Conventional Commits format:

<type>(<optional scope>): <description>

Examples:
feat(worker): Add batch processing API
fix(history): Resolve deadlock in workflow execution
docs: Update getting started guide

Types:

  • feat: A new feature
  • fix: A bug fix
  • docs: Documentation only changes
  • refactor: Code change that neither fixes a bug nor adds a feature
  • test: Adding or updating tests
  • chore: Changes to build process, dependencies, or tools

PR Title Guidelines

Follow the Chris Beams guide to writing git commit messages. All PR titles should:

  • Start with UPPER case
  • Be specific (avoid generic titles like "bug fixes")
  • Use imperative mood ("Add feature" not "Added feature")

Examples from Cadence repositories:

Signing Commits

The Developer Certificate of Origin (DCO) requires all commits to be signed before they can be merged to Cadence repositories. You can fulfill this requirement using either:

  • Signing every commit with -s: git commit -s -m "Your commit message"
  • Signing each commit with a GPG key

Setting up GPG key signing

  1. Generate a new GPG key
  2. Add GPG key to your GitHub account
  3. Tell Git about your signing key
  4. Enable automatic signing:
    git config --global commit.gpgsign true