CascadingDev_simplified/Dockerfile

68 lines
1.8 KiB
Docker

# CascadingDev Simplified - Git-native AI collaboration framework
#
# Build: docker build -t cascadingdev .
# Test: docker run -it --rm cascadingdev cdev --help
FROM python:3.12-slim
LABEL maintainer="rob"
LABEL description="CascadingDev - Git hooks and cascading rules framework"
# Install system dependencies
RUN apt-get update && apt-get install -y --no-install-recommends \
git \
# Qt6 dependencies for Ramble GUI (optional)
libgl1-mesa-glx \
libegl1-mesa \
libxkbcommon0 \
libdbus-1-3 \
libxcb-cursor0 \
libxcb-icccm4 \
libxcb-keysyms1 \
libxcb-shape0 \
libxcb-xinerama0 \
libxcb-randr0 \
libxcb-render-util0 \
&& rm -rf /var/lib/apt/lists/*
WORKDIR /app
# Copy project files
COPY pyproject.toml VERSION README.md ./
COPY src/ ./src/
COPY assets/ ./assets/
COPY tools/ ./tools/
COPY docs/ ./docs/
# Install CascadingDev
RUN pip install --no-cache-dir -e .
# Install PySide6 for Ramble GUI (optional, makes image larger)
RUN pip install --no-cache-dir PySide6 || true
# Verify installation
RUN cdev --help
# Default: show help
CMD ["cdev", "--help"]
# ==============================================================================
# Usage Examples
# ==============================================================================
# Build:
# docker build -t cascadingdev .
#
# Show help:
# docker run -it --rm cascadingdev
#
# Build installer bundle:
# docker run -it --rm -v $(pwd)/output:/output cascadingdev \
# bash -c "cdev build && cp -r install/* /output/"
#
# Install into a new project (headless):
# docker run -it --rm -v /path/to/project:/project cascadingdev \
# python install/cascadingdev-*/setup_cascadingdev.py --target /project --no-ramble
#
# Interactive shell:
# docker run -it --rm cascadingdev bash