Add comprehensive dev container configuration with pnpm and GitHub Copilot CLI #16
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Overview
This PR implements a fully-configured development container for the unthread-webhook-server project, providing a consistent, production-ready development environment with all necessary tools pre-installed, including dual GitHub Copilot CLI installation and pnpm support.
What's Changed
Core Dev Container Configuration
Added
.devcontainer/devcontainer.jsonwith:Docker Compose Integration
Added
.devcontainer/docker-compose.override.ymlto:docker-compose.ymlAutomated Setup Script
Added
.devcontainer/setup.shthat handles:gh extension install github/gh-copilotforgh copilot suggest/explainnpm install -g @github/copilotfor the standalonecopilotcommandghcsandghceshortcuts for GitHub Copilot CLIredis-toolsfor debugging Redis operations.envfrom.env.exampleComprehensive Documentation
Added
.devcontainer/README.md(8.5 KB) covering:Updated main
README.mdwith a new "Development Container" section highlighting key benefits and quick start steps.Benefits
For Developers
ghcsandghcealiasesFor the Project
Usage
Testing
Validated that:
yarn type-checkpasses)Technical Details
Files Added:
.devcontainer/devcontainer.json- Main configuration.devcontainer/docker-compose.override.yml- Docker Compose overrides.devcontainer/setup.sh- Post-create automation script.devcontainer/README.md- Comprehensive documentationFiles Modified:
README.md- Added Development Container sectionTools Installed:
Node.js 22.16 LTS • pnpm • GitHub CLI • GitHub Copilot CLI (dual) • Redis CLI • TypeScript • ts-node • nodemon • Git • Zsh + Oh My Zsh
Backward Compatibility:
yarnandnpmcommands still workDocumentation
See
.devcontainer/README.mdfor complete documentation including:This implementation provides a world-class development experience while maintaining full compatibility with existing workflows. Developers can now get started in minutes with a fully-configured environment that matches production. 🚀
Original prompt
Add Dev Container Configuration with pnpm and GitHub Copilot CLI
Dev Container Implementation
Objective
Create a comprehensive development container configuration that provides a consistent, fully-equipped development environment for the unthread-webhook-server project with all necessary tools pre-installed.
Core Requirements
1. Base Configuration
/workspaces/unthread-webhook-server2. GitHub Copilot CLI - Dual Installation
Install both methods for maximum compatibility:
3. Essential Development Tools
Package Managers:
CLI Tools:
Build Tools:
4. VS Code Extensions
Include essential extensions for TypeScript/Node.js development:
GitHub Extensions:
github.copilot)github.copilot-chat)github.vscode-pull-request-github)TypeScript/Node.js:
dbaeumer.vscode-eslint) - for future ESLint integrationms-vscode.vscode-typescript-next)christian-kohler.npm-intellisense)christian-kohler.path-intellisense)Docker:
ms-azuretools.vscode-docker)Productivity:
eamodio.gitlens)usernamehw.errorlens)aaron-bond.better-comments)esbenp.prettier-vscode)editorconfig.editorconfig)5. Dev Container Structure
File:
.devcontainer/devcontainer.json{ "name": "Unthread Webhook Server", "dockerComposeFile": "../docker-compose.yml", "service": "server", "workspaceFolder": "/workspaces/unthread-webhook-server", "features": { "ghcr.io/devcontainers/features/node:1": { "version": "22.16", "nodeGypDependencies": true, "installYarnUsingApt": false }, "ghcr.io/devcontainers/features/github-cli:1": { "version": "latest" }, "ghcr.io/devcontainers/features/common-utils:2": { "installZsh": true, "configureZshAsDefaultShell": true, "installOhMyZsh": true } }, "customizations": { "vscode": { "extensions": [ "github.copilot", "github.copilot-chat", "github.vscode-pull-request-github", "dbaeumer.vscode-eslint", "ms-azuretools.vscode-docker", "eamodio.gitlens", "usernamehw.errorlens", "aaron-bond.better-comments", "esbenp.prettier-vscode", "editorconfig.editorconfig", "christian-kohler.npm-intellisense", "christian-kohler.path-intellisense" ], "settings": { "terminal.integrated.defaultProfile.linux": "zsh", "editor.formatOnSave": true, "editor.codeActionsOnSave": { "source.fixAll.eslint": true }, "typescript.tsdk": "node_modules/typescript/lib" } } }, "postCreateCommand": "pnpm install && gh extension install github/gh-copilot && npm install -g @github/copilot", "forwardPorts": [3000, 6379], "portsAttributes": { "3000": { "label": "Webhook Server", "onAutoForward": "notify" }, "6379": { "label": "Redis", "onAutoForward": "silent" } }, "remoteUser": "node" }6. Docker Compose Integration
docker-compose.yml7. Post-Creation Setup
Automated setup after container creation:
8. Documentation Updates
Add section to README.md: