원클릭으로
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.