# VOID::NAV — Monorepo Root Single-player narrative-driven space exploration saga. Windward meets Stellaris with AI-generated storytelling in the style of The Templin Institute. ## Directory Map | Path | Purpose | |------|---------| | `apps/docs` | Living design docs, interactive demos, and vertical-slice prototype (Vite + React) | | `apps/game` | Playable game client — **Rust + Bevy** (independent of the JS/TS workspace) | | `apps/site` | Public landing page (Vite + React) | | `packages/ui` | Shared UI primitives and design tokens for the TS apps | | `scripts/` | Dev tooling (dev.sh startup script) | | `archive/` | Legacy pre-monorepo files kept for reference | ## Key Files - `package.json` — pnpm workspace scripts (`dev`, `build`, `check`) - `pnpm-workspace.yaml` — workspace glob patterns (covers TS apps only) - `tsconfig.base.json` — Shared TypeScript config (ES2020, React JSX) — does not apply to `apps/game` - `apps/game/Cargo.toml` — Rust manifest for the game binary ## Commands ### JS/TS workspace (docs, site, packages/ui) ```bash pnpm dev # Docs + site servers pnpm dev:docs # Docs only (port 5173) pnpm dev:site # Site only (port 5174) pnpm build # Build all TS packages pnpm check # Typecheck all TS packages ``` ### Rust game (`apps/game`) ```bash cd apps/game cargo run # Build + run the game binary cargo check # Fast typecheck cargo build # Build without running cargo clippy # Lint ``` ## Architecture Notes - **Two independent toolchains coexist**: the pnpm/TS workspace (docs, site, UI lib) and the Cargo/Rust game client. They share no code. - **V1 is single-player** with local persistence. Future multiplayer servers will be added as an optional enhancement. - **Naming follows RFC 344**: see `apps/game/AGENTS.md` for Rust/Bevy conventions. ## Conventions (TS apps) - TS apps use Tailwind CSS v4 with custom design tokens from `packages/ui` - 3D rendering in `apps/docs` uses React Three Fiber + Drei + Three.js