commit
Commit Convention
This project uses the Angular Conventional Commits format with Lefthook pre-commit hooks.
Format
<type>[(optional scope)]: <description>
Types
| Type | Usage |
|---|---|
feat |
New feature (MINOR in SemVer) |
fix |
Bug fix (PATCH in SemVer) |
docs |
Documentation changes only |
style |
Code style (formatting, no logic change) |
refactor |
Code change — not a fix, not a feature |
perf |
Performance improvement |
test |
Adding or fixing tests |
build |
Build system or dependency changes |
ci |
CI/CD configuration changes |
chore |
Other changes (tooling, config) |
Scopes (Domain-Based)
Use the domain or area as scope:
tasks— task management domainuser— user domaincore— core app componentsshared— shared utilitiesstore— NgRx store changesapi— API/infrastructure changese2e— E2E test changesdeps— dependency updates
Breaking Changes
Add ! after type/scope:
feat(api)!: change task endpoint response format
BREAKING CHANGE: The /tasks endpoint now returns paginated responses
Examples
feat(tasks): add drag-and-drop reordering to task board
fix(store): handle null error in task loading
refactor(tasks): migrate task-card to signal inputs
test(tasks): add unit tests for task-store computed signals
style(tasks): format task-dashboard template
docs(readme): update development setup instructions
chore(deps): update Angular to v21.1.4
Pre-Commit Hooks
Lefthook runs automatically on commit:
- Prettier — auto-formats staged files
- ESLint — auto-fixes linting issues
If a hook fails, fix the issue and commit again. Do NOT use --no-verify.
Process
- Stage relevant files:
git add <specific-files> - Create commit with conventional message
- Let Lefthook hooks run (Prettier + ESLint)
- If hooks modify files, they auto-stage the changes
More from danielsogl/copilot-workflow-demo
ngrx-store
Use when creating NgRx Signals Stores for state management. Triggers on requests to "create store", "add state management", "new store", "signal store", or when implementing state patterns with NgRx Signals.
9signal-forms
Use when creating forms with validation in Angular. Triggers on requests involving "form", "validation", "input fields", "form validation", "schema validation", or when building user input forms.
2ngrx-store-patterns
Project-specific NgRx Signals Store patterns for this Angular 21 DDD application. Activates when code involves signalStore, withEntities, rxMethod, patchState, tapResponse, or any NgRx signals state management.
2skill-creator
Create new skills, modify and improve existing skills, and measure skill performance. Use when users want to create a skill from scratch, edit, or optimize an existing skill, run evals to test a skill, benchmark skill performance with variance analysis, or optimize a skill's description for better triggering accuracy.
2openspec-bulk-archive-change
Archive multiple completed changes at once. Use when archiving several parallel changes.
1webapp-testing
Toolkit for interacting with and testing local web applications using Playwright. Supports verifying frontend functionality, debugging UI behavior, capturing browser screenshots, and viewing browser logs.
1