CLI & scaffolding
A rails-style CLI: new scaffolds a project, generate writes code
you edit, add wires in a framework feature that already exists.
go install github.com/nelthaarion/breeze/v2/cmd/breeze@latest
breeze new myapp # minimal REST API
breeze new myapp --template=views # + templates, layouts, components
breeze generate resource User \
name:string:required,min=2,max=40 \
role:string:required,oneof=admin editor viewer
breeze add dashboard --allow-writes
breeze add events --async
breeze add --list # all 23 features, in wiring order
breeze routes # list routes without booting the app
breeze migrate up | down [n] | status
breeze makemigration <name> generate subcommands
| Command | Writes |
|---|---|
generate resource <name> field:type… | struct, handlers, in-memory store, OpenAPI docs, validation — fully wired |
generate handler <name> | route group with CRUD stubs |
generate model <name> field:type… | models/ struct + a paired SQL migration |
generate event <name> [field:type…] | event type with emit/subscribe helpers |
generate listener <Event> | subscriber for an existing event |
generate workflow <name> --steps=a,b,c | workflow definition with retries + compensation |
generate middleware <name> | breeze.HandlerFunc stub |
generate ws <name> | WebSocket handler with connect/message/close hooks |
generate view <name> | HTML view + the route that renders it |
generate job <name> [--every=1h] | background job registered with the dashboard |
generate grpc <name> | gRPC server/client scaffolding from a *_grpc.go interface |
Supported field types: string, int, int64, uint, uint64, float32, float64, bool, []string, time.Time, time.Duration.
All 23 breeze add features
events observability dashboard workflow tuning migrator fleet
recovery logging security cors compression ratelimit i18n jwt
oauth2 etag docs static video websocket templates jsonrpc Each is idempotent and written as a replaceable block in features_generated.go; middlewares are emitted in an order that matters — recovery outermost, cors before ratelimit, etag innermost. See Middleware Reference for the full ordering rationale.
Routes and migrations
breeze routes # list every registered route, no boot
breeze migrate up # apply everything pending
breeze migrate down [n] # roll back the last n
breeze migrate status # what is applied, and what drifted
breeze makemigration create_users # writes the .up.sql / .down.sql pair breeze migrate shells out to cmd/migrate in your project — the program breeze add migrator generates. The CLI itself does not embed a database
driver, so the project chooses it. See Migrations for the ledger, checksums, and the locking model.
MCP: the CLI as an agent
breeze-mcp exposes roughly 40 of these same operations — scaffold, generate,
wire in a feature, run the Go toolchain, inspect a live service — to an AI
agent over the Model Context Protocol. See MCP for AI Agents.