Compare

Better Fullstack vs cargo-generate

cargo-generate is "a developer tool to help you get up and running quickly with a new Rust project by leveraging a pre-existing git repository as a template". It is framework-agnostic: templates are separate repositories, written with Liquid placeholders and optional Rhai scripts, and published by their own projects.

Better Fullstack's Rust ecosystem works from a fixed catalog instead. You choose a web framework, a frontend crate, a database layer, an API layer, and libraries, and it generates a Cargo workspace with a crate for each piece, after checking the selection for compatibility. The frontend crate is a starter page that does not call the backend yet; the generator writes the connection details into the docs and example environment file.

Facts about cargo-generate checked against its public repository and documentation on 2026-10-06.

At a glanceBetter Fullstackcargo-generate
What it isProject generator with its own option catalogTemplate engine for Rust projects
TemplatesMaintained in Better FullstackAny Git repository or local folder; found through the cargo-generate GitHub topic
Web frameworksAxum, Actix Web, Rocket, Poem, Loco, Warp, SalvoWhatever the template provides
FrontendLeptos, Dioxus, or Yew crate in the same workspaceTemplates such as leptos-rs/start-axum
Data and APIsSeaORM, SQLx, Diesel, MongoDB, rusqlite, or tokio-postgres; Tonic, async-graphql, or jsonrpseeWhatever the template provides
Template logicCompatibility rules across optionsLiquid, placeholders, conditionals, Rhai hooks
After generationadd and update commands; upgrades across releases need manual reviewGenerates once; the generated project is yours
InterfacesCLI, visual web builder, MCP server for AI agentsCLI and Rust library

What cargo-generate gives you

A template author defines placeholders in cargo-generate.toml with prompts, choices, defaults, and regex validation, uses Liquid in file contents and names, includes or excludes files conditionally, and runs Rhai hook scripts at init, before, or after expansion. Hooks that run system commands need your approval or `--allow-commands`. Templates can come from a Git URL, a gh: shorthand, a local path, a subfolder, or a saved favorite, and `--define` with `--silent` supports non-interactive use.

Install it with `cargo install cargo-generate`, cargo-binstall, or prebuilt binaries. cargo-generate is also a Rust library, and the cargo-generate organization publishes a GitHub Action that template authors use to test their templates.

Templates people use

Many Rust projects publish cargo-generate templates: ratatui/templates for terminal apps, aya-rs/aya-template for eBPF programs, knurling-rs/app-template and esp-rs/esp-idf-template for embedded targets, and leptos-rs/start-axum, which cargo-leptos uses through its `cargo leptos new` command. These are separate projects with their own maintainers.

Project status, in dates

cargo-generate 0.25.0 was released on 2026-09-18, after 0.24.0 on 2026-08-31, which moved to a pure-Rust Git stack. Releases have come every few weeks since May 2026.

What Better Fullstack adds

Choices that are known to work together: a web framework, a database layer, an API layer such as Tonic with a generated proto crate or async-graphql, auth crates such as oauth2, openidconnect, or tower-sessions, caching, messaging, OpenTelemetry, and a Leptos, Dioxus, or Yew frontend crate. Optional clap and Ratatui crates add a CLI or terminal UI, and libraries such as cargo-nextest and cargo-audit come with their configuration.

A Rust backend can also serve a TypeScript web frontend, or a Rust frontend crate can pair with a backend from another ecosystem, in a multi-ecosystem project.

When cargo-generate is the right choice

Pick cargo-generate when a framework or community already publishes a template for what you are building, such as embedded firmware or eBPF, or when you want to write templates for your own team. Better Fullstack only generates the web services, frontends, and CLI apps in its catalog, and you cannot point it at an arbitrary template repository.

Try the closest Better Fullstack equivalent

The rust-api preset scaffolds Axum with SeaORM and PostgreSQL: `bun create better-fullstack@latest my-app --template rust-api`. The rust-fullstack preset adds a Leptos frontend crate.

Frequently asked questions

Does Better Fullstack use cargo-generate?

No. It renders Rust projects from its own templates, so the generated Cargo workspace already includes the crates you selected.

Can cargo-generate run without prompts?

Yes. Values can come from `--define` flags, a template values file, or environment variables, and `--silent` fails instead of prompting when a value is missing.

Which should I use for a Leptos app?

For the Leptos team's starter, use `cargo leptos new` with leptos-rs/start-axum. Better Fullstack fits when you want a Leptos client crate next to a server crate with a database layer, auth, and other options chosen up front.

Try it in the builder

Configure any stack visually and get a ready-to-run command - every combination is compatibility-checked.

Open the builderbun create better-fullstack@latest

See how Better Fullstack compares to other tools on the full comparison page.

GitHub Sponsors