Code generation
workspace service -> dist/<service>Standalone packaging
Packaging targets extract a service and its declared contracts into a repository that no longer depends on the root workspace layout.
When to use
Use this reference when generating, reviewing or operating a Service Architect project.
Behavior
- The packager copies service source, required user-defined Modules, config, graph, docs, dashboards and build automation.
- C++ packages receive standalone CMake presets, toolchain Docker files and Compose definitions.
- Rust packages receive independent Cargo manifests and schema generation entrypoints.
- TypeScript packages receive standalone package metadata, Dockerfile, Compose, CI and tests.
- The output is suitable for the repository model used by git-push-<service-name>.
Standalone package contents
What is retained in an extracted service repository.
PathPurposeDescription
dist/<service-name>/src or internalBusiness + generated sourceComplete service implementation and runtime wiring.
dist/<service-name>/modulesC++ dependenciesUser-defined Modules referenced by the service and required by standalone CMake.
dist/<service-name>/config + graph + docsRuntime metadataConfiguration, topology evidence and documentation.
dist/<service-name>/grafanaObservabilityService dashboard sources.
dist/<service-name>/Makefile + make.generated.mkCommandsStandalone build/test/lint/container surface.
dist/<service-name>/Dockerfile*ContainerIndependent image build.
dist/<service-name>/docker-compose*.ymlLocal runtimeStart only the extracted service and required dependencies.
dist/<service-name>/.github + .gitlab-ci.ymlCIIndependent repository automation.
dist/<service-name>/README.mdDocumentationStandalone quickstart and runtime endpoints.
Packaging commands
make cpp-package
make rust-package
make typescript-package
make typescript-package-<service-name>