Skip to Content
Phased Development

Phased Development

Buildpad applications follow a mandatory 6-phase development methodology. Every app — regardless of size — is built incrementally through phases with clear deliverables and validation checkpoints. The AI agent uses this structure to plan and track all development work.

The /create-project skill sets up your Phase 0 foundation automatically. Use /start-phase [number] in your AI IDE to begin or continue any phase.

The 6 Phases

PhaseNameFocusExit Criteria
0FoundationProject setup, auth, test infrastructureApp runs, tests configured
1Data FoundationSchema, API routes, typesAll APIs tested
2Core UIList/detail pages, forms, navigationPages render, tests pass
3Business LogicValidation, workflows, permissionsRules enforced
4RelationsM2O, M2M, O2M, files, searchRelations work
5PolishErrors, performance, a11y, docs, E2EProduction ready

Phase Rules

  1. Complete each phase before moving to the next — no skipping
  2. Tests are part of each phase — not a separate activity
  3. Document as you go — not at the end
  4. Validate with the phase gate checklist — all deliverables checked before proceeding
  5. Track progress in PHASES.md — single source of truth

Phase 0: Foundation

Phase 0 is the starting point for every app. It establishes the infrastructure everything else depends on. The /create-project skill handles this automatically and covers:

DeliverableWhat it does
Next.js app scaffoldTypeScript, Mantine v8, Buildpad components installed via CLI
Environment config.env.local with Supabase and DaaS backend URLs
DaaS CORS configAllowlists your localhost and deployed URLs
Auth wiringDaaSProviderWrapper, login/logout/callback proxy routes
Authenticated layoutapp/(authenticated)/layout.tsx with scoped DaaS provider
Test infrastructurePlaywright (E2E) and Vitest (unit) configured
PHASES.mdProgress tracker file created at project root

Exit criteria: pnpm dev runs, the sign-in page loads, and at least one smoke test passes.

How PHASES.md Works

Every generated project includes a PHASES.md file at the root. The agent reads and updates this file as you progress through phases. It tracks:

  • Which phase is currently in progress
  • Which deliverables are complete (checkbox list)
  • Exit criteria status per phase

Check PHASES.md after each tutorial to see where you are.

Using /start-phase

To begin or continue a phase, open the AI chat in your IDE and type:

/start-phase 1

The agent will:

  1. Read your current PHASES.md to check progress
  2. Verify the previous phase’s exit criteria are met
  3. List all deliverables for the requested phase with checkboxes
  4. Implement each deliverable in sequence with tests
  5. Update PHASES.md on completion

The agent enforces phase gates — it will flag incomplete exit criteria before letting you skip ahead. This is intentional: skipping phases leads to broken foundations that compound across later phases.

Why Phased Development

Building entire applications at once leads to untestable code, missed requirements, and hard-to-debug foundations. The phased approach ensures:

  • Working software at each checkpoint — every phase produces a runnable, testable increment
  • Catch mistakes early — foundation issues surface in Phase 0, not Phase 4
  • AI accuracy — the agent can reason about a bounded phase scope much more reliably than an entire application at once
  • Predictable progressPHASES.md gives you and your team a shared view of where the project stands

Pair this with Specs-Driven Development — specs decide what gets built, phases govern how it gets built incrementally.

Last updated on