Extending the matrix
Add a new base runtime
- Add a YAML manifest under
definitions/bases/. - Declare the upstream image, capabilities, install steps, env defaults, and validation commands.
- Run:
dotnet run --project src/AgentContainers.Generator --configuration Release -- validate
dotnet run --project src/AgentContainers.Generator --configuration Release -- generate
- Review the new Dockerfile and image catalog entries under
generated/. - Run targeted e2e validation.
Add a new agent overlay
- Add a manifest under
definitions/agents/. - Model runtime requirements with
requires. - Add CLI install metadata, env vars, mounts, health checks, and validation commands.
- Regenerate artifacts and verify the new overlay Dockerfiles under
generated/docker/agents/.
Add a new tool pack
Use definitions/tool-packs/ for either:
- overlay packs that emit Dockerfiles, or
- sidecar packs that inject compose services and environment contracts
When the pack is sidecar-oriented, document its environment contract and health behavior so compose examples stay operable.
Add or update a compose stack
- Add a stack manifest under
definitions/compose/. - Reference bases, combos, agents, ports, networks, volumes, tool packs, and
env_filewhere needed. - Regenerate the stack output under
generated/compose/stacks/.
Keep docs and workflows aligned
When you change the matrix:
- Regenerate artifacts.
- Update any user-facing docs that describe the supported surface.
- Run DocFX locally.
- Run the appropriate e2e scope.
The CI and docs workflows will re-check those surfaces automatically.