ARCHE
FamiliesDocsExamplesBlogGitHub ↗
← All posts
May 12, 2026guide2 min read

Choosing a preset without over-committing

TypeScript fullstack, Rust API, Solana web—how to pick a route before you generate.

A preset is a commitment to a shape, not a lifetime prison. Arche makes the shape explicit so you can choose once, generate, and verify—instead of cargo-culting a mega-template.

Decision flow

  1. What runtime owns your core logic?
    • TypeScript/Node → typescript-fullstack or convex-product
    • Rust services → rust-api or rust-fullstack
    • On-chain → Solana family
  2. What surfaces do you ship?
    • Web only, API only, web+API, mobile, or chain+clients
  3. What does evidence say?
    • Read Preset catalog and the verification matrix

When in doubt, start with typescript-fullstack if you want the best-documented path (Better Auth, Prisma, tRPC, deployment notes). Pivot later—you are generating a repo, not marrying a vendor.

Preset cheat sheet

PresetPick when…
typescript-fullstackDefault SaaS / product API + Next.js
rust-apiService-first backend, minimal web
rust-fullstackNext.js UI + Axum API, Rust on the server
convex-productConvex backend, realtime, less Prisma/Neon ops
solana-programAnchor program + client boundaries
solana-webWeb dApp + program
solana-mobileExpo + program
solana-productWeb + mobile + program together
customizeYou need a validated capability mix
experimentsYou accept instability for a prototype

Full table: /docs/presets and /families.

Package manager at generate time

terminal
bun run dev:cli -- my-app --yes --preset=typescript-fullstack --pm=pnpm

Only choose pnpm when the matrix shows support for your preset. Otherwise default Bun.

After generate: verify, don’t assume

terminal
cd my-app
bun install
bun run ci

If CI fails, check AGENTS.md and .env.example before switching presets. The preset is probably fine; env URLs often are not.

Customize without chaos

customize runs compatibility validation in the registry—unsupported combinations fail early instead of halfway through a transform.

Status labels are honesty, not insult

Requires validation means “we will not lie and call this Stable yet.” Use the preset anyway if the shape matches your work—just read the matrix and file issues when evidence is wrong.

Next: First hour.

KitsuneKode

Maintains Arche

All posts