Kubo
Montar stack

bts.jsonc

O que o bts.jsonc faz e por que importa

O que é?

bts.jsonc é um pequeno arquivo de configuração gravado na raiz do projeto quando você o cria. Ele registra as escolhas de stack (frontend, backend, API, DB/ORM, auth, addons etc.). O arquivo usa JSONC (JSON com comentários) e inclui um schema para dicas no editor.

Onde: ./bts.jsonc

Por que existe

  • Necessário para o comando add detectar a stack atual
  • Ajuda a validar compatibilidade e pré-preencher padrões sensatos

Se bts.jsonc estiver ausente, o comando add não consegue rodar porque o projeto não pode ser detectado.

Seguro apagar (com ressalva)

É seguro apagar no desenvolvimento normal; o código gerado em apps/* e packages/* continua sendo a fonte da verdade. Porém, se planejar usar o comando add depois, você deve manter o bts.jsonc (ou recriá-lo) para a CLI detectar o projeto.

Formato

O arquivo é JSONC com comentários habilitados e inclui uma URL $schema para tooling.

// kubojs configuration file
// safe to delete
{
  "$schema": "https://r2.kubojs.dev/schema.json",
  "version": "x.y.z",
  "createdAt": "2025-01-01T00:00:00.000Z",
  "reproducibleCommand": "bun create kubojs@latest create-json --input '{...}'",
  "frontend": ["tanstack-router"],
  "backend": "hono",
  "runtime": "bun",
  "database": "sqlite",
  "orm": "drizzle",
  "api": "trpc",
  "auth": "better-auth",
  "addons": ["turborepo"],
  "addonOptions": {
    "wxt": {
      "template": "react",
    },
  },
  "examples": [],
  "dbSetup": "none",
  "dbSetupOptions": {
    "mode": "manual",
  },
  "webDeploy": "none",
  "serverDeploy": "none",
  "packageManager": "bun",
}

Observações:

  • Os valores espelham o que você selecionou na criação do projeto
  • reproducibleCommand contém o comando exato para recriar este projeto
  • Quando há opções estruturadas, o comando reproduzível usa create-json
  • addonOptions guarda configuração aninhada de addons orientados por prompts
  • dbSetupOptions guarda o comportamento estruturado de setup de banco para automação
  • O arquivo pode ser atualizado ao rodar add (addons e config específica de addon)

Veja também: comando add