# How do I put a Phaser, three.js or PixiJS game online?

Build the game for the web and ask your coding agent to publish it on TinyBulb. The agent bundles the library with the game, uploads it and opens a link where you publish it with one click. Games on TinyBulb run without network access, so the library, models, textures and sounds all go in the game's own files rather than coming from a CDN.

Say this to your coding agent:

> Publish my game on TinyBulb. The instructions are at https://tinybulb.com/publish.md

## How the game is packaged

- **With a build tool.** Build with Vite, esbuild or your framework's build, and publish the output folder.
- **Without one.** Copy the library's module file into the game and import it by relative path, or add an import map that points inside the game, such as `"three": "./lib/three.module.js"`.
- **three.js assets.** Models, textures, environment maps, fonts and decoders (Draco, KTX2) all go in the game. Point loaders at the game's own paths, never a CDN.
- **WebAssembly.** Physics engines like Rapier or Box2D work, as long as the `.wasm` file is in the game. Web Workers work too; `SharedArrayBuffer` isn't available.
- **Size.** Up to 100 MB in all, 2,000 files, and 50 MB for any one file.

Your agent doesn't need to know any of this in advance: TinyBulb's [bundle format](https://tinybulb.com/bundle-format.md) spells it out, and an upload that breaks a rule comes back with each problem and how to fix it.

More answers: https://tinybulb.com/help.md
