Dual Python/JavaScript adventure runtimes — always in sync
Dual Python/JavaScript adventure engines — always in sync.
ALWAYS generate BOTH _js AND _py code. Never one without the other.
guard: "player has brass-key"
guard_js: (world) => world.has("brass-key")
guard_py: lambda world: world.has("brass-key")
| Runtime | Purpose | |---------|---------| | Python | Server, testing, LLM tethering | | JavaScript | Browser, standalone play |
Both runtimes implement identical World classes with:
turn, adventure, player, room, partyobject, target, npcworld.skills.economy.goldhas(), emit(), flag(), etc.Both runtimes tick the same way:
See SKILL.md for full documentation.
Search for places (restaurants, cafes, etc.) via Google Places API proxy on localhost.
Interact with GitHub using the `gh` CLI. Use `gh issue`, `gh pr`, `gh run`, and `gh api` for issues, PRs, CI runs, and advanced queries.
Create or update AgentSkills. Use when designing, structuring, or packaging skills with scripts, references, and assets.
Start voice calls via the OpenClaw voice-call plugin.
Notion API for creating and managing pages, databases, and blocks.
Gemini CLI for one-shot Q&A, summaries, and generation.
Category:developer
Tags:moollm, runtime, python, javascript, compilation, sync