Repository navigation
v2.0.0
Better Fullstack v2.0.0 is live
This is the multi-ecosystem release.
You can now build projects where each part of the app can use the ecosystem that fits it best.
TypeScript frontend.
Go, Rust, Python, Java, or Elixir backend.
Database layer.
Mobile app.
One project model.
One generated command.
Multi-ecosystem support
Better Fullstack is no longer limited to one ecosystem per project.
v2.0 adds a new stack graph model that understands project roles:
- Frontend
- Backend
- Database
- Mobile
- Shared tooling
That means the builder and CLI can now reason about a project as a real product made from multiple parts, instead of one flat list of options.
New CLI part syntax
The CLI can now parse and generate scoped project parts.
Example:
bun create better-fullstack my-app \
--part frontend:typescript:react-vite \
--part backend:go:gin \
--database postgresThe important bit: choices now belong to the right role.
A backend option is a backend option.
A frontend library stays in the frontend flow.
Database choices stay tied to the database layer.
Redesigned web builder
The /new builder has been rebuilt around the new model.
The multi-ecosystem flow is now:
- Frontend
- Backend
- Database
- Mobile
- Finalize
Each step focuses on one part of the project.
The final step handles general settings like package manager, AI docs, git, and version channel.
Command preview while you build
The builder now works better as a command composer.
You can keep choosing tools and still see the generated command update as you go.
Partial command during the flow.
Full command at the end.
Copy when ready.
Better multi-ecosystem UX
v2.0 also includes a lot of polish around the builder:
- Multi-Ecosystem mode is now a first-class toggle in the header
- New update modal for the 2.0 launch
- Cleaner step navigation
- Better role cards
- Tool icons in the right places
- Less noise in the Finalize step
- Compatibility fixes so TypeScript-only libraries do not appear where they should not
Generator support
The template generator now understands stack graph parts across the main ecosystem handlers.
This release wires the foundation through:
- TypeScript
- Go
- Rust
- Python
- Java
- Elixir
- Database templates
Not every possible combination is finished yet, but the base is now in place.
This is what lets future ecosystem combinations grow without bolting everything onto the old flat config.
Validation and compatibility fixes
A lot of this release is about making the new model behave correctly.
Fixed and improved:
- Scoped backend validation
- Go auth command roundtrips
- Web command roundtrips
- Reproducible CLI commands
- Frontend-only TypeScript options showing in the wrong step
- TypeScript defaults leaking into non-TypeScript stacks
- Builder CI and Playwright coverage around the new flow
Published packages
Published to npm:
create-better-fullstack@2.0.0create-bfs@2.0.0@better-fullstack/types@2.0.0@better-fullstack/template-generator@2.0.0
Create a new project:
npm create better-fullstack@latestor:
bun create better-fullstack@latestVerified before release
v2.0 passed the release pipeline before publishing:
- Release Guard
- Lint
- Test
- Build Check
- Smoke Test
- Strict smoke tests
- Playwright builder tests
- Web command roundtrip
- Package manager matrix
- CodeQL
Why 2.0
This is a foundation release.
Better Fullstack is becoming a builder for real full-stack systems, not just single-ecosystem starter apps.
v2.0 gives the CLI, web builder, compatibility layer, and generator the same language for describing a project.
That unlocks the next phase: more ecosystem combinations, deeper validation, better previews, and smoother generation for teams building across multiple stacks.
Full changelog:
v1.8.1...v2.0.0