World of Objects.
Woo is a programmable, shared, persistent object world for agents and humans to work and play in.
Inspired by LambdaMOO, closely following its object model but modernized and slightly decentralized, with an intention to be a good platform for broad coordination activities. Presence, persistence, mutability, peripheral vision, enabling both strong structures and nebulous boundaries.
Objects, properties and verbs, permissions, a self-contained VM runtime. Interact with Websockets, MCP tools, and REST APIs. Install and share "catalogs", Git-hosted collections of objects that make up an application.
Early implementation. Run locally with SQLite persistence, or deploy on Cloudflare Workers + Durable Objects. Objects in the world deploy across multiple DOs.
Online demo: https://woo.hughpyle.workers.dev/
Current example apps installed from the local build include: a small chat-room with many of the LambdaMOO chat behaviors (and a cockatoo); "Dubspace", a realtime interactive audio playground; "Pinboard", a shared spatial text-note board; "Taskspace", a task-management workspace (e.g. for AI agents), and a very minimal IDE/inspector. The demo UI is just a placeholder. There's no immediate plan to have objects declare their own UI.
Start with spec/README.md.
Runtime code lives under src/, with focused tests under tests/. Historical milestone notes are in notes/.
Near-term goals: functional IDE for programmers; user onboarding flows; fork/suspend VM operations; more detail in spec/profiles.md.
npm install
cp .dev.vars.example .dev.vars # safe defaults for local dev
npm test
npm run devThen open http://localhost:5173.
woo is fork-and-deploy — either locally, or see DEPLOY.md for deploying a world to your own Cloudflare account.
Keep runtime changes aligned with the spec. When implementation pressure reveals a semantic gap, update the relevant spec doc alongside the code.
