with one click
commit-conventions
// Use when making commits, creating branches, or preparing pull requests for aiida-core.
// Use when making commits, creating branches, or preparing pull requests for aiida-core.
Use when adding a new `verdi` subcommand in `src/aiida/cmdline/`.
Use when adding a new third-party dependency to aiida-core's `pyproject.toml`.
Use when exploring the aiida-core codebase structure, looking for key files, or understanding how packages relate to each other.
Use when diagnosing failed, stuck, or misbehaving AiiDA processes or the daemon.
Use when deprecating a public Python API or `verdi` CLI command in aiida-core.
Use when running pre-commit, linting, type checking, or fixing CI failures in aiida-core.
| name | commit-conventions |
| description | Use when making commits, creating branches, or preparing pull requests for aiida-core. |
main through pull requests.<prefix>/<issue>/<short_description>
feature/, fix/, docs/, ci/, refactor/fix/1234/querybuilder-improvementsmain branch uses a .post0 version suffix to indicate development after the last release (e.g., 2.6.0.post0 = development after 2.6.0).Follow the 50/72 rule:
Fix bug in QueryBuilder (#1234) (GH web UI automatically appends on squash-merge)Short summary in imperative mood (50 chars)
More detailed explanation wrapped at 72 characters. Focus on
why the change was made, not how.
Guidelines:
The following practices are used by some contributors but not consistently adopted. They may be formalized or dropped in the future.
Some contributors use emojis as a one-character semantic type prefix.
The emoji is the type indicator, so the message after it should be just the description: write ๐ QueryBuilder crashes on empty filter, not ๐ Fix: QueryBuilder crashes on empty filter.
Emoji selection is adapted from MyST-Parser:
| Emoji | Meaning | Branch Prefix |
|---|---|---|
โจ | New feature | feature/ |
๐ | Bug fix | fix/ |
๐ | Hotfix (urgent production fix) | hotfix/ |
๐ | Improvement (no breaking changes) | improve/ |
โผ๏ธ | Breaking change | breaking/ |
๐ | Documentation | docs/ |
๐ง | Maintenance (typos, etc.) | chore/ |
๐งช | Tests or CI changes only | test/ |
โป๏ธ | Refactoring | refactor/ |
โฌ๏ธ | Dependency upgrade | deps/ |
๐ | Release | release/ |
When submitting changes:
uv run pre-commit passesMerging (maintainers): Squash and merge for single-issue PRs, rebase and merge for multi-commit PRs with individually significant commits.
The .git-blame-ignore-revs file lists commits that should be ignored by git blame (e.g., bulk reformatting).
When landing a large-scale formatting-only commit, add its SHA to this file.