After Framework

Fábrica de produtos

product.spec.yaml, o gerador, o que um produto possui e o que herda.

Versão da documentação: supercore main · pacotes 1.0.0

PipelineLink para esta seção: Pipeline

Três partes: a spec do produto, o script gerador e o registro de módulos, que fixa cada módulo compartilhado ao pacote que o possui.

  1. 01

    Ideia

  2. 02

    Domínio

  3. 03

    Módulos

  4. 04

    Shell do produto

  5. 05

    Deploy

product.spec.yamlLink para esta seção: product.spec.yaml

Validado contra factory/schema/product.spec.schema.json. Abas com module: e widgets do tipo module não geram código; o shell herdado cuida deles.

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

Fonte supercore/docs/PRODUCT_FACTORY.md (abre em uma nova aba)

Próprio versus herdadoLink para esta seção: Próprio versus herdado

O produto é dono de

  • Nome, pacote, bundle, linha de produto
  • Features verticais e chaves de i18n
  • Abas de navegação
  • Strings de permissão RBAC
  • Widgets de dashboard
  • Skills de IA e vínculos de ferramentas
  • Cor de destaque e monograma

A plataforma fornece

  • Auth e superadmin
  • Assinatura ou organização
  • Motor RBAC e log de auditoria
  • Calendário, tarefas, documentos
  • Notificações e analytics
  • Motores de workflow, dashboard e busca
  • Sistema de design, splash, CI

ComandosLink para esta seção: Comandos

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

Fonte supercore/factory/README.md (abre em uma nova aba)

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

Fonte supercore/factory/README.md (abre em uma nova aba)

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

Fonte supercore/scripts/generate_product.ps1 (abre em uma nova aba)

RegeneraçãoLink para esta seção: Regeneração

Executar o gerador novamente com uma spec atualizada renova os arquivos de esqueleto sem destruir o código de features escrito à mão.