Graph + settings -> runnable workspaceWhat is generated
ServiceGen converts the architecture graph into a complete multi-service workspace, not only function stubs.
When to use
Use this reference when generating, reviewing or operating a Service Architect project.
Behavior
- The graph determines services, language backends, stream wiring, links, data contracts, connectors, endpoints, ports, probes and deployment shape.
- Each service is generated as an independently buildable project with runtime wiring and explicit business extension points.
- Shared data types, public functions and transport schemas are emitted into the user-defined Modules referenced by those graph objects.
- The root workspace supplies one command surface for building, testing, running, publishing and deploying every component.
- Only the selected graph features are materialized: Kafka, Temporal, HTTP, gRPC, observability and Kubernetes assets follow topology and settings.
Generator inputs
ServiceGen consumes the project settings and typed topology produced by Service Architect. Code generation itself does not perform network requests; framework and tool versions come from the generator dependency manifest.
- Project and repository settings
- Services and target programming languages
- Pipelines, streams and links
- Data types and schema formats
- Connectors and endpoints
- Runtime pools, modules and deployment settings
Generated output layers
The output is intentionally layered so architecture-owned code, generated infrastructure and user-owned business logic remain distinguishable.
- Project orchestration repository
- Independent service repositories
- User-defined Module repositories for shared types, functions and connector schemas
- Language-specific runtime and transport code
- Configuration, graph snapshots and service documentation
- Docker, Compose, CI, Grafana and Kubernetes assets
Mixed-language workspaces
Language is selected per service, so a project can contain more than one backend. Temporal generation is available for Go, Python and TypeScript; Cron generation is available for every current target runtime. Root Make targets compose all selected language backends behind the same product-level commands.
Generation flow
Service Architect graph
-> servicegen archive
-> merge.generated.sh
-> service and contract projects
-> make build / make docker-up / make kubernetes-up