This directory contains the VS Code dev container configuration for OpenSpec development.
- Node.js 20 LTS (>=20.19.0) - TypeScript/JavaScript runtime
- pnpm - Fast, disk space efficient package manager
- Git + GitHub CLI - Version control tools
- VS Code Extensions:
- ESLint & Prettier for code quality
- Vitest Explorer for running tests
- GitLens for enhanced git integration
- Error Lens for inline error highlighting
- Code Spell Checker
- Path IntelliSense
-
Install Prerequisites (on your local machine):
-
Open in Container:
- Open this project in VS Code
- You'll see a notification: "Folder contains a Dev Container configuration file"
- Click "Reopen in Container"
OR
- Open Command Palette (
Cmd/Ctrl+Shift+P) - Type "Dev Containers: Reopen in Container"
- Press Enter
-
Wait for Setup:
- The container will build (first time takes a few minutes)
pnpm installruns automatically viapostCreateCommand- All extensions install automatically
Once set up, the container preserves your development environment:
# Run development build
pnpm run dev
# Run CLI in development
pnpm run dev:cli
# Run tests
pnpm test
# Run tests in watch mode
pnpm test:watch
# Build the project
pnpm run buildYour SSH keys are mounted read-only from ~/.ssh, so git operations work seamlessly with GitHub/GitLab.
If you modify .devcontainer/devcontainer.json:
- Command Palette → "Dev Containers: Rebuild Container"
- No need to install Node.js or pnpm on your local machine
- Consistent development environment across team members
- Isolated from other Node.js projects on your machine
- All dependencies and tools containerized
- Easy onboarding for new developers
Container won't build:
- Ensure Docker Desktop is running
- Check Docker has enough memory allocated (recommend 4GB+)
Extensions not appearing:
- Rebuild the container: "Dev Containers: Rebuild Container"
Permission issues:
- The container runs as the
nodeuser (non-root) - Files created in the container are owned by this user