1.3 KiB
1.3 KiB
Quickstart: Edit Combatant
Feature: 004-edit-combatant
Setup
pnpm install # Install dependencies (if needed)
pnpm check # Verify everything passes before starting
Development
pnpm --filter web dev # Start dev server at localhost:5173
pnpm test:watch # Run tests in watch mode
Implementation Order
- Domain event — Add
CombatantUpdatedtoevents.ts - Domain function — Create
edit-combatant.tswith pureeditCombatantfunction - Domain tests — Create
edit-combatant.test.tswith acceptance scenarios + invariants - Domain exports — Re-export from
index.ts - Application use case — Create
edit-combatant-use-case.ts - Application exports — Re-export from
index.ts - Hook — Add
editCombatantaction touseEncounterhook - UI — Add inline name editing to
App.tsx
Verification
pnpm check # Must pass — format + lint + typecheck + test
Key Files to Reference
packages/domain/src/add-combatant.ts— Pattern to follow for domain functionpackages/domain/src/remove-combatant.ts— Pattern for "not found" error handlingpackages/application/src/add-combatant-use-case.ts— Pattern for use caseapps/web/src/hooks/use-encounter.ts— Pattern for hook wiring