From sdd-mcp
Guides commit messages and pull requests using Conventional Commits spec for SDD workflow. Use when committing changes, creating PRs, or documenting updates.
npx claudepluginhub yi-john-huang/sdd-mcpThis skill uses the workspace's default tool permissions.
Create clear, consistent commit messages and pull requests that document changes effectively.
Generates Git commit messages following Conventional Commits spec with types like feat/fix/refactor, scopes, subject/body/footer guidelines, and issue references. Activates on commit requests or git mentions.
Guides Git commit messages to follow Conventional Commits v1.0.0 spec, covering types (feat, fix, refactor, etc.), scopes, structure, body, footers, and examples. Use for code commits and PR reviews.
Creates Conventional Commits with pre-commit checklists for scope, quality, tests, linting, formatting, and documentation. Ensures one logical change per commit before git commit.
Share bugs, ideas, or general feedback.
Create clear, consistent commit messages and pull requests that document changes effectively.
Follow the Conventional Commits specification:
<type>(<scope>): <subject>
[optional body]
[optional footer(s)]
| Type | When to Use | Example |
|---|---|---|
feat | New feature | feat(auth): add JWT refresh token |
fix | Bug fix | fix(api): handle null user response |
docs | Documentation only | docs(readme): update installation steps |
style | Formatting, no code change | style(lint): fix linter warnings |
refactor | Code change, no new feature or fix | refactor(user): extract validation logic |
perf | Performance improvement | perf(query): add index for user lookup |
test | Adding/updating tests | test(auth): add login failure tests |
build | Build system changes | build(deps): update dependencies |
ci | CI/CD changes | ci(github): add test workflow |
chore | Other changes | chore(deps): bump lodash version |
revert | Revert previous commit | revert: feat(auth): add JWT refresh |
The scope should indicate the area affected:
feat(auth): # Authentication module
fix(api/users): # Users API endpoint
docs(readme): # README file
test(e2e): # End-to-end tests
refactor(db): # Database layer
# GOOD
feat(auth): add password reset flow
fix(cart): prevent duplicate items
# BAD
feat(auth): Added password reset flow.
fix(cart): Fixes the duplicate items bug
Use for explaining:
feat(auth): add multi-factor authentication
Implement TOTP-based 2FA for enhanced security.
Users can now enable 2FA from their profile settings.
- Add TOTP secret generation
- Add QR code for authenticator apps
- Add backup codes for recovery
Closes #123
BREAKING CHANGE: API endpoint changed from /users to /api/v1/users
Refs: #123, #456
Co-authored-by: Name <email@example.com>
## Summary
<!-- 1-3 bullet points describing the changes -->
- Add user authentication with JWT
- Implement password reset flow
- Add comprehensive test coverage
## Motivation
<!-- Why is this change needed? -->
Users need secure authentication to access protected resources.
## Changes
<!-- Detailed list of changes -->
### Added
- `AuthService` for handling authentication logic
- `JWTProvider` for token generation/validation
- Unit and integration tests for auth flow
### Changed
- Updated `UserController` to use AuthService
- Modified API routes to require authentication
### Removed
- Deprecated session-based authentication
## Testing
<!-- How was this tested? -->
- [x] Unit tests pass
- [x] Integration tests pass
- [x] Manual testing completed
- [ ] E2E tests (pending)
## Screenshots
<!-- If applicable -->
## Checklist
- [x] Code follows project style guidelines
- [x] Tests added/updated
- [x] Documentation updated
- [x] No breaking changes (or documented)
- [x] Security considerations reviewed
## Related Issues
Closes #123
Refs #456
Each commit should be one logical change:
# GOOD: Separate commits for separate changes
git commit -m "feat(user): add email validation"
git commit -m "test(user): add email validation tests"
# BAD: Multiple unrelated changes
git commit -m "add email validation, fix bug, update docs"
feat(cart): add quantity update functionality
Allow users to update item quantities directly from the cart.
Includes optimistic UI updates and error handling.
- Add updateQuantity method to CartService
- Add quantity input component
- Add debounced API calls
Closes #234
fix(auth): prevent session fixation attack
Regenerate session ID after successful login to prevent
session fixation attacks.
Security: OWASP A7 - Identification and Authentication Failures
refactor(api): extract common error handling
Move error handling logic to middleware for consistency
across all API endpoints.
- Create ErrorHandlerMiddleware
- Add custom error classes
- Update all controllers to throw custom errors
No functional changes.
feat(api)!: change user endpoint response format
BREAKING CHANGE: The /api/users endpoint now returns
a paginated response instead of an array.
Before:
[{ id: 1, name: "John" }, ...]
After:
{
data: [{ id: 1, name: "John" }, ...],
pagination: { page: 1, total: 100 }
}
Migration: Update all clients to handle the new response format.
<type>/<ticket>-<description>
Examples:
feature/AUTH-123-jwt-authentication
bugfix/CART-456-duplicate-items
hotfix/PROD-789-security-patch
chore/update-dependencies
# Check status
git status
# Review changes
git diff
# Stage specific files
git add src/auth/
# Or stage all
git add -A
# With message
git commit -m "feat(auth): add login endpoint"
# Open editor for longer message
git commit
# Update from main
git fetch origin main
git rebase origin/main
# Run tests
{your test command} # e.g., npm test, pytest, cargo test, go test
# Push
git push origin feature/AUTH-123-jwt-auth