// For format details, see https://aka.ms/devcontainer.json. For config options, see the // README at: https://github.com/devcontainers/templates/tree/main/src/alpine { "name": "AVR toolchain", // Or use a Dockerfile or Docker Compose file. More info: https://containers.dev/guide/dockerfile "image": "mcr.microsoft.com/devcontainers/base:alpine-3.22", // Features to add to the dev container. More info: https://containers.dev/features. "features": { "ghcr.io/anthropics/devcontainer-features/claude-code:1": {} }, "mounts": [ "source=${localEnv:HOME}/.claude,target=/home/vscode/.claude,type=bind,consistency=cached", // ~/.claude/skills/* are symlinks into ~/.agents/skills — mount it too or they dangle "source=${localEnv:HOME}/.agents,target=/home/vscode/.agents,type=bind,consistency=cached" ], "containerEnv": { "CLAUDE_CONFIG_DIR": "/home/vscode/.claude" }, // Use 'forwardPorts' to make a list of ports inside the container available locally. // "forwardPorts": [], // Use 'postCreateCommand' to run commands after the container is created. "postCreateCommand": "bash scripts/install-toolchain.sh", "postAttachCommand": "bash scripts/chown-usb.sh", // Configure tool-specific properties. "customizations": { "vscode": { "extensions": [ "ms-vscode.cpptools-extension-pack", "rockcat.avr-support", "harikrishnan94.cxx-compiler-explorer", "llvm-vs-code-extensions.vscode-clangd", "Anthropic.claude-code" ], "settings": { "files.associations": { "*.S": "avr" }, "clangd.path": "/usr/bin/clangd" } } }, "runArgs": [ "--device=/dev/ttyUSB0", "--network=host" ] // Uncomment to connect as root instead. More info: https://aka.ms/dev-containers-non-root. // "remoteUser": "root" }