devcontainer

安装量: 89
排名: #8997

安装

npx skills add https://github.com/jwynia/agent-skills --skill devcontainer

Devcontainer Diagnostic

Diagnose devcontainer and Docker development environment problems. Help create reproducible, fast-starting development environments that work consistently across VS Code, GitHub Codespaces, and team members.

When to Use This Skill

Use this skill when:

Setting up a new devcontainer Container startup is too slow Configuration errors or conflicts Different behavior in VS Code vs Codespaces Multi-service development environment needed

Do NOT use this skill when:

Writing application code Deploying to production Configuring CI/CD pipelines Core Principle

Development containers should provide instant productivity. Every configuration choice affects startup time, reproducibility, and team onboarding. Make these trade-offs explicit.

Diagnostic States DV0: No Devcontainer Strategy

Symptoms: Manual setup, "check the README", works on one machine fails on others

Interventions:

Start with pre-built devcontainer base image Use assets/devcontainer-simple.md template DV1: Slow Container Startup

Symptoms: 5+ minute startup, heavy postCreateCommand, avoiding rebuilds

Key Questions:

How long does startup actually take? What's in postCreateCommand? Are you using prebuilds?

Interventions:

Move npm install/pip install to Dockerfile (cached) Use mcr.microsoft.com/devcontainers/* base images Configure prebuilds for team repos Run scripts/analyze-devcontainer.ts DV2: Configuration Problems

Symptoms: JSON errors, VS Code won't connect, features conflicting

Checklist:

devcontainer.json passes JSON validation Using only ONE of: image, build.dockerfile, dockerComposeFile Features are compatible and ordered correctly Extensions use correct publisher.extension-name format DV3: Environment Parity Issues

Symptoms: Works in VS Code, fails in Codespaces (or vice versa)

Common Issues:

Issue Local VS Code Codespaces Docker socket Usually available Docker-in-Docker needed Secrets .env files work Use Codespaces secrets File watching Native May need polling DV4: Multi-Service Complexity

Symptoms: Need database/cache/queue, services can't communicate

Interventions:

Use Docker Compose integration Named volumes for persistence Health checks for service readiness Use assets/devcontainer-compose.md template DV5: Dockerfile Issues

Symptoms: Build failures, huge images, no caching

Best Practices:

FROM mcr.microsoft.com/devcontainers/base:ubuntu

Dependencies first (cached)

RUN apt-get update && apt-get install -y \ build-essential && rm -rf /var/lib/apt/lists/*

Copy deps then install (cached if deps unchanged)

COPY package*.json ./ RUN npm install

Code last (changes frequently)

COPY . .

DV6: Devcontainer Validated

Indicators:

Startup under 2 minutes Works in VS Code and Codespaces New developers productive in 30 minutes Available Scripts Script Purpose Usage analyze-devcontainer.ts Find issues and optimizations deno run --allow-read scripts/analyze-devcontainer.ts validate-dockerfile.ts Check Dockerfile best practices deno run --allow-read scripts/validate-dockerfile.ts scan-image.ts Vulnerability scanning (wraps Trivy) deno run --allow-run scripts/scan-image.ts [image] Anti-Patterns The Kitchen Sink

Installing every tool "just in case" - 10+ minute startups. Fix: Start minimal. Add only when needed.

The postCreateCommand Overload

Everything in postCreateCommand - runs every time. Fix: Move stable operations to Dockerfile.

The Snowflake Container

Manual changes inside running containers. Fix: ALL changes go in config files.

Templates assets/devcontainer-simple.md - Basic single-container setup assets/devcontainer-dockerfile.md - Custom Dockerfile approach assets/devcontainer-compose.md - Multi-service setup Related Skills system-design - Multi-service architecture informs Compose config pwa-development - Consistent environment for PWA toolchain

返回排行榜