ai-project-bootstrap
Docs / Choosing a stack / Archetypes

Archetypes

A preset picks a stack. An archetype picks a stack and scaffolds a real, running starting point on top of it — actual screens wired to an actual data model.

npx ai-project-bootstrap --archetype habit-tracker
npx ai-project-bootstrap --archetype habit-tracker --yes

habit-tracker

Stack
Expo · Supabase · Supabase Auth · Dark Theme · Jest
Data model
habits and habit_checkins tables with Row Level Security, plus a migration file
Auth
Email magic-link sign-in, wired end to end
Screens
Habit list with real streak tracking, and an add-habit screen

How it differs from a preset

Pre-filling works identically — same review-before-generating flow, same 'still asks about anything unopinionated' behaviour. What differs is what happens after: a second pass writes the archetype's own scaffold — real .ts/.tsx source and a Supabase migration, not just docs — into the same project, rendered through the identical templating every technology module already uses.

Read this first in the result

docs/starter-template.md documents exactly what got scaffolded, what is deliberately not wired in, and how to apply the migration before running the app.

Deliberately left out

Payments, analytics and notifications are yours to add with `add <technology-id>` afterwards — kept out of the default to keep the starter's first-run surface small. And no router: this generator never scaffolds one, for any project.

Only one ships today

That is deliberate. An archetype is a manifest plus a scaffold directory — the same shape as a technology module — so adding another touches no code in src/. The full contract is in Adding an archetype.