← Changelog
Daily2026-06-28

One command — now on Windows too

This day moved the install and launch scripts wholesale from bash to cross-platform Bun TypeScript: the same commands run identically on macOS, Linux and Windows, and Windows no longer needs Git-Bash. Alongside it fixed a string of Windows-specific blockers, changed "sessions" from globally bound to scoped per game, made asset import steadier, and made the underlying CLI faster, more controllable and more auditable.

The biggest barrier: it wouldn't install if you switched platforms

For a long time, getting it installed and running relied on a pile of bash scripts. Fine for macOS and Linux, but a hard wall for Windows users — bash isn't native to Windows, so you either had to install a compatibility layer like Git-Bash or hit assorted cryptic errors. For a tool that wants "anyone to turn ideas into games," "it won't install" is the most fatal first turn-off. This day fixed exactly that: rewriting all install and launch scripts wholesale, from bash into cross-platform TypeScript run by Bun. Bun behaves identically across the three major systems, so the same commands and the same logic run on Windows exactly as on Mac, with no compatibility layer needed.

The commands collapse into one memorable set

Along with the move, the entry points got cleaned up. The scattered, per-platform scripts of the past (.sh, .bat, .ps1, and so on) were deleted together and unified into one plain, memorable set: bun run setup to install the environment once, bun run start to boot the whole stack, bun run stop to stop it, bun run app for the desktop app. Whatever system you're on, these few are all you need to remember. For new users it means "copy four lines from the README and it runs," with no more "I'm on Windows, which one do I swap this for"; for existing users it means no more maintenance burden of "two copies of each script (one sh, one ps1) to edit in lockstep and easy to miss." Collapsing several equivalent scripts into one cross-platform source of truth is the heart of the day's work — one fewer thing to keep in sync is one fewer place to go wrong.

Clearing a string of Windows-specific blockers

To truly make Windows smooth, cross-platform scripts alone aren't enough — you also have to fix, one by one, the oddities that only surface on Windows. A typical case handled this day: the system's "fake" Python — Windows ships a python3 placeholder that isn't actually installed and only pops the app store when invoked, and a script that naively assumes it works will mysteriously stall during setup. This day taught the install flow to recognize and skip that placeholder and find a Python that actually works. Details like this — nonexistent on other systems, tripping you only on Windows — are the most grinding yet most necessary part of cross-platform support: they add no features, but each one fixed means a batch of Windows users stalls one less time and gets to keep going.

Sessions change from globally bound to scoped per game

This day also touched a more internal structure: who a session belongs to (a session being one stretch of your conversation with Forge). Sessions used to be global and separate from any specific game; this day nested them under each game, scoped per game. Meaning: your conversation with Forge for the "space shooter" project and the one for the "farm sim" project are now each their own, never bleeding into each other. It's more intuitive — a conversation belongs to a specific game in the first place — and it lays groundwork for cleaner project management later: switch games and its chat history and context come along, instead of facing one global pot of mixed sessions. This kind of "filing data where it truly belongs" tidy-up is unglamorous day to day, yet it keeps the whole system's mental model clean.

Steadier asset import + a faster, more controllable CLI

The day also landed several fixes that make daily use steadier. On assets, it fixed an indexing problem when importing larger models (big meshes need wider integers to index their vertices, which used to fail here) and made the metadata written on model import follow one canonical format — so importing a bigger, more complex model no longer falls over easily. The CLI core that drives the AI got several refinements too: trimming redundancy so the first turn starts working faster in some cases; fixing an issue in injecting an agent's "code of conduct"; and adding optional masking of a user's own external tools plus an audit trail of an agent's calls to host tools — the latter meaning "which tools did the AI actually use this time" becomes traceable on record. Together, this tamps the foundation another layer toward "faster, more controllable, more trustworthy."

What this day means

The protagonist of this day is "the barrier." However powerful a tool is, if a large group is shut out because their system is wrong and it won't install, half its value is gone before anyone uses it. Making install and launch fully cross-platform, so Windows users too can run it with one command, throws that door open to everyone — one of the preconditions for "anyone can make games" to hold true. And on the same day, filing sessions under their game, fixing asset import to be steady, and polishing the CLI core to be faster and more auditable tidied the room while the door was opened. Lower the barrier to entry, then raise the quality inside — this day did both.

← All daily updates