| 1 | ---
|
| 2 | alwaysApply: true
|
| 3 | description: "Guidance on commit messages"
|
| 4 | ---
|
| 5 |
|
| 6 | Use the following format for commit messages:
|
| 7 |
|
| 8 | - `ci: description` for all testing related changes, and changes to github workflows etc.
|
| 9 | - `dev: description` for development related changes, including updates to the cursor or claude rules
|
| 10 | - `fix(component): description` for bug fixes
|
| 11 | - `feat(component): description` for new features
|
| 12 | - `enh(component): description` for enhancements
|
| 13 | - `docs: description` for documentation
|
| 14 | - `ref(component): description` for refactoring
|
| 15 | - `chore: description` for maintenance tasks (pre-commit hooks, imports, etc.)
|
| 16 |
|
| 17 | Generally, the description should focus on the intent of the changes, not the implementation details.
|
| 18 |
|
| 19 | ## Style notes
|
| 20 |
|
| 21 | <IMPORTANT>Do **NOT** add "Co-authored-by: Cursor" lines to the commit message or to the trailer.</IMPORTANT>
|
| 22 |
|
| 23 | ## Reviewing
|
| 24 |
|
| 25 | While preparing the commit message, flag critical issues that should be addressed before committing. Do not flag style issues or minor changes.
|
| 26 |
|
| 27 | Flag the following:
|
| 28 |
|
| 29 | - Anything that might raise an unhandled exception in an unintentional manner
|
| 30 | - Anything that looks logically wrong or inconsistent
|
| 31 | - Breaking changes to protocols/interfaces without corresponding updates to implementations
|
| 32 |
|
| 33 | Flag the following style issue as minor:
|
| 34 |
|
| 35 | - Imports not at top of file
|
| 36 |
|
| 37 | ## Components
|
| 38 |
|
| 39 | Use these component names in parentheses for `fix`, `feat`, `enh`, and `ref` commits:
|
| 40 |
|
| 41 | - `models` - Changes to model interfaces (litellm, anthropic, openai, portkey, openrouter)
|
| 42 | - `agents` - Changes to agent classes (default, interactive, multimodal)
|
| 43 | - `env` - Changes to environments (docker, local, singularity, bubblewrap, swerex)
|
| 44 | - `config` - Changes to configuration files or config handling
|
| 45 | - `run` - Changes to run scripts (mini, hello_world)
|
| 46 | - `benchmarks` - Changes to benchmark runners (swebench, inspector)
|
| 47 | - `cli` - Changes to CLI argument handling
|
| 48 | - `deps` - Dependency updates
|