FROM debian:sid-slim RUN apt-get update && apt-get install -y --no-install-recommends \ ca-certificates \ git \ git-lfs \ python3 \ python3-venv \ python3-pip \ yosys \ nextpnr-ice40 \ fpga-icestorm \ nodejs npm \ graphviz \ poppler-utils \ kicad \ kicad-libraries \ && rm -rf /var/lib/apt/lists/* # Debian marks the system Python as externally-managed (PEP 668), so install # project deps into a venv. /opt/venv is first on PATH, so `python`/`pip` resolve # to it for all users. ENV VIRTUAL_ENV=/opt/venv RUN python3 -m venv "$VIRTUAL_ENV" ENV PATH="$VIRTUAL_ENV/bin:$PATH" RUN npm install -g @anthropic-ai/claude-code COPY requirements.txt /tmp/requirements.txt RUN pip install --no-cache-dir -r /tmp/requirements.txt RUN useradd -m -u 1000 -s /bin/bash vscode USER vscode # KiCad global library tables (copied from the installed templates) so kicad-cli # can run the library-parity DRC/ERC checks. Without these, every standard # footprint/symbol reports "library not configured". KiCad's built-in defaults # resolve the ${KICAD10_*_DIR} paths inside the templates, so no env vars needed. RUN mkdir -p /home/vscode/.config/kicad/10.0 \ && cp /usr/share/kicad/template/fp-lib-table /home/vscode/.config/kicad/10.0/fp-lib-table \ && cp /usr/share/kicad/template/sym-lib-table /home/vscode/.config/kicad/10.0/sym-lib-table WORKDIR /workspace