SAService Architect Back to designer
SAService ArchitectDocumentation
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 source

Complete service implementation and runtime wiring.

dist/<service-name>/modulesC++ dependencies

User-defined Modules referenced by the service and required by standalone CMake.

dist/<service-name>/config + graph + docsRuntime metadata

Configuration, topology evidence and documentation.

dist/<service-name>/grafanaObservability

Service dashboard sources.

dist/<service-name>/Makefile + make.generated.mkCommands

Standalone build/test/lint/container surface.

dist/<service-name>/Dockerfile*Container

Independent image build.

dist/<service-name>/docker-compose*.ymlLocal runtime

Start only the extracted service and required dependencies.

dist/<service-name>/.github + .gitlab-ci.ymlCI

Independent repository automation.

dist/<service-name>/README.mdDocumentation

Standalone quickstart and runtime endpoints.

Packaging commands

make cpp-package
make rust-package
make typescript-package
make typescript-package-<service-name>