skills/devcontainer-setup/SKILL.md
Scaffolds a complete VS Code Dev Container configuration with Docker, docker-compose, and optional Claude Code CLI support. Activates when asked to "set up devcontainer", "add docker development environment", "configure dev container", or containerize a development workflow.
npx skillsauth add shipshitdev/library devcontainer-setupInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Before creating the devcontainer, gather the following information from the user:
Project Name: What is the project/container name? (e.g., my-project, shipshitdev-api)
Base Image: What runtime does this project use?
oven/bun:1.3.5 - Bun projects (recommended for speed)node:20-slim - Node.js projectsnode:20 - Node.js with more toolsPackage Manager: Which package manager?
bun - Bun (default for Bun projects)npm - npmpnpm - pnpmyarn - YarnPorts: What ports need to be forwarded? (comma-separated, e.g., 3000, 3001, 5432)
Port Labels (optional): Labels for each port (e.g., 3000=Web, 5432=Postgres)
Parent Directory Mount: Should the parent directory be mounted for cross-repo access?
/workspace (good for monorepos, shared libraries)Claude Code Support: Include Claude Code CLI setup?
VS Code Extensions (optional): Additional extensions to install (comma-separated extension IDs)
Monorepo Structure (if applicable):
apps/*, packages/*).devcontainer/
├── devcontainer.json # VS Code dev container config
├── Dockerfile # Container image definition
├── docker-compose.yml # Docker compose config
├── setup.sh # Post-create setup script
└── README.md # Documentation
Generate all five files from the gathered information:
devcontainer.json — build config, mounts, features, VS Code extensions/settings, forwarded ports, postCreateCommandDockerfile — base image, workdir, dependency install (monorepo-aware), dev tools, exposed portsdocker-compose.yml — service definition, volumes (parent mount + node_modules caching), ports, dev commandsetup.sh — installs dependencies; if Claude Code support is requested, also fixes host-to-container Claude config symlinks and prints API key setup instructionsREADME.md — quick start, mount/port tables, directory structure, troubleshootingSee references/templates.md for the full fill-in-the-blank text of each file
({{PLACEHOLDER}} values come from the gathered information above).
| Package Manager | Lock File | Install Command | Dev Command |
|-----------------|-----------|-----------------|-------------|
| bun | bun.lock* | bun install --frozen-lockfile | bun run dev |
| npm | package-lock.json | npm ci | npm run dev |
| pnpm | pnpm-lock.yaml | pnpm install --frozen-lockfile | pnpm run dev |
| yarn | yarn.lock | yarn install --frozen-lockfile | yarn dev |
.devcontainer directorysetup.sh executableUser: "Set up devcontainer for my Next.js project"
.devcontainer/development
Coordinates a weekly engineering review of board accuracy, recent code changes, operational health, and scoped cleanup. Use for a recurring repository health review or a review of the last several days.
testing
Audits project board configuration and prepares explicitly requested setup, copy, or normalization changes while preserving the existing workflow and provider boundaries. Use when inspecting a board's fields, columns, scope, or configuration.
testing
Reconciles a project board with current work and delivery evidence, reports incomplete coverage and metadata gaps, and applies only approved provider-supported field changes. Use when auditing board drift, reviewing blocked work, or assessing upcoming delivery.
development
Walk through how a subsystem works. Use for "how does X work", code walkthroughs before changing something, and placement or ownership questions. Explains architecture, runtime flow, and onboarding mental models. Can critique architecture. Use why for motivation.