---
alwaysApply: true
---

# Git Conventions

## Commit Messages
Follow Conventional Commits format:
```
<type>(<scope>): <subject>

[optional body]

[optional footer]
```

### Types
- `feat`: New feature
- `fix`: Bug fix
- `docs`: Documentation only
- `style`: Code style (formatting, semicolons)
- `refactor`: Code change that neither fixes a bug nor adds a feature
- `perf`: Performance improvement
- `test`: Adding or updating tests
- `chore`: Build process, dependencies, tooling

### Subject Rules
- Use imperative mood ("add" not "added")
- Don't capitalize first letter
- No period at the end
- Max 50 characters

### Examples
```
feat(auth): add social login with Google
fix(cart): resolve quantity update race condition
docs: update API endpoint documentation
refactor(utils): extract date formatting to shared module
```

## Branch Naming
- `feature/<description>` - New features
- `fix/<description>` - Bug fixes
- `hotfix/<description>` - Urgent production fixes
- `chore/<description>` - Maintenance tasks

## Pull Request Guidelines
- Keep PRs focused and reasonably sized
- Include clear description of changes
- Reference related issues
- Ensure CI passes before requesting review
