Claude-skill-registry codespaces
Create, manage, and optimize GitHub Codespaces cloud development environments. Configure devcontainers, manage resources, and streamline cloud-based development. Use when setting up cloud development environments, configuring devcontainers, or managing Codespaces. Triggers on codespace, devcontainer, cloud IDE, remote development, development environment, container development.
install
source · Clone the upstream repo
git clone https://github.com/majiayu000/claude-skill-registry
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/codespaces-housegarofalo-claude-code-base" ~/.claude/skills/majiayu000-claude-skill-registry-codespaces && rm -rf "$T"
manifest:
skills/data/codespaces-housegarofalo-claude-code-base/SKILL.mdsource content
GitHub Codespaces
Cloud development environments that work anywhere.
Prerequisites
- GitHub Account: With Codespaces access
- gh CLI: Install from https://cli.github.com/
- Authentication: Run
gh auth login
Quick Reference
Core Commands
| Action | Command |
|---|---|
| Create codespace | |
| List codespaces | |
| Open in VS Code | |
| Open in browser | |
| SSH into codespace | |
| Stop codespace | |
| Delete codespace | |
Machine Types
| Type | vCPUs | RAM | Storage | Best For |
|---|---|---|---|---|
| Basic | 2 | 8GB | 32GB | Simple projects, docs |
| Standard | 4 | 16GB | 32GB | Most development |
| Large | 8 | 32GB | 64GB | Full-stack, multiple services |
| XL | 16 | 64GB | 128GB | Data science, ML |
| GPU | 4+ | 16GB+ | 64GB+ | ML training, CUDA |
DevContainer Configuration
Directory Structure
.devcontainer/ +-- devcontainer.json # Default configuration +-- web-frontend/ | +-- devcontainer.json # Frontend-specific +-- backend-api/ | +-- devcontainer.json # Backend-specific +-- data-science/ +-- devcontainer.json # Data science config
Basic devcontainer.json
{ "name": "Project Dev Environment", "image": "mcr.microsoft.com/devcontainers/universal:2", "features": { "ghcr.io/devcontainers/features/node:1": {}, "ghcr.io/devcontainers/features/python:1": {} }, "customizations": { "vscode": { "extensions": [ "GitHub.copilot", "ms-python.python" ] } }, "postCreateCommand": "npm install", "forwardPorts": [3000, 5000] }
Lifecycle Scripts
postCreateCommand
Runs once when container is created:
"postCreateCommand": "npm install && npm run setup"
postStartCommand
Runs every time codespace starts:
"postStartCommand": "npm run dev:services"
postAttachCommand
Runs when VS Code attaches:
"postAttachCommand": "echo 'Welcome! Run npm start to begin.'"
Secrets Management
Setting Secrets
# For a specific repo gh secret set API_KEY --repo owner/repo # For Codespaces specifically gh secret set DB_PASSWORD --app codespaces # For user (all Codespaces) gh secret set NPM_TOKEN --user
Using Secrets in devcontainer.json
{ "containerEnv": { "DATABASE_URL": "${localEnv:DATABASE_URL}" }, "secrets": { "API_KEY": { "description": "API key for external service" } } }
Port Forwarding
Automatic Forwarding
{ "forwardPorts": [3000, 5000, 8080], "portsAttributes": { "3000": { "label": "Frontend", "onAutoForward": "openBrowser" }, "5000": { "label": "API", "onAutoForward": "notify" } } }
Manual Forwarding
gh codespace ports forward 3000:3000 -c <codespace-name>
Common Workflows
Quick Start New Feature
# Create codespace for feature branch gh codespace create -r owner/repo -b feature-branch -m standardLinux # Open in VS Code gh codespace code
PR Review in Codespace
# Create codespace from PR gh codespace create -r owner/repo --branch pr-branch # Or use the PR directly gh pr checkout 123 gh codespace create
Share Environment
# Export port with visibility gh codespace ports visibility 3000:public -c <name> # Get shareable URL gh codespace ports -c <name>
Performance Optimization
Prebuilds
Enable prebuilds for faster startup:
// .github/codespaces/prebuild.json { "triggers": { "branches": ["main", "develop"], "paths": ["package.json", ".devcontainer/**"] } }
Dotfiles Repository
Configure personal dotfiles in GitHub Settings > Codespaces.
Cost Management
Auto-stop Settings
Configure in GitHub Settings > Codespaces:
- Default idle timeout: 30 minutes
- Retention period: 7 days
Best Practices
- Stop when not in use:
gh codespace stop - Delete completed work:
gh codespace delete - Use appropriate machine size: Don't over-provision
- Enable prebuilds: Faster startup, less billing
Troubleshooting
| Issue | Solution |
|---|---|
| Slow startup | Enable prebuilds |
| Out of storage | Delete unused files, increase disk |
| Extension not working | Check devcontainer extensions config |
| Port not accessible | Check forwardPorts configuration |
| Environment variables missing | Verify secrets are set |
When to Use This Skill
- Setting up cloud development environments
- Configuring devcontainers for team consistency
- Managing Codespaces via CLI
- Optimizing development environment performance
- Sharing development environments
- PR reviews in isolated environments