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
- Bun/React/Tailwind frontend container.
- Go backend/API container.
- Postgres service container.
- Checked-in Docker Compose infrastructure.
- Register, login, logout, and dashboard routes.
- Model and controller directories for backend code.
- Postgres-backed users and sessions.
- Queryable structured dev logs.
Commands
carbide helpprints the command reference.carbide upgradeupgrades the installed CLI when a newer GitHub commit is available.carbide new <project-name>creates a new project directory.carbide initinitializes the current empty directory.carbide run devstarts the Docker Compose dev stack, prints the app URL and API URL, then streams logs untilCtrl+Cdetaches.carbide statusprints services, containers, published ports, internal ports, and status.carbide stop devstops the Docker Compose dev stack.carbide logsreads.carbide/log/dev.jsonlwith service, text, limit, and JSON queries.carbide follow logsattaches to live container logs.