← ClaudeAtlas

generate-dockerfilelisted

Generate optimized, secure, multi-stage Dockerfiles and .dockerignore files for any project. Use when the user asks to: (1) containerize a project, (2) create or generate a Dockerfile, (3) improve or optimize an existing Dockerfile, (4) add Docker support to a project, (5) review a Dockerfile for best practices. Also use when the user wants to make something deployable, set up containers, or ship an app — even without mentioning Docker explicitly. Triggers on: "Dockerfile", "dockerize", "containerize", "Docker build", "docker image", ".dockerignore", "make this deployable", "container setup", "production-ready setup", "ship this app".
svyatov/agent-toolkit · ★ 0 · DevOps & Infrastructure · score 72
Install: claude install-skill svyatov/agent-toolkit
# Generate Production-Ready Dockerfile Generate an optimized, secure, multi-stage Dockerfile and .dockerignore by analyzing the project's structure, language, framework, and dependencies. ## Critical Rules ### Verify Everything Before Adding **Before adding ANY instruction to the Dockerfile, verify it by examining the actual codebase** — read actual source files (not just file names), search with multiple queries, trace the application entry point through imports. Shallow analysis produces broken Dockerfiles; if the analysis felt quick, something was probably missed. Never assume — if uncertain, ask the user. ### Multi-Architecture Support Ensure all instructions support multiple architectures (amd64, arm64). Use multi-arch official images. Detect architecture dynamically for binary downloads—never hardcode amd64/x86_64. ### Skip HEALTHCHECK Health endpoints are application-specific and cannot be verified from codebase analysis alone. Adding unverified health checks causes containers to be marked unhealthy incorrectly — so don't add HEALTHCHECK to generated Dockerfiles. ## Process ### Step 0: Check for Existing Files Check for `Dockerfile` (and variants like `Dockerfile.prod`) and `.dockerignore` in the project root. Read them if present—this determines whether to generate new files or improve existing ones. ### Step 1: Analyze Project Investigate the actual project (do not pattern-match). For each item, search the codebase for evidence: 1. **Language** — Find d