This guide gets you from a fresh clone to a playable WorldOS session.
- macOS or Linux for the Python engine/viewer.
- macOS 13+ plus Xcode Command Line Tools for
WorldOS.app. git.uvfor Python runtime management.- At least one provider login:
- Claude Code for the Anthropic lane.
- Codex CLI for the Codex/OpenAI lane.
Install uv:
curl -LsSf https://astral.sh/uv/install.sh | shgit clone https://github.com/electricsheephq/WorldOS.git
cd WorldOSThe browser surface is the fastest way to inspect and play the app loop.
./worldos-play.commandor:
scripts/play.sh sundered-reachOpen:
http://127.0.0.1:8765/openworlds/
Use the action palette to continue, look around, speak, act, roll checks/saves, travel, and resolve combat when it starts.
script/build_and_run.shThe built app lives at:
dist/WorldOS.app
Use the native app when you need to prove the release surface: provider settings, app launch, private/public art loading, native window behavior, and provider process startup.
For current visual renderer work, use the Unity 6 / Unity-MCP GPU-VM lane described in
WorldOS-GUI-RUNBOOK.md. extensions/renderers/godot/HANDOFF.md is historical/reference
extension material only.
WorldOS supports provider families rather than a single hard-coded model path.
- Anthropic lane: Claude Code / Claude CLI wrappers.
- Codex lane: Codex CLI / OpenAI models.
- OpenClaw lane: experimental/future gateway work.
Read PROVIDERS.md before changing provider commands or model names.
- Start OpenWorlds or
WorldOS.app. - Confirm the selected provider is ready.
- Start or resume a world.
- Confirm visible DM narration.
- Confirm the active player appears.
- Confirm at least one action is enabled.
- Submit one move.
- Confirm the DM responds and the session remains actionable.
For app proof, /app-status and /session-surface are the machine-readable truth surfaces. See APP_TESTING.md.
Committed content must be original, redistributable, or covered by an appropriate public notice. User-owned content, private art, private screenshots, and raw evidence bundles stay out of git under ignored _private/ or external artifact paths.
See docs/images/README.md for screenshot/image rules.