Kubo
Montar stack
CLI

Referência de opções

Referência completa de todas as opções e flags da CLI

Opções gerais

--yes, -y

Usa a configuração padrão e pula os prompts interativos.

kubojs --yes

--template <type>

Usa um template de projeto predefinido:

  • none: Sem template (padrão)
  • mern: Stack MongoDB, Express, React, Node.js
  • pern: Stack PostgreSQL, Express, React, Node.js
  • t3: Configuração da stack T3
  • uniwind: Template UniWind React Native
kubojs --template t3

--manual-db

Pula prompts de setup automático de banco e usa configuração manual de banco de dados.

kubojs --manual-db

--dry-run

Valida configuração, compatibilidade e tratamento de diretório sem gravar arquivos.

kubojs my-app --yes --dry-run

--package-manager <pm>

Escolhe o gerenciador de pacotes: npm, pnpm ou bun.

kubojs --package-manager bun

--install / --no-install

Controla a instalação de dependências após a criação do projeto.

kubojs --no-install

--git / --no-git

Controla a inicialização do repositório Git.

kubojs --no-git

--yolo

Ignora validações e checagens de compatibilidade. Não recomendado para uso normal.

kubojs --yolo

--verbose

Mostra informações detalhadas do resultado em formato JSON após a criação do projeto.

kubojs --verbose

--render-title / --no-render-title

Controla se o título em ASCII art é mostrado. Habilitado por padrão.

# Hide the title (useful in CI)
kubojs --no-render-title

--directory-conflict <strategy>

Como lidar com diretórios de destino existentes e não vazios:

  • merge: Mantém arquivos existentes e mescla os novos
  • overwrite: Limpa o diretório antes do scaffold
  • increment: Cria um diretório com sufixo (ex.: my-app-1)
  • error: Falha em vez de perguntar
# Overwrite an existing directory without prompting
kubojs my-app --yes --directory-conflict overwrite

# Safely create a new directory name if it exists
kubojs my-app --yes --directory-conflict increment

--disable-analytics / --no-disable-analytics

Controla se dados de analytics e telemetria são coletados.

# Disable analytics collection
kubojs --disable-analytics

# Enable analytics collection (default)
kubojs --no-disable-analytics

Analytics ajudam a melhorar o kubojs com insights de padrões de uso. Quando desabilitado, nenhum dado é coletado ou transmitido.

Para automação JSON-first, schemas em runtime e opções estruturadas aninhadas, veja Fluxos de agente.

Opções de banco de dados

--database <type>

Tipo de banco de dados a usar:

  • none: Sem banco de dados
  • sqlite: Banco SQLite
  • postgres: Banco PostgreSQL
  • mysql: Banco MySQL
  • mongodb: Banco MongoDB
kubojs --database postgres

--orm <type>

ORM a usar com o banco:

  • none: Sem ORM
  • drizzle: Drizzle ORM (TypeScript-first)
  • prisma: Prisma ORM (rico em recursos)
  • mongoose: Mongoose ODM (para MongoDB)
kubojs --database postgres --orm drizzle

--db-setup <setup>

Provider de hospedagem/setup de banco:

  • none: Setup manual
  • turso: Turso (SQLite)
  • d1: Cloudflare D1 (SQLite; exige deploy de server em Cloudflare Workers ou backend self com deploy web Cloudflare)
  • neon: Neon (PostgreSQL)
  • supabase: Supabase (PostgreSQL)
  • prisma-postgres: Prisma Postgres
  • planetscale: PlanetScale (MySQL/PostgreSQL)
  • mongodb-atlas: MongoDB Atlas
  • docker: Containers Docker locais
kubojs --database postgres --db-setup neon

Se precisar de controle estruturado sobre o comportamento de provisionamento de banco, use dbSetupOptions com create-json ou a API programática. Veja Fluxos de agente.

Opções de backend

--backend <framework>

Framework de backend a usar:

  • none: Sem backend
  • hono: Hono (rápido, leve)
  • express: Express.js (popular, maduro)
  • fastify: Fastify (rápido, baseado em plugins)
  • elysia: Elysia (nativo de Bun)
  • convex: Backend Convex
  • self: Backend self-hosted/custom
kubojs --backend hono

--runtime <runtime>

Ambiente de runtime:

  • none: Sem runtime específico (somente com backend convex, none ou self)
  • bun: Runtime Bun
  • node: Runtime Node.js
  • workers: Cloudflare Workers
kubojs --backend hono --runtime bun

--api <type>

Tipo de camada de API:

  • none: Sem camada de API
  • trpc: tRPC (type-safe)
  • orpc: oRPC (compatível com OpenAPI)
kubojs --api trpc

Opções de frontend

--frontend <types...>

Frameworks de frontend (pode especificar vários):

Frameworks web:

  • tanstack-router: React com TanStack Router
  • react-router: React com React Router
  • tanstack-start: React com TanStack Start (SSR)
  • next: Next.js
  • nuxt: Nuxt (Vue)
  • svelte: SvelteKit
  • solid: SolidJS
  • astro: Astro

Frameworks native:

  • native-bare: React Native (setup bare)
  • native-uniwind: React Native com UniWind (alternativa ao NativeWind)
  • native-unistyles: React Native com Unistyles

Sem frontend:

  • none: Projeto só de backend
# Single web frontend
kubojs --frontend tanstack-router

# Web + native frontend
kubojs --frontend next native-uniwind

# Backend-only
kubojs --frontend none

Autenticação

--auth <provider>

Escolhe o provider de autenticação:

  • better-auth: Autenticação Better-Auth (padrão)
  • clerk: Autenticação Clerk
  • none: Sem autenticação
kubojs --auth better-auth
kubojs --auth clerk
kubojs --auth none

Nota:

  • better-auth exige um framework de backend (não pode ser none)
  • se você escolher um banco, também deve escolher um ORM
  • com --backend convex, better-auth suporta frontends react-router, tanstack-router, tanstack-start, next e native Expo
  • clerk exige um frontend compatível
  • Backends suportados com Clerk: convex, hono, express, fastify, elysia e self com Next.js ou TanStack Start
  • A autenticação é definida automaticamente como none ao usar --backend none

Pagamentos

--payments <provider>

Provider de pagamentos:

  • none: Sem integração de pagamentos

Addons

--addons <types...>

Recursos adicionais a incluir:

  • none: Sem addons
  • pwa: Suporte a Progressive Web App
  • tauri: Suporte a app desktop para saída web estática (não compatível com --backend self)
  • electrobun: Shell desktop leve para saída web estática (não compatível com --backend self)
  • starlight: Site de documentação Starlight
  • fumadocs: Site de documentação Fumadocs
  • biome: Linting e formatação com Biome
  • lefthook: Git hooks com Lefthook
  • husky: Git hooks com Husky
  • turborepo: Setup de monorepo com Turborepo
  • nx: Setup de monorepo com Nx
  • vite-plus: Toolchain unificada Vite+, task runner de workspace, linting, formatação e hooks Git nativos opcionais
  • ultracite: Configuração Ultracite
  • oxlint: Oxlint + Oxfmt (linting e formatação)
  • mcp: Instala servidores MCP, incluindo o próprio kubojs, com add-mcp
  • opentui: Componentes OpenTUI
  • wxt: Framework de extensão de browser WXT
  • skills: Instala AI agent skills para assistentes de código (Cursor, Claude Code, GitHub Copilot etc.)
  • evlog: Logging estruturado de requests para backends Hono, Express, Fastify, Elysia ou web fullstack
kubojs --addons pwa biome husky

Exemplos

--examples <types...>

Implementações de exemplo a incluir:

  • none: Sem exemplos
  • todo: Exemplo de app todo
  • ai: Exemplo de interface de chat com IA
kubojs --examples todo ai

Deploy

--web-deploy <setup>

Configuração de deploy web:

  • none: Sem setup de deploy
  • cloudflare: Deploy em Cloudflare Workers (via Alchemy infrastructure as code)
  • docker: Deploy self-hosted com Dockerfile e docker-compose.yml na raiz
  • vercel: Deploy com Vercel Services e vercel.json na raiz
kubojs --web-deploy docker

Nota: O Alchemy usa TypeScript para definir infraestrutura de forma programática. Veja o Guia de deploy na Cloudflare com Alchemy para detalhes.

Superfícies de automação

Fazem parte do contrato da CLI para agentes e scripts, mesmo sendo comandos ou campos JSON em vez de flags tradicionais:

  • create-json
  • add-json
  • schema --name <schema>
  • mcp
  • addonOptions
  • dbSetupOptions

Veja Fluxos de agente para exemplos.

--server-deploy <setup>

Configuração de deploy do server:

  • none: Sem setup de deploy
  • cloudflare: Deploy em Cloudflare Workers (quando o runtime é workers, via Alchemy infrastructure as code)
  • docker: Deploy self-hosted com Dockerfile e docker-compose.yml na raiz (exige runtime bun ou node)
  • vercel: Deploy com Vercel Services (exige runtime bun ou node)
kubojs --server-deploy docker

Nota: O Alchemy usa TypeScript para definir infraestrutura de forma programática. Veja o Guia de deploy na Cloudflare com Alchemy para detalhes.

Histórico

history

Visualiza o histórico de criação de projetos. Os projetos são rastreados localmente em diretórios específicos da plataforma:

  • macOS: ~/Library/Application Support/kubojs/history.json
  • Linux: ~/.local/share/kubojs/history.json
  • Windows: %LOCALAPPDATA%\kubojs\Data\history.json
# Show last 10 projects
kubojs history

# Show last 5 projects
kubojs history --limit 5

# Output as JSON
kubojs history --json

# Clear all history
kubojs history --clear

Opções:

  • --limit <number>: Número de entradas a mostrar (padrão: 10)
  • --clear: Limpa todo o histórico de projetos
  • --json: Saída do histórico em JSON

Validação de opções

A CLI valida combinações de opções e mostra erros para seleções incompatíveis. Veja a página de Compatibilidade para regras detalhadas.

Exemplos

Configuração completa

kubojs \
  --database postgres \
  --orm drizzle \
  --backend hono \
  --runtime bun \
  --frontend tanstack-router \
  --api trpc \
  --auth better-auth \
  --addons pwa biome \
  --examples todo \
  --package-manager bun \
  --web-deploy cloudflare \
  --server-deploy cloudflare \
  --install

Setup mínimo

kubojs \
  --backend none \
  --frontend tanstack-router \
  --addons none \
  --examples none