Generator targets
modelARch compiles the same canonical JSON model into target-specific projections. Target parity is not assumed: generation preflight is the authority for whether a particular construct is supported by a selected target.
Current targets
Section titled “Current targets”| Target | Role | Typical output | Evolution support |
|---|---|---|---|
python-fastapi |
Backend | FastAPI, domain/application/infra/API layers, SQL persistence, Alembic, modules | Physical schema manifest and parent evolution bundle |
react |
Frontend | React application, persona-aware routes, view patterns, design system, API client | Rebuilt from current model; backend chosen separately |
nestjs |
Backend | NestJS application with domain/application/infra separation | JSON generation; no parity claim with FastAPI evolution |
csharp-aspnetcore |
Backend | ASP.NET Core/Clean Architecture, EF Core persistence and migrations | JSON generation; target-specific migration output |
Python/FastAPI is the primary full-fidelity backend path. React can target the generated Python, NestJS, or C# backend contract. Some modules and advanced semantics are target-specific; never infer support from the presence of a target name alone.
Canonical input
Section titled “Canonical input”Use the versioned JSON model. A legacy CML path remains in the raw Python/FastAPI CLI for older inputs, but it does not carry the complete current model or evolution contract and is not the recommended authoring format.
CLI examples
Section titled “CLI examples”# Backendmodelarch generate model.json --target python-fastapi --output ./backend
# React frontend for that backendmodelarch generate model.json --target react \ --backend python-fastapi --output ./frontend
# Alternative backendsmodelarch generate model.json --target nestjs --output ./backendmodelarch generate model.json --target csharp-aspnetcore --output ./backendRaw CLI availability is useful for reproducibility; the product generation workflow adds acquisition, server-side validation, preview, release, and delivery state.
React options
Section titled “React options”The React target accepts a backend selection and can seed a supported visual mood. A bespoke design package may override the supported palette/font package where declared. The long-term authority remains the model’s brand intent; command-line design options are generation inputs and must be captured in provenance.
Generated portable contracts
Section titled “Generated portable contracts”Canonical JSON generations emit MODEL.md; models with brand intent also emit DESIGN.md. The pipeline also emits a materialized command contract used to coordinate parameter semantics across consumers.
Capability checks
Section titled “Capability checks”Before delivery, verify:
- target preflight accepts every modeled construct;
- frontend and backend target contracts match;
- chosen modules are emitted on the selected backend;
- migration and runtime topology match the destination;
- generated tests and compile steps pass.
See Generate and Health and validation.
