Custom Images
cc-deck does not ship a one-size-fits-all container image. Instead, it provides an AI-driven pipeline that builds bespoke images tailored to your development environment. Your shell aliases, your editor config, your Claude Code plugins, your MCP servers, your project’s build tools: all baked into an image that feels like home.
The Idea
Every developer’s setup is different. Rather than maintaining a generic image that satisfies nobody perfectly, cc-deck extracts what makes your local environment productive and transports it into a container.
The pipeline analyzes your checked-out repositories to discover tool dependencies, walks through your local configuration to select what to include, and generates an optimized Containerfile. If the build fails, Claude Code reads the error, fixes the Containerfile, and retries.
The Pipeline
Four Claude Code commands drive the process:
| Command | Purpose |
|---|---|
|
Analyze your repositories and discover tool dependencies automatically. |
|
Select which local settings (zsh config, Zellij theme, Claude Code plugins, MCP servers) to bake in. |
|
Generate a Containerfile from the manifest and build the image, with self-correction on failure. |
|
Push the built image to a container registry. |
Getting Started
Scaffold a build directory and open it in Claude Code:
cc-deck image init my-image
cd my-image
claude
This creates a cc-deck-build.yaml manifest and the Claude Code commands.
Use the slash commands to populate the manifest and build the image.
The manifest is the single source of truth. It describes your desired image contents in human-readable YAML. The Containerfile is generated from it and can be regenerated at any time.
What Every Image Includes
Every cc-deck image starts from a base that provides:
-
cc-deck with the sidebar plugin and layouts
-
Zellij terminal multiplexer (matching the plugin SDK version)
-
Claude Code with its bundled Node.js runtime
-
cc-session and cc-setup companion tools
-
A full terminal environment (zsh, starship, ripgrep, fd, fzf, bat, git-delta, and more)
On top of this base, your bespoke additions are layered.
Next Steps
-
Initialization to scaffold a build directory
-
Extract to discover tool dependencies
-
Settings to select local configuration
-
Build to generate the Containerfile and build
-
Manifest Reference for the full schema