Carbide docs

Install, create, run, register.

The first Carbide app should boot with one command and include a Bun/React/Tailwind frontend, Go API backend, Postgres-backed account creation, login, logout, and dashboard flow by default.

Happy Path

curl -fsSL https://raw.githubusercontent.com/ryangerardwilson/carbide/main/install.sh | bash
carbide new demo
cd demo
carbide run dev
carbide status
carbide stop dev

The installer builds the CLI with Go. The generated app does not require host Bun, Node, backend Go setup, or Postgres because those run inside containers.

Open the app URL printed by carbide run dev.

carbide run dev prints the working app and API URLs. It prefers port 8080 and silently selects another local port when 8080 is already in use. To choose one explicitly, run CARBIDE_HTTP_PORT=18080 carbide run dev.

The frontend listens on port 8080 inside its container. Your browser should use the host URL printed by the CLI.

When Docker Compose supports file watch, carbide run dev starts the stack with quiet Compose output, watch enabled, and live logs streamed below the startup summary. Edits under view/web/src/, src/, model/, controller/, view web package/config files, go.mod, go.sum, or Dockerfile rebuild and replace the relevant container.

The CLI presents aligned rows and compact tables with TTY-only color and full-width terminal-only ILoveCandy-style per-container startup and shutdown animation while Docker Compose builds, starts, waits for, or stops containers. Captured or piped output remains plain text for tests, scripts, and AI agents. Before startup, carbide run dev prints only the working app and API URLs. Logs begin only after Compose reports the stack ready. Ctrl+C detaches from live log streaming and leaves the containers running. carbide follow logs attaches to live container logs again. carbide status prints the current service table. carbide stop dev stops the local development stack. Frontend, backend, database, and watch events appear in one timestamped, service-tagged stream and are mirrored to .carbide/log/dev.jsonl. NO_COLOR disables ANSI color without disabling the terminal startup or shutdown animation.

The generated app starts with no seeded users. The first browser visit opens account creation. Registration creates the first user and session; later sessions use the login form.

Generated apps keep browser UI in view/web/src/. Bun owns the frontend server and API proxy, Tailwind owns styling, React owns page flow, forms, and dashboard rendering. The Go backend owns /api routes, auth, sessions, validation, and Postgres access.

Generated App

Commands