bts.jsonc
What bts.jsonc does and why it matters
What is it?
bts.jsonc
is a small config file written to your project root when you create a project. It captures the stack choices you selected (frontend, backend, API, DB/ORM, auth, addons, etc.). The file uses JSONC (JSON with comments) and includes a schema for editor hints.
Where: ./bts.jsonc
Why it exists
- Required for the
add
command to detect your current stack - Helps validate compatibility and pre‑fill sensible defaults
If bts.jsonc
is missing, the add
command cannot run because the project cannot be detected.
Safe to delete (with a caveat)
It’s safe to delete for normal development; the generated code in apps/*
and packages/*
remains the source of truth. However, if you plan to use the add
command later, you must keep bts.jsonc
(or recreate it) so the CLI can detect your project.
Format
The file is JSONC with comments enabled and includes a $schema
URL for tooling.
// Better-T-Stack configuration file
// safe to delete
{
"$schema": "https://r2.better-t-stack.dev/schema.json",
"version": "x.y.z",
"createdAt": "2025-01-01T00:00:00.000Z",
"frontend": ["tanstack-router"],
"backend": "hono",
"runtime": "bun",
"database": "sqlite",
"orm": "drizzle",
"api": "trpc",
"auth": "better-auth",
"addons": ["turborepo"],
"examples": [],
"dbSetup": "none",
"webDeploy": "none",
"packageManager": "bun"
}
Notes:
- Values mirror what you selected during project creation
- The file may be updated when you run
add
(e.g., addons or webDeploy)
See also: add
command