# Commit Style Guide Conventional Commits format for all commits in this project. ## Format ``` (): [optional body] [optional footer] ``` ## Types | Type | When to Use | Example | |------|-------------|---------| | `feat` | New feature or capability | `feat: Add docker-expert agent` | | `fix` | Bug fix | `fix: Correct skill routing in python-expert` | | `docs` | Documentation only | `docs: Update ARCHITECTURE.md` | | `refactor` | Code change (neither fix nor feat) | `refactor: Streamline agent frontmatter` | | `chore` | Maintenance, dependencies, config | `chore: Bump plugin version to 1.3.0` | | `style` | Formatting, whitespace (no logic) | `style: Fix markdown table alignment` | | `test` | Adding or updating tests | `test: Add skill functional tests` | | `perf` | Performance improvement | `perf: Optimize skill loading` | ## Scopes (Optional) | Scope | Applies To | |-------|------------| | `agents` | Files in `/agents` | | `skills` | Files in `/skills` | | `commands` | Files in `/commands` | | `rules` | Files in `/rules` | | `hooks` | Hook implementations | | `docs` | Documentation files | | `plugin` | Plugin configuration | ## Rules 1. **Subject line**: Max 72 characters, imperative mood ("Add" not "Added") 2. **No period** at end of subject line 3. **Scope is optional** but recommended for component-specific changes 4. **Body**: Wrap at 72 characters, explain "what" and "why" 5. **Breaking changes**: Add `BREAKING CHANGE:` in footer ## Examples ### Simple Feature ``` feat(agents): Add docker-expert agent ``` ### Bug Fix with Context ``` fix(skills): Correct dependency resolution in python-async-patterns The depends-on field was not being parsed correctly when multiple dependencies were specified. Now handles arrays properly. ``` ### Breaking Change ``` refactor(commands): Rename /todos to /tasks BREAKING CHANGE: /todos command no longer exists. Use /tasks. ``` ### Documentation Update ``` docs: Add authority levels to ARCHITECTURE.md ``` ### Multi-component Change ``` feat: Add Go/Rust agents, enhance setperms with AI CLIs - Add go-expert and rust-expert agents - Add AI CLI tools (gemini, claude, codex) to setperms - Add git safety rules to cli-tools ``` ## Anti-patterns ``` BAD: "Updated stuff" - Vague, no type BAD: "feat: added new agent." - Past tense, trailing period BAD: "FEAT: Add agent" - Uppercase type BAD: "feat(agents): Add the new docker expert agent for containerization" - Too long (> 72 chars) GOOD: "feat(agents): Add docker-expert agent" ```