Package Exports
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (create-x4) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
create-x4
Scaffold a full-stack TypeScript monorepo with x4.
Quick Start
bunx create-x4 my-app
cd my-app
cp .env.example .env.local
bun db:push
bun devOr with npm:
npx create-x4 my-appWhat You Get
- API — Hono + tRPC v11 (port 3002)
- Web — Next.js 15 App Router (port 3000)
- Mobile — Expo + React Native
- Desktop — Electron
- Marketing — Next.js static site (port 3001)
- Docs — Fumadocs (port 3003)
- Database — Neon Postgres + Drizzle ORM
- Auth — Better Auth with bearer tokens
- AI — Vercel AI SDK + Claude
- CI/CD — GitHub Actions with Neon branching
Options
Usage: create-x4 [project-name] [options]
Arguments:
project-name Directory and monorepo name (e.g., my-app)
Options:
-s, --scope <scope> npm scope for packages (default: @{project-name})
--bundle-id <id> Reverse-domain prefix (default: com.{project-name})
--mobile-name <name> Mobile app name (default: main)
--no-mobile Exclude Expo mobile app
--no-desktop Exclude Electron desktop app
--no-marketing Exclude marketing site
--no-docs Exclude docs site
--no-ai Exclude AI integration package
--pm <manager> Package manager: bun|npm|yarn|pnpm (default: auto-detect)
--no-git Skip git initialization
--no-install Skip dependency installation
--branch <branch> Template branch (default: main)
-v, --verbose Verbose output
--version Print version
-h, --help Print helpPresets
Skip the wizard with a preset:
# SaaS — Web + API + AI (most common)
bunx create-x4 my-app --preset saas --yes
# Full stack — everything included
bunx create-x4 my-app --preset full-stack --yes
# Landing page — Web + API + Marketing
bunx create-x4 my-app --preset landing --yes
# API only — Hono + tRPC server
bunx create-x4 my-app --preset api-only --yesExamples
Create with a custom npm scope:
bunx create-x4 my-app --scope @acmeWeb + API only (no mobile, desktop, marketing, or docs):
bunx create-x4 my-app --no-mobile --no-desktop --no-marketing --no-docsSkip dependency installation:
bunx create-x4 my-app --no-installCustom mobile app name:
bunx create-x4 my-app --mobile-name consumerAdding Apps to an Existing Monorepo
Use create-x4 add to scaffold additional mobile or web apps into an existing x4 monorepo.
# Add a new mobile app
bunx create-x4 add mobile-app --name admin
# Add a new web app
bunx create-x4 add web-app --name portalRun from anywhere inside the monorepo. The command auto-detects the root, scope, and bundle ID.
Options
Usage: create-x4 add <template> [options]
Templates:
mobile-app Expo + React Native app
web-app Next.js 15 app
Options:
--name <name> App name (kebab-case)
--bundle-id <id> Override bundle ID prefix (mobile only)
--no-install Skip dependency installationLicense
MIT