The full upstream README, mirrored here for reference. Install config, tool schemas, adoption signals, and an original overview live on the Gamedev.pl listing page.
Describe a game. An AI agent builds it. Everyone plays it in the browser.
Play now → www.gamedev.pl · closed beta

You write a few sentences about a game you want. The app asks what it needs to know, then you can hand the brief to the platform builder or connect your own coding agent over MCP. The agent builds actual code, not a template with the numbers changed. After review, the game appears in the catalog and runs in a browser. Bring friends — some games turn phones into controllers around one shared screen.
Every game above was built this way.
This repository is the platform that does all of that, and it is open source.
Most of this codebase was written by coding agents, and the pipeline that builds the games is itself run by agents. That is unusual enough to be worth watching rather than just reading about:
One guarantee that CI enforces: every game in the catalog is playable with a thumb. Touch support is derived from each game's source, not declared in its spec, so a game cannot claim playability it does not have.
The interesting engineering is written up in docs/ — start with
docs/README.md.
gamedevpl CLI)Two doors, same games. The on-site page is
https://www.gamedev.pl/connect (also /mcp). It lives
in the header menu, not on /create or public game pages.
MCP. The server is remote and needs no install: point an MCP-capable client at
https://www.gamedev.pl/api/mcp and sign in with OAuth. Claude users can install it as a
plugin instead — listings/mcp/claude-plugin/README.md
has the exact sequence, including the connector approval that installing does not do on its
own. The official registry entry is pl.gamedev/creator.
The tools cover one build round: opening or rejoining it, reading the brief and the engine
kit, asking the kit and docs a question, staging and delivering source files, checking the
quality gate, and exchanging progress, screenshots and messages with the creator. Several
more exist and are deliberately never advertised, so an agent will not discover them.
listings/mcp/README.md lists every tool with its annotations,
what each destructive one actually consumes, and why the rest are hidden.
CLI. apps/cli is the gamedevpl terminal client (no local model). With no verb it
opens a REPL: talk first; a game starts when you ask for one. gamedevpl checkout <slug> is the own-editor
path. Installers (/install.sh) 404 while CLI_SURFACE is off. With the flag on, the
route serves the script even if no cli-v* GitHub release exists yet — that download is
what fails then. Until a release ships, npm install then npm run bundle -w @gamedevpl/cli. Details:
apps/cli/README.md.
Creating games is in closed beta. The tools load for anyone; the calls need an approved creator account. That is the gate, not an outage — join the waitlist.
This project requires Node.js 20.19 or newer. Open http://localhost:5173 (not
127.0.0.1). You get a browsable arcade, playable games, a development sign-in, and an
in-memory submission flow — with no API keys, no GitHub token, and no cloud project.
Game content comes from a sibling games checkout or GAMES_LOCAL_DIR if available, and from
bundled fixture games otherwise. Local submissions remain queued because no coding agent is
watching the in-memory store.
Full detail, including what is deliberately faked locally and what will surprise you, is in
docs/local-development.md.
Note: running this stack locally is for developing the platform, not for recreating the hosted builder. The orchestration code is here, but the live coding-agent runtime is an external hosted service. You can still exercise the creator handoff with your own agent and the live site's MCP connection.
Games are real code, so they cannot be safety-checked the way structured data can. Safety
comes from execution, not inspection: every game is assembled into one self-contained
document and rendered in an <iframe sandbox="allow-scripts allow-pointer-lock"> with no allow-same-origin.
It cannot reach the parent page, cookies, storage, or any authenticated endpoint.
That boundary is the single most important invariant in the project. If you find a way around
it, please report it privately — see SECURITY.md.
Games themselves live in a separate repository maintained by coding agents; this app is
the catalog, the player, and the submission surface. See
docs/games-repo.md.
Contributions are welcome, and the local setup above is designed so your first change can be running in minutes.
SECURITY.md.npm install, then
npm run type-check && npm run lint && npm run test && npm run build before you finish.
Coding agents should read docs/contributing-for-agents.md.Translations are a good first contribution: the interface lives in
apps/web/src/i18n/locales/ and currently ships English and Polish.
gamedev.pl is an old name in Polish game development — for years this domain was a community site where a generation learned to make games, and this repository held its source. The community site survives in the early history of this repo.
The domain now does something different with the same intention: it used to teach people how to make games, and now it lets anyone make one. That continuity is deliberate.