This is the main implementation directory for Derelict, organized as a pnpm monorepo.
game/
├── packages/
│ ├── frontend/ # Vite + React web application
│ ├── backend/ # Discord bot + Lambda functions
│ └── shared/ # Shared types, game logic, constants
├── package.json # Workspace root
└── pnpm-workspace.yaml
- Node.js 18+
- pnpm 8+
# Install all dependencies
pnpm install# Run frontend dev server
pnpm --filter frontend dev
# Run backend locally (once implemented)
pnpm --filter backend dev
# Run all packages in dev mode
pnpm dev# Build all packages
pnpm build
# Build specific package
pnpm --filter frontend build# Run all tests
pnpm test
# Run tests in watch mode
pnpm test:watchVite + React application with Pixi.js game rendering. Provides the web-based UI for players to visualize and interact with the game.
Key technologies:
- Vite 5
- React 19
- React Router 6
- Pixi.js 7
- Tailwind CSS
Discord bot and AWS Lambda functions. Handles game commands, turn processing, and database interactions.
Key technologies:
- discord.js
- AWS Lambda
- ElectroDB (DynamoDB ORM)
- tRPC
Shared TypeScript types, game logic, and constants used across frontend and backend.
Includes:
- Type definitions (Character, Game, Player, etc.)
- Game mechanics (dice rolls, stat checks, panic system)
- Constants (grid size, max stress, etc.)
See the project root for comprehensive documentation:
/CLAUDE.md- AI assistant context and technical overview/ideas/game_design.md- Game design document/ideas/technical_design.md- Technical architecture
Private project - not licensed for distribution