Civitas — Development skill for Claude Code
Civitas: a browser-based multiplayer city builder in three.js and TypeScript where every citizen is simulated.
How to install Civitas
This entry records only its repository, not the path inside it, so there is no
exact command to give. Open reneodlt/civitas and copy the folder into
~/.claude/skills/, or the file into ~/.claude/agents/.
What Civitas does
Civitas: a browser-based multiplayer city builder in three.js and TypeScript where every citizen is simulated. Built with Claude Code. AGPL-3.0.
Alternatives in Development
- JS To TS — JavaScript to TypeScript Migration Command 74.5k ★
- TypeScript Lsp — TypeScript / JS /plugin install typescript-lsp@claude-plugins-official 14k ★
- Mcporter — Call MCPs via TypeScript, masquerading as simple TypeScript API 4.1k ★
README
msimcity
A web-based, multiplayer, unbounded city builder platform. three.js on the client, an authoritative TypeScript simulation server over WebSockets, and a shared package so both sides agree on the world format.
The core idea: players buy and manage **land parcels**, but **citizens are not theirs**. A citizen lives in whichever residential building spawned them, looks for the nearest job anywhere on the connected road network, commutes there every day, pays income tax to whoever owns the parcel they work in and property tax to whoever owns the parcel they live in. Players compete and cooperate through zoning, roads and tax rates, not through walls.
Run it
npm install
npm run dev # server on :8080 and Vite client on :5173, both bound to 0.0.0.0
Open `http://:5173/` (the Vite banner lists the addresses), pick a name, and you are in. Every browser that joins shares the same world.
Buildings are data: `packages/shared/src/buildings/` holds one file per kind family, and `npm run buildings:compile` (run automatically by dev and build) turns it into the tables the game reads. `/viewer.html` shows every kind, level and design on a turntable by day and night. Format and a worked example: `docs/buildings.md`. `npm run buildings:check` is its snapshot test.
Production: `npm run build` then `npm start`. The server then serves the built client and the WebSocket on one port (default 8080). A `Dockerfile` is included; mount `/data` to keep the world across restarts.
Environment: `PORT`, `HOST`, `SEED` (new worlds only), `WORLD_FILE`, `STATIC_DIR`. Dev knobs: `SIM_STEPS=10` fast-forwards (ten simulation ticks per interval), `SEED_BUILT=3` starts a new world with the Commons already built to that level, and a file named `RESET` next to the world file makes the next start discard it. Client: `VITE_WS_URL` to point at a server on another host, or `?ws=host:port`. `TEST_CITY_BASE_PORT` (default 8100) moves the test-city ports. A public
Related Skills
Claude Opus 5.5 Zombies Game
Dead Signal: Exclusion Zone — the Claude Opus 5.5 Zombies Game. A browser FPS extraction-survival zombie shoot
CoTFly
A fruit fly in a tiny tank helmet plays Claude of Tanks. Live spiking neurons, a miniature 3D cockpit, and aut
Nova Lancer
Star Fox-inspired 3D rail shooter for the browser, built with Claude Code × Claude Opus 5.5 (MAX) — three.js,
145 Korat Cyberpunk
Korat Roadster (โคราชโรสเตอร์) — a browser racing game on the real streets around Ya Mo plaza, Nakhon Ratchasi
Peeka
Agent-native studio for procedural 2D avatars. Humans shape a face in the browser; agents build one over the A
Offer Toolkit Skill
Full job-hunt Claude skill bundle — Job Description decoder + Resume builder (11 templates) + Behavioral Inter
Related Agents
Game Developer
Game development across all platforms (PC, Web, Mobile, VR/AR). Use when building games with Unity, Godot, Unr
Milestone Reviewer
Reviews a milestone's plan before anything is built — prd, milestone, phases. Launched by the PM at the end of
Mf Engineer
motion-forge implementation engineer for one bounded unit — a scene, shader, Three.js system, GSAP timeline se