1.3 KiB
1.3 KiB
Quickstart: Remove Combatant
Feature: 003-remove-combatant
Prerequisites
- Node.js 18+, pnpm
- Repository cloned,
pnpm installrun
Development
git checkout 003-remove-combatant
pnpm test:watch # Run tests in watch mode during development
pnpm --filter web dev # Dev server at localhost:5173
Verification
pnpm check # Must pass before commit (format + lint + typecheck + test)
Implementation Order
- Domain: Add
CombatantRemovedevent type → implementremoveCombatantpure function → tests - Application: Add
removeCombatantUseCase→ re-export - Web: Add
removeCombatanttouseEncounterhook → add remove button inApp.tsx
Key Files
| Layer | File | Purpose |
|---|---|---|
| Domain | packages/domain/src/remove-combatant.ts |
Pure removal function |
| Domain | packages/domain/src/events.ts |
CombatantRemoved event type |
| Domain | packages/domain/src/__tests__/remove-combatant.test.ts |
Acceptance tests |
| Application | packages/application/src/remove-combatant-use-case.ts |
Use case orchestration |
| Web | apps/web/src/hooks/use-encounter.ts |
Hook integration |
| Web | apps/web/src/App.tsx |
UI remove button |