Skip to content

feat: Add devcontainer support#47

Open
fgrehm wants to merge 3 commits intobuildermethods:mainfrom
fgrehm:add-devcontainer-support
Open

feat: Add devcontainer support#47
fgrehm wants to merge 3 commits intobuildermethods:mainfrom
fgrehm:add-devcontainer-support

Conversation

@fgrehm
Copy link

@fgrehm fgrehm commented Feb 28, 2026

Summary

Add devcontainer configuration for containerized development. Pre-installs Playwright chromium) and Claude Code in the image. Only change to existing code is making Vite's server host configurable via VITE_HOST env var (defaults to localhost, no behavior change outside the container).

Checklist

  • Linked to related Issue/Discussion
  • Documented steps to test (below)
  • Drafted "how to use" docs (if this adds new behavior)
  • Backwards compatibility considered (notes if applicable)

Documented steps to test

  1. Open the project in a devcontainer-compatible tool (VS Code Dev Containers, GitHub Codespaces, crib, etc.)
  2. Verify npm run dev serves on port 3000 and is accessible from the host
  3. Verify claude CLI is available in the container
  4. Verify npx playwright install --dry-run shows chromium already installed

Notes for reviewers

  • The only change outside .devcontainer/ is in vite.config.ts (env-based host config, defaults to localhost)
  • Container runs as node user, not root
  • Port 3000 is published via both appPort (Docker-level) and forwardPorts (VS Code/Codespaces)

Adds .devcontainer configuration for local development using Docker containers.
Includes Playwright (chromium) pre-installed with dependencies via custom Dockerfile.
Enables consistent development environment across different machines.

Coding-Agent: Claude Code
Model: claude-haiku-4-5-20251001
- Install Claude Code as node user in Dockerfile
- Set remoteUser to node for correct workspace permissions
- Publish port 3000 via appPort for non-VS Code tools
- Make Vite server host configurable via VITE_HOST env var
- Bind to :: (dual-stack) in container for IPv4+IPv6 support

Coding-Agent: Claude Code
Model: claude-opus-4-6
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant