Status: [Planning | In Progress | Complete]
Instructions: Copy this template for new features. Replace
XXXwith the next feature number. Delete this instruction block and all<!-- comments -->after filling in.
As a [user type]
I want to [action]
So that [benefit]
Acceptance Criteria:
- Criterion 1
- Criterion 2
// Example domain model code| Method | Endpoint | Description |
|---|---|---|
| GET | /api/v1/resource |
Description |
| POST | /api/v1/resource |
Description |
Objective:
Tasks:
- Task 1
- Task 2
- Write unit tests
- Implementation
Commit:
git add .
git commit -m "feat(scope): brief description of phase 1
- Detail 1
- Detail 2
Refs: #XXX"Objective:
Tasks:
- Task 1
- Task 2
- Write unit tests
- Implementation
Commit:
git add .
git commit -m "feat(scope): brief description of phase 2
- Detail 1
- Detail 2
Refs: #XXX"Objective:
Tasks:
- Task 1
- Task 2
- Write integration tests
- Implementation
Commit:
git add .
git commit -m "feat(scope): brief description of phase 3
- Detail 1
- Detail 2
Refs: #XXX"Objective: Final polish, documentation updates, and cleanup
Tasks:
- Update API documentation / OpenAPI specs
- Add/update XML comments for public APIs
- Update README if needed
- Remove any TODO comments
- Final code review
Commit:
git add .
git commit -m "docs(scope): add documentation for feature XXX
- XML comments for public API
- Update README
- OpenAPI spec updates
Refs: #XXX"Use these commit types to ensure proper changelog generation:
| Type | When to Use | SemVer Impact | Example |
|---|---|---|---|
feat |
New feature or capability | Minor | feat(budget): add category management |
fix |
Bug fix | Patch | fix(api): correct pagination header |
docs |
Documentation only | None | docs: update API examples |
style |
Formatting, no logic change | None | style: fix indentation |
refactor |
Code restructure, no feature/fix | None | refactor(domain): extract value object |
perf |
Performance improvement | Patch | perf(query): optimize category lookup |
test |
Adding or fixing tests | None | test(budget): add category validation tests |
chore |
Build, CI, dependencies | None | chore: update NuGet packages |
For breaking changes, append ! after the type:
git commit -m "feat(api)!: redesign category endpoints
BREAKING CHANGE: Category endpoints now use /api/v2/categories
- Old /api/v1/categories endpoints deprecated
- New request/response format
Refs: #XXX"Use consistent scopes across the project:
| Scope | Description |
|---|---|
domain |
Domain model, entities, value objects |
api |
API controllers, endpoints |
client |
Blazor UI components |
infra |
Infrastructure, database, repositories |
app |
Application services |
auth |
Authentication/authorization |
budget |
Budget-specific features |
transaction |
Transaction-specific features |
recurring |
Recurring items features |
- Test scenario 1
- Test scenario 2
- Test scenario 1
- Test scenario 2
- Step 1
- Step 2
dotnet ef migrations add FeatureXXX_Description --project src/BudgetExperiment.Infrastructure --startup-project src/BudgetExperiment.Api| Date | Change | Author |
|---|---|---|
| YYYY-MM-DD | Initial draft | @username |