InkApex docs
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 choices

Generated 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 generate

Tests fail when they are stale, so a route change and its contract change land together.

On this page