Security & infrastructure: - Remove unused services/ (auth, spacetimedb) and auth.db - Add .env.example template, expand .gitignore for env/db files - Add GitHub Actions CI + commitlint config and workflows - Add manual vendor chunking and source maps to docs/site vite configs Shared UI & docs app: - Add ARIA props and focus-visible rings to Button/Panel - Add ButtonAsLink primitive; use shared Button in NotFound - Wire @void-nav/ui into docs app; refresh content pages - Replace Todo page with Kanban board Gameplay (Bevy): - Add ai module (behavior, faction, navigation, perception, spawning, states) - Add narrative module (events, history, synthesis, ui) - Refine galaxy contents and in-system flight/scene systems
55 lines
2.0 KiB
Markdown
55 lines
2.0 KiB
Markdown
# 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
|