Mint creates a small but complete Expo app shell.
app.json
eas.json
src/app
src/onboarding
src/providers
server/src
CLAUDE.md
AGENTS.md
Routes live in src/app.
The generated app starts with:
src/app/_layout.tsxsrc/app/index.tsxsrc/app/onboarding.tsx
The structure is intentionally simple so agents and non-developers can extend it without fighting a large starter template.
Onboarding is driven by src/onboarding/onboardingMachine.ts.
Add steps to the machine instead of hard-coding screen order in route files. The default flow includes a paywall-ready step so RevenueCat can be attached without rewriting navigation.
Provider helpers live in src/providers:
supabase.tsrevenuecat.tsposthog.ts
App code should import these helpers instead of creating provider clients throughout the app.
Mint includes a Hono TypeScript server in server/src.
Commands:
pnpm server:dev
pnpm server:typecheckUse the server for server-only Supabase work and API routes. Keep client-safe env vars in .env.local with the EXPO_PUBLIC_ prefix.
Mint writes:
CLAUDE.mdAGENTS.md
These files tell future coding agents to preserve the Expo Router structure, extend onboarding through the state machine, use Supabase/RevenueCat/PostHog helpers, and run quality gates before handing back changes.
Generated app commands:
pnpm typecheck
pnpm lint
pnpm test
pnpm format:checkBefore shipping:
pnpm install
pnpm typecheck
pnpm lint
pnpm test
pnpm start