Fabrique de produits
product.spec.yaml, le générateur, ce qu’un produit possède et ce dont il hérite.
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.
- 01
Idée
- 02
Domaine
- 03
Modules
- 04
Shell produit
- 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.
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: SASource 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
powershell -File scripts\validate_product_spec.ps1 -SpecPath factory\specs\examples\super_airport.product.spec.yamlSource supercore/factory/README.md (s’ouvre dans un nouvel onglet)
# 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 -DryRunSource supercore/factory/README.md (s’ouvre dans un nouvel onglet)
cd ..\superairport
flutter create .
flutter pub get
flutter analyze
flutter testSource 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.