# Room Setup Two ways to create a room: CLI wizard or web wizard. ```bash # CLI wizard python -m init.cli myroom # Web wizard (opens browser on :9000) python -m init.web # Clone from existing room python -m init.cli myroom --from sample ``` ## Layers Each layer is optional beyond layer 0. | Layer | What | Files | |-------|------|-------| | 0 | Config + Data | `config.json`, `data/*.json` | | 1 | Docker | `soleprint/docker-compose.yml`, `.env` | | 2 | Managed App | `docker-compose.yml`, Dockerfiles, `.env` | | 3 | Link | `link/main.py`, `adapters/`, Dockerfile | | 4 | Scripts | `ctrl/start.sh`, `stop.sh`, `status.sh`, `logs.sh` | | 5 | Systems | tester environments, test scaffolds | | 6 | Nginx | `nginx/local.conf`, `docker-compose.nginx.yml` | ![Room Layers](../graphs/room_layers.svg) The wizard adds layers incrementally. Layer 0 is always created. Each subsequent layer builds on the previous ones but none are required. ## Build After the wizard finishes, build the room: ```bash python build.py --cfg myroom ``` Output goes to `gen/myroom/`. The build merges room-specific configs from `cfg/myroom/` into the base framework.