After Framework

Product factory

product.spec.yaml, the generator, what a product owns and what it inherits.

Docs version: supercore main · packages 1.0.0

PipelineLink to this section: Pipeline

Three parts: the product-owned spec, the generator script, and the module registry that pins every shared module to the package that owns it.

  1. 01

    Idea

  2. 02

    Domain

  3. 03

    Modules

  4. 04

    Product shell

  5. 05

    Deployment

product.spec.yamlLink to this section: product.spec.yaml

Validated against factory/schema/product.spec.schema.json. Tabs with module: and widgets of type module emit no code; the inherited shell handles them.

super_airport.product.spec.yaml
apiVersion: after.ai/v1
kind: SuperApp

metadata:
  name: SuperAirport              # PascalCase, must start with a capital
  package: super_airport          # snake_case pubspec name
  bundle: com.overstein.superairport
  productLine: enterprise         # consumer | enterprise

spec:
  domain: Airport / aviation operations
  reference: SuperHospital        # SuperGarage | SuperHospital

  features:                       # VERTICAL ONLY. No OS modules here.
    - id: flights
      titleKey: features.flights
      icon: flight_takeoff_outlined
      requiredPermission: airport.flights.read

  navigation:
    tabs:                         # 2–6 tabs, matching family shell
      - id: home
        labelKey: nav.home
      - id: flights
        labelKey: nav.flights
        feature: flights
      - id: tasks
        module: tasks             # inherited OS module — no code emitted

  permissions:
    - airport.flights.read
    - airport.gates.write

  branding:
    accent: "#0EA5E9"
    monogram: SA

Source supercore/docs/PRODUCT_FACTORY.md (opens in a new tab)

Owned versus inheritedLink to this section: Owned versus inherited

The product owns

  • Name, package, bundle, product line
  • Vertical features and i18n keys
  • Navigation tabs
  • RBAC permission strings
  • Dashboard widgets
  • AI skills and tool bindings
  • Accent color and monogram

The platform provides

  • Auth and superadmin
  • Membership or organization
  • RBAC engine and audit log
  • Calendar, tasks, documents
  • Notifications and analytics
  • Workflow, dashboard and search engines
  • Design system, splash, CI

CommandsLink to this section: Commands

validate_product_spec.ps1
powershell -File scripts\validate_product_spec.ps1 -SpecPath factory\specs\examples\super_airport.product.spec.yaml

Source supercore/factory/README.md (opens in a new tab)

generate_product.ps1
# From a spec
powershell -File scripts\generate_product.ps1 -SpecPath factory\specs\examples\super_airport.product.spec.yaml

# From a name only (quick starter)
powershell -File scripts\generate_product.ps1 -Name SuperAirport -Reference SuperHospital

# Preview without writing files
powershell -File scripts\generate_product.ps1 -SpecPath factory\specs\examples\super_airport.product.spec.yaml -DryRun

Source supercore/factory/README.md (opens in a new tab)

flutter
cd ..\superairport
flutter create .
flutter pub get
flutter analyze
flutter test

Source supercore/scripts/generate_product.ps1 (opens in a new tab)

RegenerationLink to this section: Regeneration

Re-running the generator with an evolved spec updates skeleton files without destroying human-authored feature code.