create-ship-app is the Ship CLI. One command scaffolds a pnpm + Turborepo monorepo, copies your chosen plugins into the repo, and wires a deployment target — ready to run.
npx create-ship-app@latest init resolves to the same CLI. Both run version 3.0.0.The scaffold flow
init walks you through three questions, then builds the project.
1
Pick a setup
Two shapes — see Architecture for the full picture:
- PostgreSQL + TanStack Start — full-stack. You get
apps/api(Hono + oRPC + Drizzle + PostgreSQL) andapps/web(TanStack Start), with end-to-end types flowing from the API to the client. - TanStack Start web-only —
apps/webonly, noapps/api. Backend logic runs as type-safe server functions inside the Start server. No database, no API to maintain.
2
Choose plugins
A multiselect — space to toggle, enter to confirm. Each plugin merges into your codebase, the same way
shadcn/ui adds components. See Plugins.auth-starter and admin are pre-selected for the full-stack setup. In the web-only setup, plugins that need a backend are hidden.3
Choose a deployment target
Pick where this ships. The CLI drops the matching CI workflows and infrastructure-as-code into your repo.
pnpm start brings up infrastructure, runs migrations, and starts every service.
Naming the project
Pass a directory to skip the name prompt:Skipping the deployment prompt
Pass--deployment (-d) with a shortcut to answer that question up front:
Adding plugins later
The CLI doesn’t stop at scaffold time. From inside an existing Ship project, pull a plugin into your repo:install copies the plugin’s resources, routes and packages into your codebase — apps/api/src/resources/..., apps/web/src/routes/..., packages/... — so from then on every line is yours to edit. See Plugins for the full catalog.
