1 line
12 KiB
JSON
1 line
12 KiB
JSON
{"repo": "christopherwoodall/lookout", "files": {"Dockerfile": {"9918c1d8c2a3b7b114da9a5b468af87c5da85647": {"t": 1785747000.4596786, "n": 5900, "h": "ffc6db0bde593883", "c": "# =============================================================================\n# Dockerfile — Multi-Agent Coding Sandbox (Ubuntu Edition)\n# =============================================================================\n#\n# AGENTS:\n# claude Anthropic Claude Code https://github.com/anthropics/claude-code\n# codex OpenAI Codex CLI https://github.com/openai/codex\n# gemini Google Gemini CLI https://github.com/google-gemini/gemini-cli\n# opencode OpenCode (anomalyco) https://github.com/anomalyco/opencode\n# amp Sourcegraph Amp https://ampcode.com/manual\n# aider Aider-AI https://github.com/Aider-AI/aider\n#\n# =============================================================================\n\nFROM ubuntu:24.04\n\n# -----------------------------------------------------------------------------\n# 1. BUILD ENVIRONMENT\n# -----------------------------------------------------------------------------\nENV DEBIAN_FRONTEND=noninteractive\nENV TZ=Etc/UTC\n\n# Set npm global prefix to avoid root permission warnings\nENV NPM_CONFIG_PREFIX=/usr/local\n\n# -----------------------------------------------------------------------------\n# 2. SYSTEM DEPENDENCIES & RUNTIMES\n# -----------------------------------------------------------------------------\n# Install baseline fetch utilities\nRUN apt-get update && apt-get install -y --no-install-recommends \\\n curl wget gnupg ca-certificates \\\n && rm -rf /var/lib/apt/lists/*\n\n# Add NodeSource PPA for Node.js 22 LTS (Required for Claude Code on Ubuntu)\nRUN mkdir -p /etc/apt/keyrings && \\\n curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg && \\\n echo \"deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_22.x nodistro main\" > /etc/apt/sources.list.d/nodesource.list\n\n# Install runtimes (Node, Python), compiler basics, and debug tools\nRUN apt-get update && apt-get install -y --no-install-recommends \\\n nodejs \\\n python3 \\\n python3-pip \\\n python3-venv \\\n git \\\n build-essential \\\n ripgrep \\\n jq \\\n sqlite3 \\\n tree \\\n procps \\\n unzip \\\n gdb \\\n strace \\\n && rm -rf /var/lib/apt/lists/*\n\n# -----------------------------------------------------------------------------\n# 3. GIT IDENTITY (System-Wide)\n# -----------------------------------------------------------------------------\n# Using --system writes to /etc/gitconfig. This ensures non-root UIDs mapped\n# at runtime still have access to a valid git author configuration.\nRUN git config --system user.email \"agent@docker.local\" \\\n && git config --system user.name \"Coding Agent\" \\\n && git config --system init.defaultBranch main\n\nENV GIT_AUTHOR_NAME=\"Coding Agent\"\nENV GIT_AUTHOR_EMAIL=\"agent@docker.local\"\nENV GIT_COMMITTER_NAME=\"Coding Agent\"\nENV GIT_COMMITTER_EMAIL=\"agent@docker.local\"\n\n# -----------------------------------------------------------------------------\n# 4. API KEY & AGENT BEHAVIOR STUBS\n# -----------------------------------------------------------------------------\nENV ANTHROPIC_API_KEY=\"\"\nENV OPENAI_API_KEY=\"\"\nENV GOOGLE_API_KEY=\"\"\nENV GEMINI_API_KEY=\"\"\nENV AMP_API_KEY=\"\"\nENV OPENROUTER_API_KEY=\"\"\nENV GROQ_API_KEY=\"\"\nENV DEEPSEEK_API_KEY=\"\"\nENV AIDER_MODEL=\"\"\n\n# CI/CD Stability Flags\nENV DISABLE_AUTOUPDATER=1\nENV CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC=1\n\n# -----------------------------------------------------------------------------\n# 5. INSTALL CODING AGENTS (Single Layers & Cache Clearing)\n# -----------------------------------------------------------------------------\nRUN npm install -g \\\n @anthropic-ai/claude-code \\\n @openai/codex \\\n @google/gemini-cli \\\n opencode-ai@latest \\\n @sourcegraph/amp \\\n && npm cache clean --force\n\n# Python 3.11+ in Ubuntu 24.04 enforces PEP 668. \n# --break-system-packages is safe/required here as this is a dedicated container.\nRUN pip3 install --break-system-packages aider-chat \\\n && rm -rf /root/.cache/pip\n\n# -----------------------------------------------------------------------------\n# 6. HELP DOCUMENTATION\n# -----------------------------------------------------------------------------\nRUN cat > /etc/agent-help.txt << 'EOF'\n=============================================================================\n AGENT ZOO -- Multi-Agent Coding Sandbox (Ubuntu)\n=============================================================================\n Available agents and their headless invocation patterns:\n\n CLAUDE CODE (Anthropic) | Requires: ANTHROPIC_API_KEY\n claude -p \"prompt\" --dangerously-skip-permissions\n\n CODEX CLI (OpenAI) | Requires: OPENAI_API_KEY\n codex exec --full-auto \"prompt\"\n\n GEMINI CLI (Google) | Requires: GOOGLE_API_KEY\n gemini -p \"prompt\"\n\n OPENCODE (anomalyco) | Requires: any supported provider key\n opencode -p \"prompt\" -q\n\n AMP (Sourcegraph) | Requires: AMP_API_KEY OR ANTHROPIC_API_KEY + --isolated\n amp -x \"prompt\" --dangerously-allow-all [--isolated]\n\n AIDER (Aider-AI) | Requires: model-specific key (ANTHROPIC/OPENAI/etc.)\n aider --message \"prompt\" --yes-always --model sonnet\n aider --message \"prompt\" --yes-always --model gpt-4o\n\n EXAMPLE (programmatic, overrides CMD entirely):\n docker run --rm -v $(pwd):/workspace -e ANTHROPIC_API_KEY=\"...\" \\\n agent-zoo claude -p \"Write tests for all public functions\" \\\n --dangerously-skip-permissions\n=============================================================================\nEOF\n\n# -----------------------------------------------------------------------------\n# 7. WORKSPACE & DEFAULT COMMAND\n# -----------------------------------------------------------------------------\nWORKDIR /workspace\n\n# Patch skill directories\nRUN mkdir -p .agents/skills .claude/skills && \\\n ln -s .agents/skills/ .claude/skills/\n\nCMD [\"/bin/bash\", \"-c\", \"cat /etc/agent-help.txt && exec /bin/bash\"]"}, "bdd4a9c4ee62130a86bfec39ada4dc45773e04a7": {"t": 1785769656.2028282, "n": 5900, "h": "ffc6db0bde593883", "c": "# =============================================================================\n# Dockerfile — Multi-Agent Coding Sandbox (Ubuntu Edition)\n# =============================================================================\n#\n# AGENTS:\n# claude Anthropic Claude Code https://github.com/anthropics/claude-code\n# codex OpenAI Codex CLI https://github.com/openai/codex\n# gemini Google Gemini CLI https://github.com/google-gemini/gemini-cli\n# opencode OpenCode (anomalyco) https://github.com/anomalyco/opencode\n# amp Sourcegraph Amp https://ampcode.com/manual\n# aider Aider-AI https://github.com/Aider-AI/aider\n#\n# =============================================================================\n\nFROM ubuntu:24.04\n\n# -----------------------------------------------------------------------------\n# 1. BUILD ENVIRONMENT\n# -----------------------------------------------------------------------------\nENV DEBIAN_FRONTEND=noninteractive\nENV TZ=Etc/UTC\n\n# Set npm global prefix to avoid root permission warnings\nENV NPM_CONFIG_PREFIX=/usr/local\n\n# -----------------------------------------------------------------------------\n# 2. SYSTEM DEPENDENCIES & RUNTIMES\n# -----------------------------------------------------------------------------\n# Install baseline fetch utilities\nRUN apt-get update && apt-get install -y --no-install-recommends \\\n curl wget gnupg ca-certificates \\\n && rm -rf /var/lib/apt/lists/*\n\n# Add NodeSource PPA for Node.js 22 LTS (Required for Claude Code on Ubuntu)\nRUN mkdir -p /etc/apt/keyrings && \\\n curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg && \\\n echo \"deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_22.x nodistro main\" > /etc/apt/sources.list.d/nodesource.list\n\n# Install runtimes (Node, Python), compiler basics, and debug tools\nRUN apt-get update && apt-get install -y --no-install-recommends \\\n nodejs \\\n python3 \\\n python3-pip \\\n python3-venv \\\n git \\\n build-essential \\\n ripgrep \\\n jq \\\n sqlite3 \\\n tree \\\n procps \\\n unzip \\\n gdb \\\n strace \\\n && rm -rf /var/lib/apt/lists/*\n\n# -----------------------------------------------------------------------------\n# 3. GIT IDENTITY (System-Wide)\n# -----------------------------------------------------------------------------\n# Using --system writes to /etc/gitconfig. This ensures non-root UIDs mapped\n# at runtime still have access to a valid git author configuration.\nRUN git config --system user.email \"agent@docker.local\" \\\n && git config --system user.name \"Coding Agent\" \\\n && git config --system init.defaultBranch main\n\nENV GIT_AUTHOR_NAME=\"Coding Agent\"\nENV GIT_AUTHOR_EMAIL=\"agent@docker.local\"\nENV GIT_COMMITTER_NAME=\"Coding Agent\"\nENV GIT_COMMITTER_EMAIL=\"agent@docker.local\"\n\n# -----------------------------------------------------------------------------\n# 4. API KEY & AGENT BEHAVIOR STUBS\n# -----------------------------------------------------------------------------\nENV ANTHROPIC_API_KEY=\"\"\nENV OPENAI_API_KEY=\"\"\nENV GOOGLE_API_KEY=\"\"\nENV GEMINI_API_KEY=\"\"\nENV AMP_API_KEY=\"\"\nENV OPENROUTER_API_KEY=\"\"\nENV GROQ_API_KEY=\"\"\nENV DEEPSEEK_API_KEY=\"\"\nENV AIDER_MODEL=\"\"\n\n# CI/CD Stability Flags\nENV DISABLE_AUTOUPDATER=1\nENV CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC=1\n\n# -----------------------------------------------------------------------------\n# 5. INSTALL CODING AGENTS (Single Layers & Cache Clearing)\n# -----------------------------------------------------------------------------\nRUN npm install -g \\\n @anthropic-ai/claude-code \\\n @openai/codex \\\n @google/gemini-cli \\\n opencode-ai@latest \\\n @sourcegraph/amp \\\n && npm cache clean --force\n\n# Python 3.11+ in Ubuntu 24.04 enforces PEP 668. \n# --break-system-packages is safe/required here as this is a dedicated container.\nRUN pip3 install --break-system-packages aider-chat \\\n && rm -rf /root/.cache/pip\n\n# -----------------------------------------------------------------------------\n# 6. HELP DOCUMENTATION\n# -----------------------------------------------------------------------------\nRUN cat > /etc/agent-help.txt << 'EOF'\n=============================================================================\n AGENT ZOO -- Multi-Agent Coding Sandbox (Ubuntu)\n=============================================================================\n Available agents and their headless invocation patterns:\n\n CLAUDE CODE (Anthropic) | Requires: ANTHROPIC_API_KEY\n claude -p \"prompt\" --dangerously-skip-permissions\n\n CODEX CLI (OpenAI) | Requires: OPENAI_API_KEY\n codex exec --full-auto \"prompt\"\n\n GEMINI CLI (Google) | Requires: GOOGLE_API_KEY\n gemini -p \"prompt\"\n\n OPENCODE (anomalyco) | Requires: any supported provider key\n opencode -p \"prompt\" -q\n\n AMP (Sourcegraph) | Requires: AMP_API_KEY OR ANTHROPIC_API_KEY + --isolated\n amp -x \"prompt\" --dangerously-allow-all [--isolated]\n\n AIDER (Aider-AI) | Requires: model-specific key (ANTHROPIC/OPENAI/etc.)\n aider --message \"prompt\" --yes-always --model sonnet\n aider --message \"prompt\" --yes-always --model gpt-4o\n\n EXAMPLE (programmatic, overrides CMD entirely):\n docker run --rm -v $(pwd):/workspace -e ANTHROPIC_API_KEY=\"...\" \\\n agent-zoo claude -p \"Write tests for all public functions\" \\\n --dangerously-skip-permissions\n=============================================================================\nEOF\n\n# -----------------------------------------------------------------------------\n# 7. WORKSPACE & DEFAULT COMMAND\n# -----------------------------------------------------------------------------\nWORKDIR /workspace\n\n# Patch skill directories\nRUN mkdir -p .agents/skills .claude/skills && \\\n ln -s .agents/skills/ .claude/skills/\n\nCMD [\"/bin/bash\", \"-c\", \"cat /etc/agent-help.txt && exec /bin/bash\"]"}}}} |