# rdev claudebox - Claude Code in a container
# v0.3 - Git integration

FROM ubuntu:22.04

# Prevent interactive prompts during package installation
ENV DEBIAN_FRONTEND=noninteractive

# Install system dependencies
RUN apt-get update && apt-get install -y \
    curl \
    wget \
    git \
    vim \
    build-essential \
    ca-certificates \
    gnupg \
    openssh-client \
    && rm -rf /var/lib/apt/lists/*

# Install Node.js 20 (required for Claude Code CLI)
RUN curl -fsSL https://deb.nodesource.com/setup_20.x | bash - \
    && apt-get install -y nodejs \
    && rm -rf /var/lib/apt/lists/*

# Install Claude Code CLI
RUN npm install -g @anthropic-ai/claude-code

# Configure git for rdev-bot identity
RUN git config --global user.name "rdev-bot" \
    && git config --global user.email "rdev@orchard9.ai" \
    && git config --global init.defaultBranch main \
    && git config --global push.autoSetupRemote true

# Create workspace directory
RUN mkdir -p /workspace

# Create SSH directory with correct permissions
RUN mkdir -p /root/.ssh && chmod 700 /root/.ssh

# Set working directory
WORKDIR /workspace

# Create a simple healthcheck script
RUN echo '#!/bin/bash\nclaude --version > /dev/null 2>&1' > /healthcheck.sh \
    && chmod +x /healthcheck.sh

# Keep container running (will exec into it)
CMD ["tail", "-f", "/dev/null"]
