devcontainers
$
npx mdskill add TerminalSkills/skills/devcontainersDefine reproducible dev environments using Docker and VS Code
- Standardize development setups across teams and projects
- Uses Docker, VS Code, and GitHub Codespaces for containerization
- Generates devcontainer.json and docker-compose.yml based on user needs
- Delivers pre-configured environments with tools, ports, and extensions
SKILL.md
.github/skills/devcontainersView on GitHub ↗
---
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.
More from TerminalSkills/skills