{
  "markdown": "# gamedev.pl\n\n**Describe a game. An AI agent builds it. Everyone plays it in the browser.**\n\n[**Play now → www.gamedev.pl**](https://www.gamedev.pl) · closed beta\n\n![Stars](https://img.shields.io/github/stars/gamedevpl/www.gamedev.pl?style=flat-square)\n![License](https://img.shields.io/github/license/gamedevpl/www.gamedev.pl?style=flat-square)\n\n![Six games from the catalog, each built by an AI agent from a written description](./docs/media/demo.gif)\n\nYou write a few sentences about a game you want. The app asks what it needs to know, then you\ncan hand the brief to the platform builder or connect your own coding agent over MCP. The\nagent builds actual code, not a template with the numbers changed. After review, the game\nappears in the catalog and runs in a browser. Bring friends — some games turn phones into\ncontrollers around one shared screen.\n\n_Every game above was built this way._\n\nThis repository is the platform that does all of that, and it is open source.\n\n## Watch an AI dev team ship in public\n\nMost of this codebase was written by coding agents, and the pipeline that builds the games is\nitself run by agents. That is unusual enough to be worth watching rather than just reading\nabout:\n\n- A creator's description becomes a spec, and a **QA gate** asks real clarifying questions\n  before any code is written.\n- A creator chooses the hosted platform builder or connects their own Cursor, VS Code,\n  Claude Code, Codex, or other MCP-capable agent.\n- The agent reports progress, screenshots, and playable drafts to Creator Studio while it\n  works; creator notes return over the same live channel.\n- Revisions start a new task from the exact stored version the creator played, rather than\n  relying on a stale branch or pull request.\n- Every game passes the validation gate and human review before publication to the separate,\n  agent-maintained games repository.\n\n**One guarantee that CI enforces:** every game in the catalog is playable with a thumb. Touch\nsupport is _derived from each game's source_, not declared in its spec, so a game cannot claim\nplayability it does not have.\n\nThe interesting engineering is written up in [`docs/`](./docs) — start with\n[`docs/README.md`](./docs/README.md).\n\n## Connect your agent (MCP or the `gamedevpl` CLI)\n\nTwo doors, same games. The on-site page is\n[`https://www.gamedev.pl/connect`](https://www.gamedev.pl/connect) (also `/mcp`). It lives\nin the header menu, not on `/create` or public game pages.\n\n**MCP.** The server is remote and needs no install: point an MCP-capable client at\n`https://www.gamedev.pl/api/mcp` and sign in with OAuth. Claude users can install it as a\nplugin instead — [`listings/mcp/claude-plugin/README.md`](./listings/mcp/claude-plugin/README.md)\nhas the exact sequence, including the connector approval that installing does not do on its\nown. The official registry entry is `pl.gamedev/creator`.\n\nThe tools cover one build round: opening or rejoining it, reading the brief and the engine\nkit, asking the kit and docs a question, staging and delivering source files, checking the\nquality gate, and exchanging progress, screenshots and messages with the creator. Several\nmore exist and are deliberately never advertised, so an agent will not discover them.\n[`listings/mcp/README.md`](./listings/mcp/README.md) lists every tool with its annotations,\nwhat each destructive one actually consumes, and why the rest are hidden.\n\n**CLI.** `apps/cli` is the `gamedevpl` terminal client (no local model). With no verb it\nopens a REPL: talk first; a game starts when you ask for one. `gamedevpl checkout <slug>` is the own-editor\npath. Installers (`/install.sh`) 404 while `CLI_SURFACE` is off. With the flag on, the\nroute serves the script even if no `cli-v*` GitHub release exists yet — that download is\nwhat fails then. Until a release ships, `npm install` then `npm run bundle -w @gamedevpl/cli`. Details:\n[`apps/cli/README.md`](./apps/cli/README.md).\n\n> **Creating games is in closed beta.** The tools load for anyone; the calls need an\n> approved creator account. That is the gate, not an outage —\n> [join the waitlist](https://www.gamedev.pl).\n\n## Try it locally in five minutes\n\n```bash\nnpm install\nnpm run dev\n```\n\nThis project requires **Node.js 20.19 or newer**. Open **http://localhost:5173** (not\n`127.0.0.1`). You get a browsable arcade, playable games, a development sign-in, and an\nin-memory submission flow — with **no API keys, no GitHub token, and no cloud project**.\nGame content comes from a sibling games checkout or `GAMES_LOCAL_DIR` if available, and from\nbundled fixture games otherwise. Local submissions remain queued because no coding agent is\nwatching the in-memory store.\n\nFull detail, including what is deliberately faked locally and what will surprise you, is in\n[`docs/local-development.md`](./docs/local-development.md).\n\n> **Note:** running this stack locally is for developing the platform, not for recreating the\n> hosted builder. The orchestration code is here, but the live coding-agent runtime is an\n> external hosted service. You can still exercise the creator handoff with your own agent and\n> the live site's MCP connection.\n\n## Safety model\n\nGames are real code, so they cannot be safety-checked the way structured data can. Safety\ncomes from **execution, not inspection**: every game is assembled into one self-contained\ndocument and rendered in an `<iframe sandbox=\"allow-scripts allow-pointer-lock\">` with **no `allow-same-origin`**.\nIt cannot reach the parent page, cookies, storage, or any authenticated endpoint.\n\nThat boundary is the single most important invariant in the project. If you find a way around\nit, please report it privately — see [`SECURITY.md`](./SECURITY.md).\n\n## Repo layout\n\n```\napps/\n  web/               Vite + React + TypeScript — arcade, player, Creator Studio\n  cli/               `gamedevpl` terminal client (see Connect your agent above)\n  api/               Fastify + TypeScript — catalog, jobs, auth, agent channel, multiplayer\n  api/fixtures/      Games-repo-shaped content so the app runs with no credentials\n  e2e/               Playwright checks for critical browser and production flows\n  world/             Persistent-world service, deployed separately from the main API\npackages/\n  contract/          Types, constants and route tables shared across workspaces\n  zone-core/         Shared protocol and simulation primitives for persistent worlds\ninfra/               Cloud Run deployment and read-only production-inspection scripts\ndocs/                The plan of record — read this before making assumptions\n```\n\nGames themselves live in a **separate repository** maintained by coding agents; this app is\nthe catalog, the player, and the submission surface. See\n[`docs/games-repo.md`](./docs/games-repo.md).\n\n## Contributing\n\nContributions are welcome, and the local setup above is designed so your first change can be\nrunning in minutes.\n\n- **Found a bug?** [Open an issue](https://github.com/gamedevpl/www.gamedev.pl/issues/new?template=bug_report.yml).\n  There is a \"Report a bug\" link in the site footer that prefills it for you.\n- **Have an idea?** [Open a feature request](https://github.com/gamedevpl/www.gamedev.pl/issues/new?template=feature_request.yml),\n  or start a [discussion](https://github.com/gamedevpl/www.gamedev.pl/discussions).\n- **Found a security problem?** Do not open an issue — see [`SECURITY.md`](./SECURITY.md).\n- **Writing code?** Run `npm install`, then\n  `npm run type-check && npm run lint && npm run test && npm run build` before you finish.\n  Coding agents should read [`docs/contributing-for-agents.md`](./docs/contributing-for-agents.md).\n\nTranslations are a good first contribution: the interface lives in\n`apps/web/src/i18n/locales/` and currently ships English and Polish.\n\n## History\n\ngamedev.pl is an old name in Polish game development — for years this domain was a community\nsite where a generation learned to make games, and this repository held its source. The\ncommunity site survives in the early history of this repo.\n\nThe domain now does something different with the same intention: it used to teach people how\nto make games, and now it lets anyone make one. That continuity is deliberate.\n\n## License\n\n[GPL-3.0](./LICENSE). Developed with [Genaicode](https://github.com/gtanczyk/genaicode).\n",
  "bytes": 8304,
  "sha": "c096e6577a9a556c6da6bf52ff9d06722bc7cbd8e5d4fd5820a756ecf8c802b8",
  "repo_slug": "gamedevpl/www.gamedev.pl",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_pl_gamedev_creator_d5845e4f/readme"
}