After Framework

Fabrique de produits

product.spec.yaml, le générateur, ce qu’un produit possède et ce dont il hérite.

Version de la doc: supercore main · packages 1.0.0

PipelineLien vers cette section: Pipeline

Trois éléments : la spec détenue par le produit, le script générateur et le registre de modules qui rattache chaque module partagé au package qui le possède.

  1. 01

    Idée

  2. 02

    Domaine

  3. 03

    Modules

  4. 04

    Shell produit

  5. 05

    Déploiement

product.spec.yamlLien vers cette section: product.spec.yaml

Validé par factory/schema/product.spec.schema.json. Les onglets avec module: et les widgets de type module ne génèrent aucun code ; le shell hérité s’en charge.

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 (s’ouvre dans un nouvel onglet)

Possédé ou héritéLien vers cette section: Possédé ou hérité

Le produit possède

  • Nom, package, bundle, ligne de produits
  • Fonctionnalités verticales et clés i18n
  • Onglets de navigation
  • Chaînes de permissions RBAC
  • Widgets du tableau de bord
  • Compétences IA et liaisons d’outils
  • Couleur d’accent et monogramme

La plateforme fournit

  • Auth et superadmin
  • Adhésion ou organisation
  • Moteur RBAC et journal d’audit
  • Calendrier, tâches, documents
  • Notifications et analytique
  • Moteurs de workflow, de tableau de bord et de recherche
  • Système de design, écran de démarrage, CI

CommandesLien vers cette section: Commandes

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 (s’ouvre dans un nouvel onglet)

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 (s’ouvre dans un nouvel onglet)

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

Source supercore/scripts/generate_product.ps1 (s’ouvre dans un nouvel onglet)

RégénérationLien vers cette section: Régénération

Relancer le générateur avec une spec modifiée met à jour les fichiers squelettes sans détruire le code de fonctionnalités écrit à la main.