Arche is a scaffold CLI and this repository is its source of truth. The public npm package (@arche/create) is still on a guarded release track—until it ships, every command on this site assumes you are in the Arche monorepo (or a fork) and use bun run dev:cli.
Quick loop
- Step 1Generate
Use --dir to write outside this template repo.
Commandbun run dev:cli -- my-app --yes --preset=typescript-fullstack --dir=../projects - Step 2EnterCommand
cd ../projects/my-app - Step 3Verify
CI is the preset verification harness—read AGENTS.md if a step fails.
Commandbun install bun run ci
Preset catalog
Every public preset, its support label, and what it generates:
| Preset | Status | Shape | Good for |
|---|---|---|---|
typescript-fullstack TypeScript Fullstack | Requires validation | Next.js web + Express API + tRPC + Better Auth + Prisma | Default production app foundation |
rust-api Rust API | Requires validation | Cargo workspace with service and worker slots | Engine services, background work, and future polyglot scale |
rust-fullstack Rust Fullstack | Requires validation | Next.js web + Axum API + shared deployment docs | Teams that want Rust on the API with a typed web client |
convex-product Convex + Next.js | Requires validation | Next.js + Convex functions + Better Auth stubs | Realtime apps, serverless backend, no Prisma/Neon ops |
solana-program Solana Program | Requires validation | Anchor program + generated client boundaries | On-chain program work with explicit client contracts |
solana-web Solana Web dApp | Requires validation | Next.js dApp + program + wallet adapter direction | Web3 apps with web wallet flows |
solana-mobile Solana Mobile dApp | Requires validation | Expo mobile + program + mobile wallet boundary | Mobile-first Solana products |
solana-product Solana Product | Requires validation | Web + mobile + program + shared Solana config | Full product surface across web, mobile, and chain |
customize Customize | Requires validation | Capability picker with validation gates | Teams that need a bespoke mix of bundles and backends |
experiments Experiments | Experimental | Experimental routes only | Trying unstable generators with clear expectations |
Example: bun run dev:cli -- my-app --preset=typescript-fullstack --yes
CLI from source (today)
Develop from this repo
Use dev:cli until the published @arche/create release is explicitly trusted.
$bun run dev:cli -- my-app --preset=typescript-fullstack --yes
TypeScript monorepo (Next + Express + tRPC + Prisma).
$bun run dev:cli -- my-app --preset=rust-api --yes
Rust API workspace with Cargo and SQLx-ready layout.
$bun run dev:cli -- my-app --preset=convex-product --yes
Next.js + Convex (no Express/Prisma monorepo).
$bun run dev:cli -- my-app --preset=solana-web --yes
Solana web dApp with program and client boundaries.
$bun run dev:cli -- my-app --family=convex --yes
Legacy family flag (same template as convex-product).
$bun run dev:cli -- validate '{"projectName":"x",...}'
Validate a JSON config without writing files.
$bun run dev:cli -- create-json '{"projectName":"x",...}'
Non-interactive scaffold from JSON.
$bun run dev:cli -- mcp
stdio MCP server (plan, create, schema introspection).
After you scaffold
Generated project
Typical commands inside a scaffolded workspace after you cd into it.
$bun install
Install dependencies in the generated workspace.
$bun run dev
Start dev servers (shape depends on preset).
$bun run check-types
Typecheck when the preset advertises it.
$bunx convex dev
Convex routes: link deployment and run functions locally.
Architecture snapshot
Data Flow Diagram
┌─────────────────────────────────────┐│ apps/web (Next.js) ││ ↑ tRPC client │├─────────────────────────────────────┤│ packages/trpc (client contract) ││ ↑ types only │├─────────────────────────────────────┤│ apps/server (Express) ││ ├── modules/*/*.trpc.ts ││ ├── Better Auth (/api/auth/*) ││ └── tRPC endpoint (/api/trpc) ││ ↓ ││ packages/store (Prisma client) │└─────────────────────────────────────┘
Where to go next
- First hour — expanded walkthrough
- Preset catalog — every
--preset=id - CLI flags — non-interactive and CI-friendly options
- Deployment — Vercel, Render, Railway, Neon, Upstash
- Philosophy — why Arche exists and what it refuses to claim
- Code examples — generated wiring snippets by stack