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.
- 01
Ideia
- 02
Domínio
- 03
Módulos
- 04
Shell do produto
- 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.
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: SAFonte 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
powershell -File scripts\validate_product_spec.ps1 -SpecPath factory\specs\examples\super_airport.product.spec.yaml# 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 -DryRuncd ..\superairport
flutter create .
flutter pub get
flutter analyze
flutter testFonte 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.