--- name: commit-conventions description: OhMyCode commit message conventions. MUST load on every git commit — provides Conventional Commits format with scope inference from file paths. --- # OhMyCode Commit Conventions ## Format ``` (): ``` **All lowercase.** Description should be imperative mood ("add", not "adds" or "added"). ## Types | Type | When to Use | |------|------------| | `feat` | New feature or capability | | `fix` | Bug fix | | `docs` | Documentation only | | `test` | Adding or updating tests | | `refactor` | Code change that neither fixes a bug nor adds a feature | | `chore` | Build, tooling, dependency changes | | `style` | Formatting, whitespace (no logic change) | ## Scope Inference Infer scope from the primary file path changed: | Path Pattern | Scope | |-------------|-------| | `ohmycode/tools/*` | `tools` | | `ohmycode/core/*` | `core` | | `ohmycode/providers/*` | `providers` | | `ohmycode/config/*` | `config` | | `ohmycode/memory/*` | `memory` | | `ohmycode/storage/*` | `storage` | | `ohmycode/cli.py` | `cli` | | `tests/*` | same as the source being tested | | `docs/*` | omit scope | | `.claude/skills/*` or `.agents/skills/*` | `skills` | If changes span multiple scopes, use the primary one or omit scope. ## Examples ``` feat(tools): add sql_query tool fix(providers): handle empty delta in OpenAI streaming docs: update DEVELOPMENT_GUIDE with hook system test(core): add permission rule matching edge cases refactor(cli): extract render_stream into separate module chore: bump openai dependency to 1.52.0 feat(skills): add debug-ohmycode skill ``` ## Rules - First line under 72 characters - No period at the end - Body is optional — add if the change needs explanation - Reference issue numbers if applicable: `fix(core): handle empty messages (#42)` - Breaking changes: add `!` after scope: `feat(config)!: change rules format`