Skip to main content

Monorepo Structure

Hyperscape is organized as a Turbo monorepo with 7 packages:

Package Dependencies

asset-forge is independent and doesn’t depend on other packages.

Package Summary

shared

Core 3D engine with ECS, Three.js, PhysX, and networking

server

Game server with Fastify, WebSockets, and database

client

Web client with Vite, React, UI toolkit, and 3D rendering

plugin-hyperscape

ElizaOS integration for AI agents

website

Marketing website with Next.js and Three.js

asset-forge

AI-powered 3D asset generation

Build Order

Due to dependencies, packages must build in order:
  1. physx-js-webidl (5-10 min first time, cached after)
  2. shared (depends on physx)
  3. All other packages (depend on shared)
Turbo handles this automatically with dependsOn: ["^build"].

Package Versions

Package Commands

Build

Development

Testing

Package Manager

All packages use Bun as the package manager and runtime (v1.1.38+).

Workspaces

Defined in root package.json:
Cross-package imports use workspace protocol:

Engine Requirements

License

  • Core packages: GPL-3.0-only
  • plugin-hyperscape: MIT
  • asset-forge: MIT