Templates
Overview of Quickback project templates. Choose the right starting point for your backend.
Quickback provides pre-configured templates to get you started quickly. Each template combines a runtime, database, and auth provider into a working project.
Available Templates
Full-Featured Templates
These templates include an example feature (todos) with full security configuration.
| Template | Runtime | Database | Auth | Tenant | Command |
|---|---|---|---|---|---|
cloudflare | Cloudflare Workers | D1 (SQLite) | Better Auth | Multi-tenant | quickback create cloudflare my-app |
bun | Bun | better-sqlite3 | Better Auth | Multi-tenant | quickback create bun my-app |
turso | Bun | LibSQL (Turso) | Better Auth | Multi-tenant | quickback create turso my-app |
Starter Templates
Purpose-built templates with opinionated defaults for common use cases.
| Template | Runtime | Database | Tenant | Command |
|---|---|---|---|---|
blog | Cloudflare Workers | D1 | Single-tenant | quickback create blog my-site |
The blog template creates a single-tenant blog/CMS backend with:
- Public read access (no auth required for
listandget) - Admin-only write access (create, update, delete, publish/unpublish)
- A
postsfeature with title, slug, content, status, and publish date - Single-tenant mode (
organizations: false)
Empty Scaffolding
Start from scratch with just the config file — no example features. Add your own definitions.
| Template | Runtime | Database | Command |
|---|---|---|---|
empty | Cloudflare Workers | D1 | quickback create empty my-app |
empty-bun | Bun | better-sqlite3 | quickback create empty-bun my-app |
These create the project structure with quickback.config.ts only — no features/ directory. Run quickback init inside the project to scaffold your first feature.
What Each Template Includes
Full-featured and starter templates scaffold a complete project with:
quickback.config.ts— Pre-configured with the right providersquickback/features/— Example feature(s) with security configuration- Deployment scripts —
npm run deployfor Cloudflare,npm startfor Bun
Empty templates include only:
quickback.config.ts— Pre-configured with the right providerspackage.json— Dependencies ready to install
Choosing a Template
Cloudflare (Recommended for Production)
Best for production deployments. Runs on Cloudflare's global edge network with zero cold starts. Includes D1 (SQLite at the edge), KV storage, and R2 file storage.
- Free tier available (Workers free plan)
- Global edge deployment
- Built-in KV, R2, Queues, Vectorize
- Dual database mode (separate auth and features DBs)
Bun (Best for Local Development)
Best for local development and prototyping. Runs on Bun with a local SQLite file. No cloud account needed.
- No cloud setup required
- Fast local iteration
- SQLite file stored in
data/directory - Easy to switch to Cloudflare later
Turso (Best for Multi-Region)
Best when you need SQLite with multi-region replication. Uses LibSQL via Turso's managed service.
- Multi-region database replication
- SQLite compatibility
- Managed backups and branching
Blog (Single-Tenant CMS)
Best for personal sites, blogs, or any app with a single tenant. Uses single-tenant mode — no organizations, roles come from user.role.
- Public JSON API for content
- Admin-only editing via Better Auth admin plugin
- Pair with any frontend (Astro, Next.js, SvelteKit, etc.)
Empty (Start from Scratch)
Best when you know exactly what you want to build. Gets you the project structure and config without any opinionated features.
- Config-only scaffolding
- Available for both Cloudflare and Bun runtimes
- Add features with
quickback initor by hand
Template Aliases
For convenience, templates have short aliases:
| Alias | Template |
|---|---|
cf | betterauth-d1-cloudflare |
local | betterauth-sqlite-bun |
saas | b2bsaas-cloudflare |
minimal | api-minimal-bun |
scaffold | empty-cloudflare |
After Creating a Project
# 1. Create the project
quickback create cloudflare my-app
cd my-app
# 2. Log in to the compiler
quickback login
# 3. Compile your definitions
quickback compile
# 4. Run locally
npm run devSee the individual template guides for detailed setup: