Ship is an open-source, plugin-based full-stack TypeScript SaaS starter created by the Paralect team that scaffolds a monorepo with TanStack Start, Hono, Drizzle ORM, and PostgreSQL so makers can build production-ready products quickly.
What is Ship?
Ship is a boilerplate toolkit that generates a monorepo in one of two shapes: a full-stack setup with a Hono + oRPC + Drizzle API in apps/api and a TanStack Start web app in apps/web, or a web-only TanStack Start single-page app with no separate API. It takes a project name as input and outputs a complete codebase with end-to-end type safety from the API to the client, including auth, file storage, and email integrations as optional plugins. The project is maintained by Paralect, a software development company, and is released under the MIT License.
What makes Ship stand out?
- Plugin system — Opt-in add-ons like admin, notes, ai-chat, and files merge into the template via
pnpm plugin:dev, so each copied feature becomes editable code you own. - Filesystem-routed oRPC API — The API layer uses the filesystem for routing and auto-generates a typed client and contract.
DbService<T>Drizzle wrappers — Provide relation loading withwithandcolumns, typed transactions, and mutation event-bus hooks.- shadcn/ui + Tailwind v4 — The web app uses shadcn/ui primitives and Tailwind v4
@themetokens, plus ported widgets likeAppDrawer,PillTabBar, andContentLayout. - Auth out of the box — better-auth handles email/password, email verification, password reset, and Google OAuth.
- File uploads — S3-compatible storage works with Garage locally and Wasabi or AWS in production.
- Email templates — React Email templates are delivered via Resend.
- Real-time communication — Socket.IO websockets with a typed cross-server emitter.
- Data layer — Drizzle migrations,
db:push, and seed scripts for PostgreSQL. - Project tooling — Turborepo for monorepo management, pnpm as package manager, Docker support, multi-environment zod-validated config, Winston logging, and CI-friendly type checks, lint, and format.
Who should use Ship?
- Indie hackers and startup founders who want to validate a SaaS idea quickly without writing boilerplate for auth, database, and API infrastructure.
- Full-stack TypeScript developers who prefer TanStack Start over Next.js and want a type-safe API contract between server and client.
- Teams shipping multiple products that want a consistent, production-tested scaffold with opt-in plugins for common features like admin panels and file storage.
What can you do with Ship?
- For rapid prototyping: scaffold a new project in minutes with
npx @paralect/ship init, then start building features instead of configuring infrastructure. - For production launches: leverage the tested auth flows, S3 file storage, email sending, and scheduled jobs to go live with confidence.
- For custom SaaS builds: use the plugin system to add an admin panel, AI chat, or notes feature, then modify the generated code to fit unique business logic.
How does Ship work?
Run the initialization command npx @paralect/ship init (or npx create-ship-app@latest init, which resolves to the same CLI). Ship then scaffolds the chosen monorepo shape into a new directory. After that, you can add plugin features with pnpm plugin:dev, run database migrations with Drizzle commands, and start the development servers with pnpm.
Pricing
Ship is free and open-source under the MIT License. No paid tiers are mentioned; you can use it for commercial projects with no license fee.
Alternatives
- Create T3 App — a popular full-stack TypeScript starter built on Next.js, which differs by using Next.js and tRPC instead of TanStack Start and oRPC.
FAQ
Is Ship free?
Yes, Ship is released under the MIT License, so it is free to use, modify, and distribute, including in commercial projects.
What stack does Ship use?
The web frontend uses TanStack Start, TanStack Router, TanStack Query, shadcn/ui, and Tailwind v4. The API uses Hono, oRPC, Drizzle ORM, and PostgreSQL. Auth is handled by better-auth, forms use react-hook-form and zod, and real-time uses Socket.IO.
Does Ship include authentication?
Ship includes email/password authentication with email verification and password reset, plus Google OAuth, all implemented with better-auth. You can opt into additional auth providers through the plugin system.
Can I deploy Ship to production?
Yes, Ship includes Docker support, multi-environment configuration validated with zod, S3-compatible file storage for production, and CI-friendly type checks, lint, and format commands. The documentation at ship.paralect.com covers deployment.
What are the two shapes Ship can scaffold?
Ship can scaffold a full-stack monorepo with an API and web app, or a web-only TanStack Start SPA where backend logic lives in type-safe server functions. You choose the shape when initializing.








