Files
Space-Game/AGENTS.md
francy51 7c93b8a1ae Add game UI panels, keyboard shortcuts, docs narrative overhaul, and unified dev script
- Add MiniStarMap, NpcMarketPanel, ShipStatusPanel, useKeyboardShortcuts
- Add progress bars for approach/mining operations and cargo fill indicator
- Rewrite docs from spreadsheet-first to exploration-first open-world RPG
- Replace dev:db + dev:standalone with unified dev script (scripts/dev.sh)
- Add Vite chunk splitting for three.js and spacetimedb
- Fix displayName dependency in useSpacetimeConnection
- Remove stale usePlayerSession.ts
- Add AGENTS.md files across all packages
2026-06-02 17:32:15 -04:00

1.7 KiB

VOID::NAV — Monorepo Root

Open-world space exploration RPG. Windward Horizon in space with FTL-style combat.

Directory Map

Path Purpose
apps/docs Living design docs, interactive demos, and vertical-slice prototype
apps/game Playable game shell connected to SpacetimeDB
apps/site Public landing page
packages/ui Shared UI primitives and design tokens
services/spacetimedb SpacetimeDB TypeScript backend module
scripts/ Dev tooling (dev.sh startup script)
archive/ Legacy pre-monorepo files kept for reference
src/module_bindings/ Empty; generated bindings go to apps/game/src/module_bindings

Key Files

  • package.json — pnpm workspace scripts (dev, build, check, generate:bindings)
  • pnpm-workspace.yaml — workspace glob patterns
  • spacetime.json — SpacetimeDB module path and binding generation config
  • tsconfig.base.json — Shared TypeScript config (ES2020, React JSX)

Commands

pnpm dev                # Full stack: SpacetimeDB + game (port 5175)
pnpm dev:docs           # Docs only (port 5173)
pnpm dev:site           # Site only (port 5174)
pnpm dev:game           # Game frontend only (requires running SpacetimeDB)
pnpm build              # Build all apps
pnpm check              # Typecheck all packages
pnpm generate:bindings  # Regenerate SpacetimeDB TypeScript bindings

Conventions

  • SpacetimeDB is the persistence layer from day 1 — no localStorage for game state
  • All UI uses Tailwind CSS v4 with custom design tokens from packages/ui
  • 3D rendering uses React Three Fiber + Drei + Three.js
  • Module bindings are auto-generated — never edit module_bindings/ by hand