World
A World is your own tree of projects. Its root holds what is yours alone: your documents, your standing instructions, your skills and the apps you have installed. Every project sits at some folder in that tree. Each device points at one World, and you use the same World on all of them.
How it works
A World is an arrangement, not one big store. The tree you see is drawn from many separate pieces. Each project is shared and synced on its own, and each document in it is its own small CRDT with its own history (sync). Opening your World does not load everything in it, and a change to one document never touches the others.
The World document itself is small. It lists your projects and records where each one sits: which project and which folder it is placed under. The root is backed by a home project that you never see as a project. It gives root-level documents the same catalogue, history and sessions every document has, so a note at the root behaves like any other.
The project is the unit of sharing. Where a project sits in your tree is your arrangement, and it changes nothing about who can see it. Someone you share a project with keeps it wherever their own World puts it, and moving it in yours does not move it in theirs. Membership does not pass down the tree: a project inside a shared project is not shared by being there.
Three things at the root reach every session in your World. Standing instructions are the AGENTS.md at the World root, read on every turn by every session in every project. Skills live at skills/<skillId>/SKILL.md under the root, and each one is offered when a task matches it. Apps installed into the World are available in every project. A project can add its own instructions and skills on top, and a project skill with the same id replaces the World's in that project only.
These are ordinary documents, and where one sits is what makes it work. Drag the World's AGENTS.md into a subfolder and it stops being served, as a file would in any folder tree. Drag it back and it is served again.
Using it as you build
Arrange the tree the way you arrange folders. Drag a project onto any folder and it sits there; drag it to the top and it moves back. Projects nested inside it move with it.
From the command line, print your World's address on one machine and point another machine at it:
mod-next world show
mod-next world use <worldUrl>
mod-next world devices
Read or replace the World-wide standing instructions, and list the skills your World serves:
mod-next skills instructions
mod-next skills instructions --content "Check the tests pass before saying something works."
mod-next skills list
Agents use world_instructions to get or set the standing instructions (with scope of world or project), and register_skill to add or update a skill. Keep standing instructions to the few things always true: they are read by every session on every turn, while a skill is read only when it fits. A session picks up changed instructions on its next fresh start.
Limits
- A device joins your World by its address today. Joining a second device by signing in comes with the new sharing model (RFC 0345). soon
- A device holds one World at a time. Several Worlds per person, such as one per company or household, with a switcher in Settings, are planned (RFC 0344). soon