# Folder Blueprint

Status: Mandatory
Date: 2026-07-03

## Objective

Define the target folder layout for the Foundation Phase and all subsequent phases.

## Blueprint

src
- app
  - core
    - bootstrap
      - providers
      - loaders
      - validators
    - config
      - application-config.token.ts
      - config.service.ts
      - feature-flag.service.ts
    - runtime
      - app-runtime.service.ts
      - platform-context.service.ts
    - guards
    - interceptors
    - error-handling
  - shared
    - models
      - api
      - config
      - domain
      - ui
    - types
    - enums
    - contracts
    - utils
    - constants
  - ui-library
    - atoms
    - molecules
    - organisms
    - directives
    - pipes
  - widgets
    - registry
    - contracts
    - containers
    - ui
  - layouts
    - shells
    - sections
    - containers
  - pages
    - public
    - builder
    - backoffice
  - features
    - website
      - catalog
      - product
      - cart
      - checkout
    - builder
      - theme-editor
      - page-editor
      - navigation-editor
      - seo-editor
      - feature-flag-editor
    - backoffice
      - products
      - categories
      - orders
      - customers
      - inventory
      - media
      - settings
  - facades
    - website
    - builder
    - backoffice
    - platform
  - integrations
    - auth
    - payment
    - authorization
  - theme
    - tokens
    - mappers
    - runtime
  - dynamic-renderer
    - page-renderer
    - section-renderer
    - widget-host
  - app.routes.ts
  - app.config.ts
  - app.ts
  - app.html
- assets
  - mock
    - bootstrap
    - website
    - builder
    - backoffice

## Foundation Phase Scope

During Phase 1:

- Create folder structure and placeholders only.
- Do not create business feature implementations.
- Keep app runnable and compilable.

## Placement Rules

- Contracts and interfaces go to shared models/contracts/types.
- Pure visual components go to ui-library.
- Configuration-driven blocks go to widgets.
- Page composition logic goes to layouts and dynamic-renderer.
- Domain orchestration belongs to facades.
- Stable auth/payment integrations stay in integrations wrappers.
