feat(devcontainer): add GitHub Codespaces configuration (#6801)
* feat(devcontainer): add Codespaces config with Claude Code and Vale Adds GitHub Codespaces / devcontainer configuration: - Node.js 20 base image with Hugo extended - Auto-installs: yarn dependencies, Vale CLI, Claude Code CLI - VS Code extensions: Markdown, Prettier, YAML, Vale - Port forwarding for Hugo dev server (1313) - Secrets prompt for ANTHROPIC_API_KEY Usage: 1. Open repo in Codespaces 2. Add ANTHROPIC_API_KEY to Codespaces secrets 3. Run `claude` to start Claude Code with full network access https://claude.ai/code/session_0173AuWPoy6UXiatCMGz4W7h * fix(devcontainer): remove invalid secrets field, use latest Hugo - Remove 'secrets' field (not valid in devcontainer schema, configure in GitHub settings) - Remove specific Hugo version (use feature default) - Add codespaces.openFiles for better UX https://claude.ai/code/session_0173AuWPoy6UXiatCMGz4W7h * fix(devcontainer): simplify config, remove docker-in-docker - Remove docker-in-docker feature (may cause filesystem provider errors) - Remove codespaces-specific settings - Simplify extensions list - Make setup.sh more resilient (don't fail on warnings) https://claude.ai/code/session_0173AuWPoy6UXiatCMGz4W7h --------- Co-authored-by: Claude <noreply@anthropic.com>jts-deps-yarn-upgrade
parent
b7a4077110
commit
c6efa0a6d7
|
|
@ -0,0 +1,30 @@
|
|||
{
|
||||
"name": "InfluxData Docs",
|
||||
"image": "mcr.microsoft.com/devcontainers/javascript-node:20",
|
||||
|
||||
"features": {
|
||||
"ghcr.io/devcontainers/features/hugo:1": {
|
||||
"extended": true
|
||||
}
|
||||
},
|
||||
|
||||
"postCreateCommand": "bash .devcontainer/setup.sh",
|
||||
|
||||
"customizations": {
|
||||
"vscode": {
|
||||
"extensions": [
|
||||
"yzhang.markdown-all-in-one",
|
||||
"esbenp.prettier-vscode",
|
||||
"redhat.vscode-yaml"
|
||||
],
|
||||
"settings": {
|
||||
"editor.formatOnSave": true,
|
||||
"[markdown]": {
|
||||
"editor.wordWrap": "on"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
"forwardPorts": [1313]
|
||||
}
|
||||
|
|
@ -0,0 +1,39 @@
|
|||
#!/bin/bash
|
||||
|
||||
echo "Setting up InfluxData Docs development environment..."
|
||||
|
||||
# Install project dependencies
|
||||
echo "Installing Node.js dependencies..."
|
||||
yarn install || echo "Warning: yarn install had issues"
|
||||
|
||||
# Install Vale CLI
|
||||
echo "Installing Vale linter..."
|
||||
VALE_VERSION="3.12.0"
|
||||
curl -sfL "https://github.com/errata-ai/vale/releases/download/v${VALE_VERSION}/vale_${VALE_VERSION}_Linux_64-bit.tar.gz" | tar -xz -C /tmp
|
||||
sudo mv /tmp/vale /usr/local/bin/vale 2>/dev/null || mv /tmp/vale ~/bin/vale
|
||||
chmod +x /usr/local/bin/vale 2>/dev/null || chmod +x ~/bin/vale
|
||||
|
||||
# Sync Vale styles
|
||||
echo "Syncing Vale styles..."
|
||||
vale sync 2>/dev/null || echo "Vale sync skipped (styles exist locally)"
|
||||
|
||||
# Install Claude Code CLI
|
||||
echo "Installing Claude Code CLI..."
|
||||
npm install -g @anthropic-ai/claude-code || echo "Warning: Claude Code install had issues"
|
||||
|
||||
# Verify installations
|
||||
echo ""
|
||||
echo "✅ Setup complete! Installed versions:"
|
||||
echo " Node.js: $(node --version)"
|
||||
echo " Yarn: $(yarn --version)"
|
||||
echo " Hugo: $(hugo version | head -1)"
|
||||
echo " Vale: $(vale --version)"
|
||||
echo " Claude Code: $(claude --version 2>/dev/null || echo 'installed (run claude to authenticate)')"
|
||||
|
||||
echo ""
|
||||
echo "🚀 Quick start commands:"
|
||||
echo " hugo server # Start dev server on port 1313"
|
||||
echo " vale content/ # Run style linter"
|
||||
echo " claude # Start Claude Code CLI"
|
||||
echo ""
|
||||
echo "💡 Tip: Set ANTHROPIC_API_KEY in Codespaces secrets for Claude Code"
|
||||
Loading…
Reference in New Issue