Define reproducible development environments with Dev Containers. Use when a user asks to standardize dev environments, set up VS Code remote containers, create reproducible dev setups, or onboard developers faster.
Scanned 5/27/2026
Install to Claude Code
npx -y skills add TerminalSkills/skills --skill devcontainers --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Devcontainers?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/terminalskills-devcontainers)More formats (shields.io, HTML) on the badges page.
---
name: devcontainers
description: >-
Define reproducible development environments with Dev Containers. Use when a user asks to standardize dev environments, set up VS Code remote containers, create reproducible dev setups, or onboard developers faster.
license: Apache-2.0
compatibility: 'VS Code, GitHub Codespaces'
metadata:
author: terminal-skills
version: 1.0.0
category: development
tags:
- devcontainers
- docker
- vscode
- codespaces
- reproducible
---
# Dev Containers
## Overview
Dev Containers define reproducible development environments in Docker. Open a repo in VS Code or GitHub Codespaces and get the exact same environment — tools, extensions, settings pre-installed.
## Instructions
### Step 1: Basic Config
```json
// .devcontainer/devcontainer.json — Dev environment definition
{
"name": "My Project",
"image": "mcr.microsoft.com/devcontainers/typescript-node:20",
"features": {
"ghcr.io/devcontainers/features/docker-in-docker:2": {},
"ghcr.io/devcontainers/features/github-cli:1": {}
},
"forwardPorts": [3000, 5432],
"postCreateCommand": "npm install",
"customizations": {
"vscode": {
"extensions": [
"dbaeumer.vscode-eslint",
"esbenp.prettier-vscode"
],
"settings": { "editor.formatOnSave": true }
}
}
}
```
### Step 2: With Database
```yaml
# .devcontainer/docker-compose.yml
services:
app:
image: mcr.microsoft.com/devcontainers/typescript-node:20
volumes: [../:/workspace:cached]
command: sleep infinity
db:
image: postgres:16
environment:
POSTGRES_PASSWORD: postgres
POSTGRES_DB: myapp
volumes: [pgdata:/var/lib/postgresql/data]
volumes:
pgdata:
```
## Guidelines
- New developer: clone → open in VS Code → "Reopen in Container" → ready.
- Features marketplace adds tools without custom Dockerfiles.
- Works with GitHub Codespaces — same config, cloud-hosted.
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!