Skip to content

debuff llms.txt changelog

jp.debuff/debuff

2 changes recorded. MCP Harbor re-reads this listing from the official registry every six hours and asks the live server what it exposes, and keeps what changed between one look and the next.

  • llms.txt +17 −16

    https://debuff.jp/llms.txt

    − > debuff is an open-source TypeScript toolkit for small 2D web games (jams, instant-play portals, prototypes). It's web-standard (WebGL2 with Canvas 2D fallback, ES modules), lean (the starter game is 12.9 kB brotli), and built so AI agents can play, inspect and test the game while a human keeps creative control.− - Docs: https://debuff.jp/docs/getting-started · Agent guide: https://debuff.jp/docs/agents− - debuff: the game toolkit (most of this file).− - spryte: the 2D renderer inside debuff, also a standalone MIT package (`npm install spryte`) for any web app. https://debuff.jp/spryte/− - Keiko: deterministic logic tests for web games, any engine. https://debuff.jp/keiko/− - Myaku: a frame profiler that explains stutter, any engine. https://debuff.jp/myaku/− - plonk: game music written as text and synthesized with Web Audio, any engine (`npm install plonkjs`). https://debuff.jp/plonk/− - Works inside Phaser, and has migration guides from PixiJS and Phaser. Docs: https://debuff.jp/spryte/ · Benchmarks: https://debuff.jp/benchmarks · API: https://debuff.jp/api/spryte/ · Migrating from PixiJS: https://debuff.jp/spryte/migrating-from-pixijs · Inside Phaser: https://debuff.jp/spryte/inside-phaser− - `npm run build` writes a static site to `dist/` (any static host, itch.io as an HTML zip). Production builds show a short "made with debuff" splash: pass `splash: false` to `new Game()` for Poki, which forbids splash screens. Portals also forbid links out of the game and other ad systems. Guide: https://debuff.jp/docs/publishing− - Docs: https://debuff.jp/keiko/ · Engine recipes: https://debuff.jp/keiko/engines · API: https://debuff.jp/keiko/api− - Docs: https://debuff.jp/myaku/ · Verdicts: https://debuff.jp/myaku/verdicts · API: https://debuff.jp/myaku/api− - `new Player().play({ bpm, instruments, sections, order })` from `plonkjs`. Docs: https://debuff.jp/plonk/ · Playground: https://debuff.jp/plonk/playground · API: https://debuff.jp/plonk/api− - Why debuff (comparison with raw canvas): https://debuff.jp/docs/why− - How debuff compares with Phaser, PixiJS, KAPLAY, Excalibur and Godot for coding agents: https://debuff.jp/blog/coding-agents-and-browser-game-engines− - Walkthrough, building a game with Claude Code: https://debuff.jp/blog/build-a-game-with-claude-code− - Every guide, blog post and research article has a Japanese version under https://debuff.jp/ja/ (same paths with a /ja prefix, e.g. https://debuff.jp/ja/docs/getting-started). The API reference is English only.+ > debuff is an open-source TypeScript framework for small 2D web games (jams, instant-play portals, prototypes). It's web-standard (WebGL2 with Canvas 2D fallback, ES modules), lean (the starter game is 12.9 kB brotli), and built so AI agents can play, inspect and test the game while a human keeps creative control.+ - Setting up from nothing, with any agent: https://debuff.jp/skill.md (an Agent Skill: Node, a project, the MCP server for Claude Code, Codex, Gemini CLI, Cursor, VS Code or Windsurf, and `debuff doctor` when something fails).+ - Docs: https://debuff.jp/docs/getting-started.md · Agent guide: https://debuff.jp/docs/agents.md+ - debuff: the game framework (most of this file).+ - spryte: the 2D renderer inside debuff, also a standalone MIT package (`npm install spryte`) for any web app. https://debuff.jp/spryte/index.md+ - Keiko: deterministic logic tests for web games, any engine. https://debuff.jp/keiko/index.md+ - Myaku: a frame profiler that explains stutter, any engine. https://debuff.jp/myaku/index.md+ - plonk: game music written as text and synthesized with Web Audio, any engine (`npm install plonkjs`). https://debuff.jp/plonk/index.md+ - Works inside Phaser, and has migration guides from PixiJS and Phaser. Docs: https://debuff.jp/spryte/index.md · Benchmarks: https://debuff.jp/benchmarks.md · API: https://debuff.jp/api/spryte/ · Migrating from PixiJS: https://debuff.jp/spryte/migrating-from-pixijs.md · Inside Phaser: https://debuff.jp/spryte/inside-phaser.md+ - `npm run build` writes a static site to `dist/` (any static host, itch.io as an HTML zip). Production builds show a short "made with debuff" splash: pass `splash: false` to `new Game()` for Poki, which forbids splash screens. Portals also forbid links out of the game and other ad systems. Guide: https://debuff.jp/docs/publishing.md+ - Docs: https://debuff.jp/keiko/index.md · Engine recipes: https://debuff.jp/keiko/engines.md · API: https://debuff.jp/keiko/api.md+ - Docs: https://debuff.jp/myaku/index.md · Verdicts: https://debuff.jp/myaku/verdicts.md · API: https://debuff.jp/myaku/api.md+ - `new Player().play({ bpm, instruments, sections, order })` from `plonkjs`. Docs: https://debuff.jp/plonk/index.md · Playground: https://debuff.jp/plonk/playground.md · API: https://debuff.jp/plonk/api.md+ - Why debuff (comparison with raw canvas): https://debuff.jp/docs/why.md+ - How debuff compares with Phaser, PixiJS, KAPLAY, Excalibur and Godot for coding agents: https://debuff.jp/blog/coding-agents-and-browser-game-engines.md+ - Walkthrough, building a game with Claude Code: https://debuff.jp/blog/build-a-game-with-claude-code.md+ - Every guide, blog post and research article has a Japanese version under https://debuff.jp/ja/index.md (same paths with a /ja prefix, e.g. https://debuff.jp/ja/docs/getting-started.md). The API reference is English only.

  • llms.txt +29 −7

    https://debuff.jp/llms.txt

    − ## Agent workflow (MCP: `@debuffjp/mcp`, preconfigured in new projects' .mcp.json)− 6. Verify with `run_tests` (logic tests in tests/*.test.ts with keiko: the real game in Node, milliseconds, assert on inspect() state, until/during/trace, sweeps over params) and `run_scenarios` (JSON scripts with screenshot baselines). Ship with `build`: its `leaks` list must be empty.− ## keiko (logic tests, any web engine)− - keiko runs the real game in Node with no browser, on a virtual clock (frames, timers, Date, seeded Math.random). Tests: `play()`, `wait/press/hold/tap`, `until`, `during`, `trace`, `test.sweep`, `test.deterministic`, `replay`, `expect`. Run with `npx keiko` (`npx debuff test` in debuff projects; MCP `run_tests`).− ## myaku (frame profiler, any web engine)− - myaku finds the frames players feel drop and explains each: cause (script with file and function, gc, upload, compile, layout, throttled, hidden, unknown), confidence and a hint. `import "myaku/auto"` first in the entry file for an overlay; `myaku().report()` or `window.__MYAKU__.report()` for JSON (p50/p95/p99 frame time, hitches, worst verdicts, spans).− - `npx myaku record dist --seconds 20 --p95 20 --hitches 6`: plays the game in Chrome/Edge with myaku injected (no game changes), prints percentiles and worst hitches, exits 1 over budget. `--play file.mjs` drives it with Playwright.+ ## What's here+ - debuff: the game toolkit (most of this file).+ - spryte: the 2D renderer inside debuff, also a standalone MIT package (`npm install spryte`) for any web app. https://debuff.jp/spryte/+ - Keiko: deterministic logic tests for web games, any engine. https://debuff.jp/keiko/+ - Myaku: a frame profiler that explains stutter, any engine. https://debuff.jp/myaku/+ - plonk: game music written as text and synthesized with Web Audio, any engine (`npm install plonkjs`). https://debuff.jp/plonk/+ - Two MCP servers: a hosted docs server at https://debuff.jp/mcp (no install) and a project server, `@debuffjp/mcp`, that runs and inspects a live game. Both are below.+ ## Hosted MCP server (docs, no install)+ - Endpoint: `https://debuff.jp/mcp` (streamable HTTP, read-only, no auth). Registry name: `jp.debuff/debuff`. Server card: https://debuff.jp/.well-known/mcp/server-card.json+ - Tools: `search_docs`, `get_doc`, `get_api` (exact signatures, so agents don't guess), `list_starters` (the npm create command for each template), `game_kit` (what debuff gives a game), `playground_link` (turns game code into a playable link in the browser playground).+ - Use it from a chat client with no project, or in any coding agent alongside the project server.+ ## spryte (2D renderer)+ - Immediate-mode 2D rendering on WebGL2 with a Canvas 2D fallback: `createRenderer(canvas)`, then `draw.begin()`, `draw.sprite()`, `draw.sprites()` (thousands in one call from a Float32Array), `draw.text()`, `draw.end()` each frame. No display objects to create or destroy.+ - 2-4x faster than the most popular 2D web renderer: 400,000 particles with every property changing at 60 fps on a laptop GPU, against 100,000. About 11 kB of JavaScript at startup, no dependencies, MIT.+ - Shapes, nine-slice panels, masks, blur and colour filters, blend modes, render targets and custom fragment shaders. Also for data visualisation, creative coding and simulations, not just games.+ - Works inside Phaser, and has migration guides from PixiJS and Phaser. Docs: https://debuff.jp/spryte/ · Benchmarks: https://debuff.jp/benchmarks · API: https://debuff.jp/api/spryte/ · Migrating from PixiJS: https://debuff.jp/spryte/migrating-from-pixijs · Inside Phaser: https://debuff.jp/spryte/inside-phaser+ ## Project MCP server and agent workflow (`@debuffjp/mcp`, preconfigured in new projects' .mcp.json)+ 6. Verify with `run_tests` (logic tests in tests/*.test.ts with Keiko: the real game in Node, milliseconds, assert on inspect() state, until/during/trace, sweeps over params) and `run_scenarios` (JSON scripts with screenshot baselines). Ship with `build`: its `leaks` list must be empty.+ ## Keiko (logic tests, any web engine)+ - Keiko runs the real game in Node with no browser, on a virtual clock (frames, timers, Date, seeded Math.random). Tests: `play()`, `wait/press/hold/tap`, `until`, `during`, `trace`, `test.sweep`, `test.deterministic`, `replay`, `expect`. Run with `npx keiko` (`npx debuff test` in debuff projects; MCP `run_tests`).+ ## Myaku (frame profiler, any web engine)+ - Myaku finds the frames players feel drop and explains each: cause (script with file and function, gc, upload, compile, layout, throttled, hidden, unknown), confidence and a hint. `import "myaku/auto"` first in the entry file for an overlay; `myaku().report()` or `window.__MYAKU__.report()` for JSON (p50/p95/p99 frame time, hitches, worst verdicts, spans).+ - `npx myaku record dist --seconds 20 --p95 20 --hitches 6`: plays the game in Chrome/Edge with Myaku injected (no game changes), prints percentiles and worst hitches, exits 1 over budget. `--play file.mjs` drives it with Playwright.+ ## plonk (game music in code)+ - A song is a few hundred bytes of text: instruments and note patterns, synthesized live with Web Audio. The engine is under 4 kB brotli, so a whole soundtrack is smaller than one compressed music loop. The music can react to the game.+ - `new Player().play({ bpm, instruments, sections, order })` from `plonkjs`. Docs: https://debuff.jp/plonk/ · Playground: https://debuff.jp/plonk/playground · API: https://debuff.jp/plonk/api+ ## Japanese / 日本語+ - Every guide, blog post and research article has a Japanese version under https://debuff.jp/ja/ (same paths with a /ja prefix, e.g. https://debuff.jp/ja/docs/getting-started). The API reference is English only.+ - Japanese feed: https://debuff.jp/ja/blog/feed.xml