FROM python:3.13-alpine

# Install system dependencies
RUN apk add --no-cache \
    git \
    curl \
    wget \
    bash \
    build-base \
    linux-headers \
    fish

# Install uv from official image
COPY --from=ghcr.io/astral-sh/uv:latest /uv /bin/uv
RUN uv --version

# Create non-root user with fish shell
RUN adduser -D -s /usr/bin/fish vscode

# Create workspace and set permissions
RUN mkdir -p /workspace && chown vscode:vscode /workspace

USER vscode
WORKDIR /workspace

# Set fish as default shell
SHELL ["/usr/bin/fish", "-c"]

# Install packages directly to system Python (container-isolated)
ENV UV_PROJECT_ENVIRONMENT=""
ENV UV_PYTHON=python

# Verify everything works
RUN echo "Python: $(python --version)" && \
    echo "UV: $(uv --version)" && \
    echo "Fish: $(fish --version)"
