Ship a Dockerfile.sandbox, docker-compose.yml, .env.example, and docs so users can run GSD auto mode inside an isolated Docker sandbox (MicroVM) without risk to the host filesystem, SSH keys, or other projects. - Dockerfile.sandbox: Node 22 base, gsd-pi pre-installed, non-root user, port 3000 - docker-compose.yml: workspace volume mount, persistent .gsd state, env_file support - .env.example: template for LLM provider keys and optional tool credentials - docker/README.md: setup guide covering sandbox CLI, Compose, two-terminal workflow, credential injection, and network allowlisting - .dockerignore: project-root ignore file for efficient Docker builds - src/tests/docker-template.test.ts: 13 structural tests verifying all template files Fixes #1544 Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
38 lines
1 KiB
Text
38 lines
1 KiB
Text
# ──────────────────────────────────────────────
|
|
# GSD Docker Sandbox — Environment Variables
|
|
# Copy this file to .env and fill in your keys.
|
|
# ──────────────────────────────────────────────
|
|
|
|
# ── LLM Provider API Keys (at least one required) ──
|
|
|
|
# Anthropic (Claude)
|
|
# ANTHROPIC_API_KEY=sk-ant-...
|
|
|
|
# OpenAI
|
|
# OPENAI_API_KEY=sk-...
|
|
|
|
# Google (Gemini)
|
|
# GOOGLE_API_KEY=...
|
|
|
|
# OpenRouter (multi-provider gateway)
|
|
# OPENROUTER_API_KEY=sk-or-...
|
|
|
|
# ── Optional: Research & Search Tools ──
|
|
|
|
# Brave Search API
|
|
# BRAVE_API_KEY=...
|
|
|
|
# Tavily Search API
|
|
# TAVILY_API_KEY=tvly-...
|
|
|
|
# Jina AI (reader/search)
|
|
# JINA_API_KEY=...
|
|
|
|
# ── Optional: Git & GitHub ──
|
|
|
|
# GitHub personal access token (for PR operations)
|
|
# GITHUB_TOKEN=ghp_...
|
|
|
|
# Git author identity inside the sandbox
|
|
# GIT_AUTHOR_NAME=Your Name
|
|
# GIT_AUTHOR_EMAIL=you@example.com
|