con un clic
create-world
// Generate WorldSeed scene configs (YAML + UI JSON) from a scenario description.
// Generate WorldSeed scene configs (YAML + UI JSON) from a scenario description.
| name | create-world |
| description | Generate WorldSeed scene configs (YAML + UI JSON) from a scenario description. |
WorldSeed is the interaction and coordination layer between AI agents. Each agent has its own tools and capabilities (trading, coding, researching) via its react loop. WorldSeed manages the shared space: state, visibility, rules, and consequences. WorldSeed never touches what agents do on their own.
When designing a world, ask:
Two files per world:
configs/{scene_id}.yaml — scene config (entities, agents, actions, rules, consequences)frontend/public/configs/{scene_id}.ui.json — UI config (how entities render on the dashboard)Read these references, then generate a valid YAML config. Save to configs/{scene_id}.yaml.
configs/template.yaml — starting template with every key commentedconfigs/SCENE_CONFIG.md — full schema referenceconfigs/SCENE_DSL.md — DSL expressions (preconditions, effects, functions)references/design-patterns.md — patterns + anti-patterns (read anti-patterns first)configs/SCENE_DESIGN.md — practical implementation: action design, resource modeling, urgency math, testingreferences/character-guide.md — character cards, drives, playbooksreferences/preset-catalog.md — reusable presets (scene.use) — don't rewrite talk/attempt/moveconfigs/teahouse.yaml — worked example of a complete configThe narrator is on by default (style: "storyteller", interval: 10). Decide whether to keep the default, change the style, or disable it.
Built-in styles (full descriptions in configs/SCENE_CONFIG.md):
storyteller, poet, intel, noir, gossip, conspiracy, bureaucrat, gameshow, trickster
When to adjust:
"storyteller", or pick "noir" / "gossip" / "conspiracy" to match tone"intel" for concise briefings, "bureaucrat" for procedural framing"poet" for minimal imagery, "trickster" for unreliable narrationnarrator: falseprompt vs style: Setting prompt replaces the built-in style entirely — the two are not combined. Use prompt when no built-in style fits. Use style when a preset is close enough.
interval: Default 10 ticks. Lower (e.g. 5) for fast-paced scenes where a lot happens per tick. Higher (e.g. 20) for slow scenes where the narrator would repeat itself.
# Examples
narrator: "storyteller" # shorthand — default style
narrator: false # disable
narrator:
style: "intel"
interval: 5
narrator:
prompt: "Write as a noir detective's internal monologue. Short, cynical sentences."
interval: 15
See configs/SCENE_CONFIG.md → narrator section for full field reference.
Check frontend/public/assets/library/manifest.json for reusable images.
Three paths:
frontend/public/assets/scenes/{scene_id}/asset_pack: "". Renders as fallback text.Asset pack directory structure:
frontend/public/assets/scenes/{scene_id}/
agents/{agent_id}.png
entities/{entity_id}.png
Read these references, then generate a matching UI JSON. Save to frontend/public/configs/{scene_id}.ui.json.
references/ui-config-guide.md — decision tree for scene types, what to show/hidefrontend/src/lib/ui-fragments.ts — copy-paste building blocks with JSDocconfigs/UI_CONFIG.md — full schema referenceconfigs/UI_SCAFFOLD.jsonc — starting templateSet asset_pack to scene ID (if assets exist) or "". Every entity type needs a matching rule. Always set event_defaults: {"bubble": "action"}.
Run through references/config-checklist.md. Focus on:
uv run worldseed validate configs/{scene_id}.yaml
Fix all errors before proceeding.
uv run worldseed play configs/{scene_id}.yaml
Custom port: --port <port>. Multiple worlds run simultaneously on different ports.
attempt as overflow.references/design-patterns.md Moderator Agent Pattern.