The customize preset builds projects from capability groups below. The CLI validates combinations before writing files—conflicts surface as errors from validate or interactive create.
Package manager
| Option | Status | Notes |
|---|---|---|
| Bundefault | Stable | Default package manager with Bun-native catalogs. |
| pnpm | Stable | First-class package manager with pnpm-native catalogs. |
| npm | Experimental | Not part of the stable generated-project matrix. |
TypeScript runtime
| Option | Status | Notes |
|---|---|---|
| Node.jsdefault | Stable | — |
| Bun runtime | Requires validation | — |
Rust API
| Option | Status | Notes |
|---|---|---|
| Axumdefault | Requires validation | — |
Database
| Option | Status | Notes |
|---|---|---|
| Postgres + SQLxdefault | Requires validation | — |
| None | Stable | — |
| SeaORM | Experimental | — |
Related presets
| Preset | Use when |
|---|---|
customize | You need specific database, ORM, bundles, or addons |
experiments | You accept unstable or proof-gated generators |
Walkthrough: Customize & experiments.
Bundles (TypeScript fullstack)
Common bundle ids passed via --bundle=:
product,realtime,growth,infra,ai
Exact compatibility is enforced in packages/registry—do not assume a bundle works on every preset.