Files
initiative/specs/004-edit-combatant/quickstart.md

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

  1. Domain event — Add CombatantUpdated to events.ts
  2. Domain function — Create edit-combatant.ts with pure editCombatant function
  3. Domain tests — Create edit-combatant.test.ts with acceptance scenarios + invariants
  4. Domain exports — Re-export from index.ts
  5. Application use case — Create edit-combatant-use-case.ts
  6. Application exports — Re-export from index.ts
  7. Hook — Add editCombatant action to useEncounter hook
  8. 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 function
  • packages/domain/src/remove-combatant.ts — Pattern for "not found" error handling
  • packages/application/src/add-combatant-use-case.ts — Pattern for use case
  • apps/web/src/hooks/use-encounter.ts — Pattern for hook wiring