From 1485842da8039c67fc0c74c7d0a68b9ee9a85eb3 Mon Sep 17 00:00:00 2001 From: Tomeriko96 Date: Wed, 18 Mar 2026 07:35:15 +0100 Subject: [PATCH 1/7] feat: add Claude Code CLI and org skills to devcontainer - Install Node.js LTS for npx support - Install Claude Code CLI via official install script - Add Claude env vars (FOUNDRY, model defaults) - Fetch cedanl/.github skills on postCreate via npx skills Co-Authored-By: Claude Sonnet 4.6 --- .devcontainer/Dockerfile | 24 ++++++++++++++++++++---- .devcontainer/devcontainer.json | 2 +- 2 files changed, 21 insertions(+), 5 deletions(-) diff --git a/.devcontainer/Dockerfile b/.devcontainer/Dockerfile index 0be951c..c489734 100644 --- a/.devcontainer/Dockerfile +++ b/.devcontainer/Dockerfile @@ -1,17 +1,33 @@ FROM python:3.12-slim -# Basis tooling + wat je vaak nodig hebt +# Base tooling RUN apt-get update && apt-get install -y --no-install-recommends \ build-essential \ git curl \ libpq-dev \ + ca-certificates \ && rm -rf /var/lib/apt/lists/* -# Niet-root user voor dev +# Install Node.js LTS (needed for npx/skills) +RUN curl -fsSL https://deb.nodesource.com/setup_lts.x | bash - && \ + apt-get install -y --no-install-recommends nodejs && \ + rm -rf /var/lib/apt/lists/* + +# Non-root dev user RUN useradd -m vscode USER vscode WORKDIR /workspace -# uv installeren (user-local) +ENV PATH="/home/vscode/.local/bin:${PATH}" + +# Install uv RUN curl -LsSf https://astral.sh/uv/install.sh | sh -ENV PATH="/home/vscode/.local/bin:${PATH}" \ No newline at end of file + +# Install Claude Code CLI +RUN curl -fsSL https://claude.ai/install.sh | bash + +# Claude / Anthropic environment +ENV CLAUDE_CODE_USE_FOUNDRY=1 \ + ANTHROPIC_DEFAULT_OPUS_MODEL=claude-opus-4-6 \ + ANTHROPIC_DEFAULT_SONNET_MODEL=claude-sonnet-4-6 \ + ANTHROPIC_DEFAULT_HAIKU_MODEL=claude-haiku-4-6 \ No newline at end of file diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json index ff3481d..206265c 100644 --- a/.devcontainer/devcontainer.json +++ b/.devcontainer/devcontainer.json @@ -6,7 +6,7 @@ "ms-python.vscode-pylance", "anthropic.claude-code" ], - "postCreateCommand": "uv sync", + "postCreateCommand": "uv sync && npx skills add cedanl/.github --skill '*' -a claude-code -a opencode -y --copy -g", "forwardPorts": [8501], "remoteUser": "vscode" } From 2babe74da4cc1cf5d006874c7f7e4de88291a425 Mon Sep 17 00:00:00 2001 From: Tomeriko96 Date: Wed, 18 Mar 2026 07:39:51 +0100 Subject: [PATCH 2/7] docs: add Dutch devcontainer usage guide (DCONTAINER.md) Covers VS Code, Positron, DevPod and devcontainer CLI. Co-Authored-By: Claude Sonnet 4.6 --- DCONTAINER.md | 121 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 121 insertions(+) create mode 100644 DCONTAINER.md diff --git a/DCONTAINER.md b/DCONTAINER.md new file mode 100644 index 0000000..5853da1 --- /dev/null +++ b/DCONTAINER.md @@ -0,0 +1,121 @@ +# Devcontainer Gebruikshandleiding + +Een devcontainer biedt een kant-en-klare Python-ontwikkelomgeving in Docker. Je hoeft niets lokaal te installeren — Python, `uv`, Claude Code en de CEDA org-skills zijn allemaal vooraf geconfigureerd in de container. + +## Vereisten + +> **Docker is verplicht.** De container draait op Docker; zonder Docker werkt geen van onderstaande methoden. + +- **Windows / macOS**: installeer [Docker Desktop](https://www.docker.com/products/docker-desktop/) +- **Linux**: installeer [Docker Engine](https://docs.docker.com/engine/install/) + +Zorg dat Docker draait voordat je een van de onderstaande stappen uitvoert. + +--- + +## VS Code + +### Eenmalige installatie + +1. Installeer [Visual Studio Code](https://code.visualstudio.com/) +2. Installeer de extensie **Dev Containers** (`ms-vscode-remote.remote-containers`) + +### Gebruik + +```bash +git clone https://github.com/cedanl/python-uv-devcontainer +code python-uv-devcontainer +``` + +VS Code toont een melding rechtsonder: **"Reopen in Container"** — klik daarop. + +Lukt dat niet? Druk op `F1` en zoek naar **Dev Containers: Reopen in Container**. + +De eerste keer wordt de Docker-image gebouwd; dit duurt enkele minuten. Daarna start de container snel op. + +--- + +## Positron + +[Positron](https://positron.posit.co/) is een IDE van Posit met ingebouwde devcontainer-ondersteuning. + +```bash +git clone https://github.com/cedanl/python-uv-devcontainer +``` + +Open de map in Positron. Positron detecteert automatisch de `.devcontainer/devcontainer.json` en vraagt of je de map in een container wilt heropenen. Klik **"Reopen in Container"**. + +--- + +## DevPod + +[DevPod](https://devpod.sh/) laat je devcontainers lokaal of in de cloud draaien, los van een specifieke IDE. + +### Eenmalige installatie + +Download DevPod via [devpod.sh](https://devpod.sh/) en stel een **provider** in. Kies **Docker** voor lokaal gebruik. + +### Gebruik via de UI + +1. Open DevPod en klik op **"Create Workspace"** +2. Voer de repository-URL in: `https://github.com/cedanl/python-uv-devcontainer` +3. Kies je IDE (VS Code, browser, etc.) +4. Klik **"Create Workspace"** + +### Gebruik via de CLI + +```bash +devpod up github.com/cedanl/python-uv-devcontainer +``` + +--- + +## Devcontainer CLI + +De officiële `@devcontainers/cli` bouwt en beheert containers direct vanuit de terminal, zonder IDE. + +### Eenmalige installatie + +```bash +npm install -g @devcontainers/cli +``` + +### Gebruik + +```bash +git clone https://github.com/cedanl/python-uv-devcontainer +cd python-uv-devcontainer + +# Bouw en start de container +devcontainer up --workspace-folder . + +# Open een shell in de container +devcontainer exec --workspace-folder . bash +``` + +--- + +## Wat zit er in de container? + +Na het opstarten zijn de volgende tools beschikbaar: + +| Tool | Beschrijving | +|------|-------------| +| `python` | Python 3.12 | +| `uv` | Snelle Python package manager | +| `claude` | Claude Code CLI (AI-assistent in de terminal) | +| `gh` | GitHub CLI | +| CEDA org-skills | Automatisch geladen vanuit `cedanl/.github` via `npx skills` | + +Na het inloggen met `gh auth login` kun je ook `gh dash` gebruiken voor een GitHub-dashboard in de terminal. + +--- + +## Problemen oplossen + +| Probleem | Oplossing | +|----------|-----------| +| "Cannot connect to Docker daemon" | Zorg dat Docker Desktop of Docker Engine draait | +| Container bouwt niet | Controleer je internetverbinding; images worden bij de eerste build gedownload | +| `claude` niet gevonden | Herstart de terminal in de container (`exec bash`) | +| Skills niet geladen | Voer `npx skills add cedanl/.github --skill '*' -a claude-code -y --copy -g` handmatig uit | From a1036c507e344516965107e2ed4c81b1b71e87c1 Mon Sep 17 00:00:00 2001 From: Tomeriko96 Date: Wed, 18 Mar 2026 10:39:14 +0100 Subject: [PATCH 3/7] feat: align devcontainer config with r-devcontainer - Use proper customizations.vscode schema for extensions/settings - Set bash as default terminal profile - Extract postCreateCommand to .devcontainer/post-create.sh - Pass ANTHROPIC_FOUNDRY_API_KEY and ANTHROPIC_FOUNDRY_RESOURCE via remoteEnv - Add .env.example template and .gitignore for secrets Co-Authored-By: Claude Sonnet 4.6 --- .devcontainer/.env.example | 4 ++++ .devcontainer/devcontainer.json | 25 ++++++++++++++++++------- .devcontainer/post-create.sh | 16 ++++++++++++++++ .gitignore | 1 + 4 files changed, 39 insertions(+), 7 deletions(-) create mode 100644 .devcontainer/.env.example create mode 100644 .devcontainer/post-create.sh create mode 100644 .gitignore diff --git a/.devcontainer/.env.example b/.devcontainer/.env.example new file mode 100644 index 0000000..e1cdb94 --- /dev/null +++ b/.devcontainer/.env.example @@ -0,0 +1,4 @@ +# Copy this file to .env and fill in your values. +# Used as fallback when env vars are not set on the host machine. +ANTHROPIC_FOUNDRY_API_KEY= +ANTHROPIC_FOUNDRY_RESOURCE= diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json index 206265c..c346e2c 100644 --- a/.devcontainer/devcontainer.json +++ b/.devcontainer/devcontainer.json @@ -1,12 +1,23 @@ { "name": "python-uv-dev", "build": { "dockerfile": "Dockerfile" }, - "extensions": [ - "ms-python.python", - "ms-python.vscode-pylance", - "anthropic.claude-code" - ], - "postCreateCommand": "uv sync && npx skills add cedanl/.github --skill '*' -a claude-code -a opencode -y --copy -g", + "customizations": { + "vscode": { + "settings": { + "terminal.integrated.defaultProfile.linux": "bash" + }, + "extensions": [ + "ms-python.python", + "ms-python.vscode-pylance", + "anthropic.claude-code" + ] + } + }, + "postCreateCommand": "bash .devcontainer/post-create.sh", "forwardPorts": [8501], - "remoteUser": "vscode" + "remoteUser": "vscode", + "remoteEnv": { + "ANTHROPIC_FOUNDRY_API_KEY": "${localEnv:ANTHROPIC_FOUNDRY_API_KEY}", + "ANTHROPIC_FOUNDRY_RESOURCE": "${localEnv:ANTHROPIC_FOUNDRY_RESOURCE}" + } } diff --git a/.devcontainer/post-create.sh b/.devcontainer/post-create.sh new file mode 100644 index 0000000..6c7886d --- /dev/null +++ b/.devcontainer/post-create.sh @@ -0,0 +1,16 @@ +#!/usr/bin/env bash +set -euo pipefail + +echo "Starting post-create setup..." + +# Install Python dependencies +uv sync + +# Install org-wide Claude/OpenCode skills from cedanl/.github +npx --yes skills add cedanl/.github --skill '*' -a claude-code -a opencode -y --copy -g + +# Source .env file on shell startup (fallback for secrets not set on host) +ENV_FILE="/workspaces/python-uv-devcontainer/.devcontainer/.env" +echo "[ -f \"$ENV_FILE\" ] && set -a && source \"$ENV_FILE\" && set +a" >> ~/.bashrc + +echo "Post-create complete." diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..d41a0c9 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.devcontainer/.env From 431376c1b2dee6e8ff1d3f99aa864045fa3eb3a2 Mon Sep 17 00:00:00 2001 From: Tomeriko96 Date: Wed, 18 Mar 2026 10:58:23 +0100 Subject: [PATCH 4/7] fix: use runArgs --env to reliably forward host env vars to container remoteEnv with ${localEnv:VAR} depends on VS Code's process environment which breaks when launched from GUI. Docker's --env VAR (no value) forwards the variable directly from the host Docker environment. Co-Authored-By: Claude Sonnet 4.6 --- .devcontainer/devcontainer.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json index c346e2c..956bfbc 100644 --- a/.devcontainer/devcontainer.json +++ b/.devcontainer/devcontainer.json @@ -16,8 +16,8 @@ "postCreateCommand": "bash .devcontainer/post-create.sh", "forwardPorts": [8501], "remoteUser": "vscode", - "remoteEnv": { - "ANTHROPIC_FOUNDRY_API_KEY": "${localEnv:ANTHROPIC_FOUNDRY_API_KEY}", - "ANTHROPIC_FOUNDRY_RESOURCE": "${localEnv:ANTHROPIC_FOUNDRY_RESOURCE}" - } + "runArgs": [ + "--env", "ANTHROPIC_FOUNDRY_API_KEY", + "--env", "ANTHROPIC_FOUNDRY_RESOURCE" + ] } From d607242afc678b42d6332d68bc84958f46c809d2 Mon Sep 17 00:00:00 2001 From: Tomeriko96 Date: Wed, 18 Mar 2026 11:08:19 +0100 Subject: [PATCH 5/7] fix: use --env-file for reliable host secret injection runArgs --env VAR and remoteEnv ${localEnv:VAR} both read from VS Code's process environment which is unavailable when launched from GUI. --env-file has Docker read directly from .devcontainer/.env on disk. initializeCommand ensures the file exists (touch) so container start never fails. Co-Authored-By: Claude Sonnet 4.6 --- .devcontainer/devcontainer.json | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json index 956bfbc..58e3093 100644 --- a/.devcontainer/devcontainer.json +++ b/.devcontainer/devcontainer.json @@ -13,11 +13,9 @@ ] } }, + "initializeCommand": "touch .devcontainer/.env", + "runArgs": ["--env-file", ".devcontainer/.env"], "postCreateCommand": "bash .devcontainer/post-create.sh", "forwardPorts": [8501], - "remoteUser": "vscode", - "runArgs": [ - "--env", "ANTHROPIC_FOUNDRY_API_KEY", - "--env", "ANTHROPIC_FOUNDRY_RESOURCE" - ] + "remoteUser": "vscode" } From 31eb17bd410bf218ac5ff66b1d54cc9e110c5c3b Mon Sep 17 00:00:00 2001 From: Tomeriko96 Date: Wed, 18 Mar 2026 12:35:07 +0100 Subject: [PATCH 6/7] docs: add Claude Code setup steps to DCONTAINER.md Co-Authored-By: Claude Sonnet 4.6 --- DCONTAINER.md | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/DCONTAINER.md b/DCONTAINER.md index 5853da1..c8eac9a 100644 --- a/DCONTAINER.md +++ b/DCONTAINER.md @@ -95,6 +95,42 @@ devcontainer exec --workspace-folder . bash --- +## Claude Code instellen + +Claude Code is vooraf geïnstalleerd in de container, maar heeft twee omgevingsvariabelen nodig om verbinding te maken met de CEDA Foundry API. + +### Stap 1 — Maak het secrets-bestand aan + +```bash +cp .devcontainer/.env.example .devcontainer/.env +``` + +### Stap 2 — Vul je credentials in + +Open `.devcontainer/.env` en vul de twee waarden in: + +``` +ANTHROPIC_FOUNDRY_API_KEY= +ANTHROPIC_FOUNDRY_RESOURCE= +``` + +> Dit bestand staat in `.gitignore` en wordt nooit gecommit. + +### Stap 3 — Bouw de container (opnieuw) + +Druk op `F1` → **Dev Containers: Rebuild Container**. + +Docker laadt het `.env`-bestand direct in bij het starten van de container. Na het herbouwen werkt `claude` meteen. + +### Controleren + +```bash +claude --version +echo $ANTHROPIC_FOUNDRY_API_KEY # moet je key tonen +``` + +--- + ## Wat zit er in de container? Na het opstarten zijn de volgende tools beschikbaar: From 73f2fb7e9908425fbb982ad545492c6add461436 Mon Sep 17 00:00:00 2001 From: Tomeriko96 Date: Wed, 18 Mar 2026 12:37:30 +0100 Subject: [PATCH 7/7] docs: merge DCONTAINER.md into README Co-Authored-By: Claude Sonnet 4.6 --- DCONTAINER.md | 157 -------------------------------------------------- README.md | 85 +++++++++++++++++++++++---- 2 files changed, 73 insertions(+), 169 deletions(-) delete mode 100644 DCONTAINER.md diff --git a/DCONTAINER.md b/DCONTAINER.md deleted file mode 100644 index c8eac9a..0000000 --- a/DCONTAINER.md +++ /dev/null @@ -1,157 +0,0 @@ -# Devcontainer Gebruikshandleiding - -Een devcontainer biedt een kant-en-klare Python-ontwikkelomgeving in Docker. Je hoeft niets lokaal te installeren — Python, `uv`, Claude Code en de CEDA org-skills zijn allemaal vooraf geconfigureerd in de container. - -## Vereisten - -> **Docker is verplicht.** De container draait op Docker; zonder Docker werkt geen van onderstaande methoden. - -- **Windows / macOS**: installeer [Docker Desktop](https://www.docker.com/products/docker-desktop/) -- **Linux**: installeer [Docker Engine](https://docs.docker.com/engine/install/) - -Zorg dat Docker draait voordat je een van de onderstaande stappen uitvoert. - ---- - -## VS Code - -### Eenmalige installatie - -1. Installeer [Visual Studio Code](https://code.visualstudio.com/) -2. Installeer de extensie **Dev Containers** (`ms-vscode-remote.remote-containers`) - -### Gebruik - -```bash -git clone https://github.com/cedanl/python-uv-devcontainer -code python-uv-devcontainer -``` - -VS Code toont een melding rechtsonder: **"Reopen in Container"** — klik daarop. - -Lukt dat niet? Druk op `F1` en zoek naar **Dev Containers: Reopen in Container**. - -De eerste keer wordt de Docker-image gebouwd; dit duurt enkele minuten. Daarna start de container snel op. - ---- - -## Positron - -[Positron](https://positron.posit.co/) is een IDE van Posit met ingebouwde devcontainer-ondersteuning. - -```bash -git clone https://github.com/cedanl/python-uv-devcontainer -``` - -Open de map in Positron. Positron detecteert automatisch de `.devcontainer/devcontainer.json` en vraagt of je de map in een container wilt heropenen. Klik **"Reopen in Container"**. - ---- - -## DevPod - -[DevPod](https://devpod.sh/) laat je devcontainers lokaal of in de cloud draaien, los van een specifieke IDE. - -### Eenmalige installatie - -Download DevPod via [devpod.sh](https://devpod.sh/) en stel een **provider** in. Kies **Docker** voor lokaal gebruik. - -### Gebruik via de UI - -1. Open DevPod en klik op **"Create Workspace"** -2. Voer de repository-URL in: `https://github.com/cedanl/python-uv-devcontainer` -3. Kies je IDE (VS Code, browser, etc.) -4. Klik **"Create Workspace"** - -### Gebruik via de CLI - -```bash -devpod up github.com/cedanl/python-uv-devcontainer -``` - ---- - -## Devcontainer CLI - -De officiële `@devcontainers/cli` bouwt en beheert containers direct vanuit de terminal, zonder IDE. - -### Eenmalige installatie - -```bash -npm install -g @devcontainers/cli -``` - -### Gebruik - -```bash -git clone https://github.com/cedanl/python-uv-devcontainer -cd python-uv-devcontainer - -# Bouw en start de container -devcontainer up --workspace-folder . - -# Open een shell in de container -devcontainer exec --workspace-folder . bash -``` - ---- - -## Claude Code instellen - -Claude Code is vooraf geïnstalleerd in de container, maar heeft twee omgevingsvariabelen nodig om verbinding te maken met de CEDA Foundry API. - -### Stap 1 — Maak het secrets-bestand aan - -```bash -cp .devcontainer/.env.example .devcontainer/.env -``` - -### Stap 2 — Vul je credentials in - -Open `.devcontainer/.env` en vul de twee waarden in: - -``` -ANTHROPIC_FOUNDRY_API_KEY= -ANTHROPIC_FOUNDRY_RESOURCE= -``` - -> Dit bestand staat in `.gitignore` en wordt nooit gecommit. - -### Stap 3 — Bouw de container (opnieuw) - -Druk op `F1` → **Dev Containers: Rebuild Container**. - -Docker laadt het `.env`-bestand direct in bij het starten van de container. Na het herbouwen werkt `claude` meteen. - -### Controleren - -```bash -claude --version -echo $ANTHROPIC_FOUNDRY_API_KEY # moet je key tonen -``` - ---- - -## Wat zit er in de container? - -Na het opstarten zijn de volgende tools beschikbaar: - -| Tool | Beschrijving | -|------|-------------| -| `python` | Python 3.12 | -| `uv` | Snelle Python package manager | -| `claude` | Claude Code CLI (AI-assistent in de terminal) | -| `gh` | GitHub CLI | -| CEDA org-skills | Automatisch geladen vanuit `cedanl/.github` via `npx skills` | - -Na het inloggen met `gh auth login` kun je ook `gh dash` gebruiken voor een GitHub-dashboard in de terminal. - ---- - -## Problemen oplossen - -| Probleem | Oplossing | -|----------|-----------| -| "Cannot connect to Docker daemon" | Zorg dat Docker Desktop of Docker Engine draait | -| Container bouwt niet | Controleer je internetverbinding; images worden bij de eerste build gedownload | -| `claude` niet gevonden | Herstart de terminal in de container (`exec bash`) | -| Skills niet geladen | Voer `npx skills add cedanl/.github --skill '*' -a claude-code -y --copy -g` handmatig uit | diff --git a/README.md b/README.md index 6786750..25d16a3 100644 --- a/README.md +++ b/README.md @@ -1,21 +1,82 @@ # Python devcontainer met uv -Deze repository biedt een minimale development container voor Python-projecten met [uv](https://github.com/astral-sh/uv) als package manager. +Een kant-en-klare ontwikkelomgeving voor Python-projecten met [uv](https://github.com/astral-sh/uv) als package manager. Inclusief Claude Code CLI en CEDA org-skills. -## Gebruik +## Vereisten + +**Docker is verplicht** — zonder Docker werkt geen van onderstaande methoden. + +- **Windows / macOS**: installeer [Docker Desktop](https://www.docker.com/products/docker-desktop/) +- **Linux**: installeer [Docker Engine](https://docs.docker.com/engine/install/) -1. Clone deze repo naar GitHub (bijv. als template voor je organisatie). -2. Open de map in VS Code. -3. Kies: `Reopen in Container` (Dev Containers / Codespaces). -4. Dependencies worden automatisch geïnstalleerd via `uv sync`. -5. Run de app: +## Opstarten +### VS Code + +1. Installeer de extensie **Dev Containers** (`ms-vscode-remote.remote-containers`) +2. Clone de repo en open de map: ```bash - uv run python -m src.main + git clone https://github.com/cedanl/python-uv-devcontainer + code python-uv-devcontainer + ``` +3. Klik op **"Reopen in Container"** rechtsonder, of `F1` → **Dev Containers: Reopen in Container** -## Vereisten +### Positron + +Clone de repo en open de map in Positron. Positron detecteert de `.devcontainer/devcontainer.json` automatisch en vraagt of je wilt heropenen in een container. + +### DevPod + +```bash +devpod up github.com/cedanl/python-uv-devcontainer +``` + +Of via de [DevPod UI](https://devpod.sh/): **Create Workspace** → voer de repository-URL in. + +### Devcontainer CLI + +```bash +npm install -g @devcontainers/cli +git clone https://github.com/cedanl/python-uv-devcontainer +devcontainer up --workspace-folder python-uv-devcontainer +``` + +## Claude Code instellen + +Claude Code is vooraf geïnstalleerd, maar heeft twee credentials nodig voor de CEDA Foundry API. + +**Stap 1** — Maak het secrets-bestand aan: +```bash +cp .devcontainer/.env.example .devcontainer/.env +``` + +**Stap 2** — Vul je credentials in in `.devcontainer/.env`: +``` +ANTHROPIC_FOUNDRY_API_KEY= +ANTHROPIC_FOUNDRY_RESOURCE= +``` + +> Dit bestand staat in `.gitignore` en wordt nooit gecommit. + +**Stap 3** — `F1` → **Dev Containers: Rebuild Container** + +Na het herbouwen werkt `claude` meteen. + +## Wat zit er in de container? + +| Tool | Beschrijving | +|------|-------------| +| `python` | Python 3.12 | +| `uv` | Snelle Python package manager | +| `claude` | Claude Code CLI | +| `gh` | GitHub CLI | +| CEDA org-skills | Geladen vanuit `cedanl/.github` via `npx skills` | -- Docker moet geïnstalleerd en actief zijn op je machine (of je gebruikt GitHub Codespaces met container support). -- Een editor die met devcontainers overweg kan, zoals VS Code + de Dev Containers-extensie of GitHub Codespaces. +## Problemen oplossen -**Zonder Docker (of een equivalente container runtime) kan deze setup niet werken**, omdat de volledige ontwikkelomgeving in de container draait. +| Probleem | Oplossing | +|----------|-----------| +| "Cannot connect to Docker daemon" | Zorg dat Docker draait | +| Container bouwt niet | Controleer je internetverbinding | +| `claude` geeft API-fout | Controleer `.devcontainer/.env` en rebuild | +| Skills niet geladen | `npx skills add cedanl/.github --skill '*' -a claude-code -y --copy -g` |