SAService Architect Back to designer
SAService ArchitectDocumentation
Code generation workspace build graph

Language build roots

The root contains only the build systems required by the languages selected for its services and modules.

When to use

Use this reference when generating, reviewing or operating a Service Architect project.

Behavior

  • The user Makefile includes generated Make fragments and remains a stable customization point.
  • A generic make.generated.mk composes all active language target sets.
  • Language fragments map generic build/test/lint/gen targets to Go, C++, Rust or TypeScript commands.
  • Mixed workspaces may include more than one build root and dependency workspace.
  • Lockfiles and toolchain configuration make disposable generated builds reproducible.

Root build and dependency files

Language-specific root files emitted by ServiceGen.

FileRoleDescription
MakefileUser entrypoint

Includes generated targets; safe place for project-owned additions.

make.generated.mkGenerated

Cross-language command orchestration.

make.golang.generated.mkGenerated

Go build, schema, module, lint and debug targets.

go.work + go.work.sumManaged

Local multi-module Go workspace, also present for generated Go fallback services.

make.cpp.generated.mkGenerated

CMake, sanitizer, Release, integration and packaging targets.

CMakeLists.txt + CMakePresets.jsonManaged

C++ workspace and reproducible configure presets.

Dockerfile.cmake + cmake/ + docker/Managed

Pinned C++ build toolchain and support modules.

.clang-format + .clang-tidyManaged

Generated C++ formatting and static-analysis policy.

make.rust.generated.mkGenerated

Cargo workspace generation, build, test, lint and packaging.

Cargo.toml + Cargo.lockManaged

Rust workspace members and locked dependencies.

DockerfileManaged

Rust workspace/service runtime image.

make.typescript.generated.mkGenerated

pnpm build, checks, diagnostics, benchmark and packaging.

package.json + pnpm-workspace.yamlManaged

TypeScript root scripts and workspace members.

pnpm-lock.yamlManaged lock

Pinned npm dependency graph.

tsconfig.json + eslint.config.jsManaged

Workspace compiler and lint policy.

Dockerfile.typescriptManaged

TypeScript development and minimal runtime stages.

Mixed workspace selection

make.generated.mk
  include make.golang.generated.mk      # Go fallback/Go services
  include make.cpp.generated.mk         # C++ services
# or
  include make.rust.generated.mk
# or
  include make.typescript.generated.mk