Multi-stage Docker build (web → server → production). Fastify serves
React build in production with SPA fallback. Docker Compose with volume
for SQLite persistence.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Embeds Battle reference.md content as collapsible sections with markdown
rendering, expand/collapse all controls, and styled tables and blockquotes.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Extracts reusable ConfirmDialog component, refactors ship delete to show
the ship name in confirmation, and improves interaction consistency.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Adds WeaponCard with inline ammo stepper and status dropdown, AddWeaponModal,
WeaponDetailModal with full editing, and debounced NotesSection.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Adds NumericStepper and EnumDropdown UI components, VitalsSection (hull/armor/AC/con),
MobilitySection (speed/maneuver class/size), with debounced real-time updates.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Adds ship cards with navigation, create ship modal with initial stats,
inline delete confirmation, and supporting CSS for modals and cards.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Implements ship list store (REST-based) and ship detail store (Socket.IO-based)
with room join/leave, reconnection handling, and real-time event listeners.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Adds react-router-dom with routes for ship list, dashboard, and rules pages.
Includes TopBar with navigation and mobile-first dark theme CSS.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Implements ship:join/leave/update and weapon:create/update/delete socket events
with room-based broadcasting. Server validates and persists before broadcasting.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Adds POST/PATCH/DELETE for weapons with ammo constraint validation,
status enum checks, and ship existence verification on create.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Adds GET/POST/PATCH/DELETE /api/ships with constraint validation (current <= max),
enum checks for maneuver_class, and cascade delete for weapons.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Adds better-sqlite3 with WAL mode, auto-migration runner that tracks applied
migrations, and initial schema for ships and weapons tables with constraints.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Set up monorepo structure with server/ (Fastify + TypeScript) and web/ (React + Vite + TypeScript).
Includes package configs, dev proxy setup, and mobile-first CSS foundation.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>