Picking a starter bundle
When you create a new project, Forge offers a “Want to start with a bundle?” modal. Each bundle scaffolds a complete playable slice: scenes, systems, art, dialogue, music, QA scenarios, the works. You pick one, click apply, and the project opens with a dev server you can start immediately.
You can also pick Blank project and wire everything yourself. Bundles are the fast path; blank is the right call if you’re porting an existing codebase in or already know exactly what you want.
What a bundle includes
Section titled “What a bundle includes”Every bundle gives you the same shape:
- A working game you can boot in a browser (
pnpm devat localhost:5174) inside the first minute. - A
GameManagerspine that owns every system. See The Game Manager spine for what that means. - Pre-wired system components: AudioManager, EventBus, ProjectConfig, StateMachine, SaveSystem, and whichever others fit the genre.
- Hand-authored data files (scenes, dialogue, animation clips, palettes) that you can edit in Forge’s visual tabs or by hand.
- Asset bank: sprites, portraits, music loops, SFX cues, all generated for the Forge starter bank and free to reuse.
- A
README.mdinside the project root that tells you exactly what’s there, how to extend it, and which agent hooks the bundle expects. - QA scenarios under
.forge/qa/that the agent can run to smoke-test your changes. See QA playtest.
The four bundles
Section titled “The four bundles”| Bundle | Genre | Tech | Use when |
|---|---|---|---|
| Platformer | 2D side-scroller | Phaser 3 + Vite | You want jump physics, parallax, enemies, levels |
| Top-down RPG | Top-down adventure | Phaser 3 + Vite | You want tilemaps, NPCs, dialogue, quests, multi-map |
| Narrative | Visual novel | Pure DOM + Vite | You want dialogue trees, portraits, branching choices |
| Web minimal | Single-screen clicker | Pure DOM + Vite | You want the smallest possible spine to learn the harness |
If you’re not sure, Web minimal is 600 lines of TypeScript end-to-end. It’s the fastest way to read every system in one sitting and see how the spine works.
How the picker works
Section titled “How the picker works”The picker fires automatically after a fresh project scaffolds. Three exits:
- Pick a bundle. Forge writes the bundle’s files into the project root, wires the systems into
.forge/gamemanager.toml, and opens the project. The dev server is one click away in the Web preview tab. - Blank project. Just opens the project as-is. You’ll get the standard
.forge/skeleton (BRIEF, DESIGN, STACK, etc.) but no game code. - Cancel / Esc. Closes the picker and opens the project. The files are already on disk, so refusing to open would be confusing.
Once a project exists, the picker doesn’t fire again. To add a single system to an existing project, use the scaffold popover above the chat composer (the gear icon). See Systems and Game Manager for that flow.
What gets written to disk
Section titled “What gets written to disk”Picking a bundle scaffolds a complete project tree alongside the standard .forge/ files. For the Platformer bundle, that looks roughly like:
my-game/├── .forge/│ ├── gamemanager.toml # Registered systems + startup order│ ├── tasks.toml # setup / dev / build / [preview]│ ├── qa/ # Playwright scenarios│ ├── BRIEF.md # Plus the rest of the .forge/ skeleton│ └── …├── public/ # Bundled art, audio, data files├── src/│ ├── main.ts # Entry point│ ├── game-manager.ts # The spine; owns every system│ ├── systems/ # One file per system│ ├── scenes/ # Boot / main-menu / gameplay / pause / etc.│ └── data/ # Levels, palettes, dialog trees├── index.html├── package.json├── vite.config.ts└── tsconfig.jsonEach bundle’s README inside the project (top of the project tree) is the most accurate map for what shipped. These docs cover what you need to decide which bundle to use before scaffolding.
Power user: scaffolding a hidden bundle
Section titled “Power user: scaffolding a hidden bundle”Two bundles exist in the source tree but are deliberately hidden from the picker for now: a 3D adventure scaffold and an FPS scaffold. They depend on Meshy mesh generation and a UX pass that hasn’t landed yet, so they’re parked rather than shown to new users.
If you want one anyway, ask the agent in Act mode:
Scaffold the 3d-adventure bundle into this project
The agent calls the same Tauri command the picker uses. You’ll get the same outcome the picker would have produced, but you’ll be doing it on a project where you already know what you’re doing. Expect rough edges. They’re hidden for a reason.
- Platformer for jump physics and side-scrolling.
- Top-down RPG for tilemaps and NPCs.
- Narrative for dialogue and branching choices.
- Web minimal for the smallest spine you can read in 10 minutes.
- The Game Manager spine for what the systems framework does.