Files
initiative/specs/003-remove-combatant/quickstart.md

1.3 KiB

Quickstart: Remove Combatant

Feature: 003-remove-combatant

Prerequisites

  • Node.js 18+, pnpm
  • Repository cloned, pnpm install run

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

  1. Domain: Add CombatantRemoved event type → implement removeCombatant pure function → tests
  2. Application: Add removeCombatantUseCase → re-export
  3. Web: Add removeCombatant to useEncounter hook → add remove button in App.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