Chris Breuer chris breuer

Stacks.

A full-stack TypeScript framework on Bun, for frontends, backends and the clouds they run on. Think Laravel and Vapor, or Next and Vercel, wholly open source, plus more. Most of what it needed got written along the way, so by now it is an ecosystem more than a framework, and everything I build runs on it, this site included.

Stacks is in active development and usable today, on macOS, Linux and WSL. pantry installs the toolchain, then buddy creates the project:

curl -fsSL https://pantry.dev | bash
pantry bootstrap
panx @stacksjs/buddy new my-project
cd my-project && ./buddy dev

Pages are .stx files: HTML with Blade-style directives, rendered on the server and hydrated in the browser.

Laravel-shaped, with one difference that matters: migrations are derived from your models. Describe the schema once and Stacks diffs it against the database.

Logic lives in actions, small classes a route points at by name. Anything the framework ships can be overridden by creating the same path under app/.

Every way an app talks to people, behind one notification API.

Optional modules for the things most products end up needing.

AI as a framework feature, and a framework built to be written by agents.

Imagine Vercel, Vapor and Forge unified, and open source. buddy deploy takes the app from a laptop to production, infrastructure included.

The same codebase, built for other places.

Convention over configuration, while staying wholly configurable. No more boilerplate.

Stacks is assembled from libraries that each stand on their own. A few of them, and every other public repo is on projects.