Quick Start
Create your first Better-S-Stack project in minutes
Philosophy
- Roll your own stack: pick only what you need, nothing extra.
- Minimal templates: bare-bones scaffolds with zero bloat.
- Latest dependencies: always current and stable by default.
- Free and open source: forever.
Get Started
Prerequisites
- Node.js LTS - Download from nodejs.org
- Git (optional) - Download from git-scm.com - if you want to initialize a git repository
- Bun (optional) - Download from bun.com - if you want to use Bun as your package manager
Authentication (private registry)
The CLI is published privately to GitHub Packages under the @sciam-fr scope.
Before running it, authenticate once: create a GitHub personal access token
with the read:packages scope, then add the @sciam-fr scope to your .npmrc
(in ~/.npmrc for all projects, or the project root):
@sciam-fr:registry=https://npm.pkg.github.com
//npm.pkg.github.com/:_authToken=${GITHUB_TOKEN}Export the token so npm/bun/pnpm can read it (${GITHUB_TOKEN} is expanded at
runtime — the token never lands in the file):
export GITHUB_TOKEN=ghp_your_token_hereCLI (prompts)
npm create @sciam-fr/better-s-stack@latestFollow the interactive prompts to choose your frontend, backend, database, ORM, API layer, and addons.
Skip prompts and use the default stack:
npm create @sciam-fr/better-s-stack@latest --yesStack Builder (UI)
- Visit /new to pick your stack and copy the generated command
- Or open it via:
npm create @sciam-fr/better-s-stack@latest builderCommon Setups
Default Stack
npm create @sciam-fr/better-s-stack@latest my-webapp \
--frontend tanstack-router \
--backend hono \
--database sqlite \
--orm drizzle \
--auth better-auth \
--addons turborepoConvex + React + Clerk
npm create @sciam-fr/better-s-stack@latest my-api \
--frontend tanstack-router \
--backend convex \
--auth clerkMobile App (Expo)
npm create @sciam-fr/better-s-stack@latest my-native \
--frontend native-uniwind \
--backend hono \
--database sqlite \
--orm drizzle \
--auth better-authEmpty Monorepo
npm create @sciam-fr/better-s-stack@latest my-workspace \
--frontend none \
--backend noneFlags Cheat Sheet
See the full list in the CLI Reference. Key flags:
--frontend: tanstack-router, react-router, tanstack-start, next, nuxt, svelte, solid, astro, native-bare, native-uniwind, native-unistyles, none--backend: hono, express, fastify, elysia, convex, self, none--runtime: bun, node, workers, none--database: sqlite, postgres, mysql, mongodb, none--orm: drizzle, prisma, mongoose, none--api: trpc, orpc, none--auth: better-auth, clerk, none--payments: polar, none--addons: turborepo, nx, pwa, tauri, electrobun, biome, lefthook, husky, starlight, fumadocs, ultracite, oxlint, mcp, opentui, wxt, skills, evlog, none--examples: todo, ai, none
Next Steps
CLI (per-command)
Flags, usage, and examples for each command
Project Structure
See how web/server/native and Convex layouts are generated
Compatibility
Valid combinations for backend, runtime, database, ORM, API
bts.jsonc
Required for the add command; safe to delete if you don't use add
Contributing
Dev setup and contribution flow