Manifest Schema Reference
The cc-deck-build.yaml manifest defines the desired contents of a container image.
For usage context, see Manifest Reference in the Images module.
This page provides the complete field reference.
image
| Field | Type | Required | Description |
|---|---|---|---|
|
string |
Yes |
Image name (e.g., |
|
string |
No |
Base image reference. Default: |
|
string |
No |
Image tag. Default: |
tools
Type: list of strings. Optional.
Free-form text descriptions of required tools.
Resolved to concrete install commands during /cc-deck.build.
tools:
- "Go compiler >= 1.25"
- "Python 3.12 with uv package manager"
sources
Type: list of objects.
Optional.
Populated by /cc-deck.extract.
| Field | Type | Description |
|---|---|---|
|
string |
Repository URL |
|
string |
Branch or tag |
|
string |
Local checkout path |
|
list |
Tools discovered in this repo |
|
list |
Files the tools were detected from |
plugins
Type: list of objects. Optional.
| Field | Type | Description |
|---|---|---|
|
string |
Plugin name |
|
string |
|
mcp
Type: list of objects. Optional.
| Field | Type | Description |
|---|---|---|
|
string |
MCP server name |
|
string |
Container image reference |
|
string |
|
|
integer |
Port number (for |
|
string |
Authentication type (e.g., |
|
list |
Environment variable names for credentials |
|
string |
Human-readable description |
github_tools
Type: list of objects. Optional.
| Field | Type | Description |
|---|---|---|
|
string |
GitHub repository (e.g., |
|
string |
Binary name to extract from the release |
network
Type: object. Optional.
Controls network filtering for containerized sessions deployed with cc-deck deploy --compose.
When this section is present, a tinyproxy sidecar is generated alongside the session container, restricting outbound traffic to the listed domains.
| Field | Type | Required | Description |
|---|---|---|---|
|
list of strings |
No |
Domain group names or literal domain patterns to allow |
Each entry in allowed_domains is resolved as follows:
-
Names without dots (e.g.,
python,github) are treated as domain group names and expanded to their full domain list. -
Names containing dots (e.g.,
pypi.internal.corp) are treated as literal domain patterns and passed through directly.
Built-in group names include: anthropic, docker, github, gitlab, golang, nodejs, python, quay, rust, vertexai.
If neither anthropic nor vertexai appears in the list, the anthropic group is injected automatically to ensure Claude Code connectivity.
network:
allowed_domains:
- anthropic
- github
- python
- golang
- artifacts.internal.corp
settings
Type: object. Optional.
| Field | Type | Description |
|---|---|---|
|
string |
Path to curated |
|
string |
|
|
string |
Path to global Claude instructions |
|
string |
Path to Claude preferences JSON (merged with hooks) |
|
string |
Path to additional hooks JSON (merged) |
|
string |
Path to npx-based MCP configs (merged) |
|
string |
Path to cc-setup MCP cache file |