Commit Style Guide
Conventional Commits format for all commits in this project.
Format
<type>(<scope>): <description>
[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
- Subject line: Max 72 characters, imperative mood ("Add" not "Added")
- No period at end of subject line
- Scope is optional but recommended for component-specific changes
- Body: Wrap at 72 characters, explain "what" and "why"
- 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"