workspace build graphLanguage 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.
MakefileUser entrypointIncludes generated targets; safe place for project-owned additions.
make.generated.mkGeneratedCross-language command orchestration.
make.golang.generated.mkGeneratedGo build, schema, module, lint and debug targets.
go.work + go.work.sumManagedLocal multi-module Go workspace, also present for generated Go fallback services.
make.cpp.generated.mkGeneratedCMake, sanitizer, Release, integration and packaging targets.
CMakeLists.txt + CMakePresets.jsonManagedC++ workspace and reproducible configure presets.
Dockerfile.cmake + cmake/ + docker/ManagedPinned C++ build toolchain and support modules.
.clang-format + .clang-tidyManagedGenerated C++ formatting and static-analysis policy.
make.rust.generated.mkGeneratedCargo workspace generation, build, test, lint and packaging.
Cargo.toml + Cargo.lockManagedRust workspace members and locked dependencies.
DockerfileManagedRust workspace/service runtime image.
make.typescript.generated.mkGeneratedpnpm build, checks, diagnostics, benchmark and packaging.
package.json + pnpm-workspace.yamlManagedTypeScript root scripts and workspace members.
pnpm-lock.yamlManaged lockPinned npm dependency graph.
tsconfig.json + eslint.config.jsManagedWorkspace compiler and lint policy.
Dockerfile.typescriptManagedTypeScript 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