Getting started
Project structure
Where everything lives, and where your code goes.
apps/
api/ the API: src/modules/<module>/{schema,service,routes}.ts and tests
app/ the dashboard
admin/ the admin portal
web/ the marketing site: src/sites/<site>/ holds its words and pages
docs/ these docs
packages/
ui/ every component (one library; apps never copy a component)
design/ theme tokens and the theme files
config/ reads and checks makev1.config.ts
marketing/ marketing sections
billing/ payment provider adapters
email/ mail transports and templates
storage/ S3-compatible, Azure, local storage
queue/ optional brokers for jobs
consent/ cookie consent
api-client/ the typed client generated from the API's OpenAPI document
makev1.config.ts your product's build-time choicesGenerated files
apps/api/openapi.json and packages/api-client/src/schema.d.ts are generated and committed. After changing a route, regenerate both:
pnpm --filter @makev1/api openapi:generate
pnpm --filter @makev1/api-client generateTests fail when they are stale, so a route change and its contract change land together.