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

43 lines
1.7 KiB
Markdown

# 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
```bash
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