# Copy this file to .env (which is gitignored) and fill in the values you need. # Attendees can leave everything at the fake defaults below; only OPENAI_API_KEY # is required, because the model itself is always live. # --- Model ------------------------------------------------------------------- # OpenAI API key. Create one at https://platform.openai.com/api-keys OPENAI_API_KEY= # Any OpenAI chat model that supports tool calling. MODEL=gpt-4.1-mini # --- GitHub ------------------------------------------------------------------ # fake = bundled offline data, no setup (default). # gh = use the `gh` CLI's own login. Run `gh auth login` once; no token needed. # api = use GITHUB_TOKEN below (for containers / where `gh` is not available). GITHUB_MODE=fake # Repository the GitHub tools act on. GITHUB_REPO=stacklok/toolhive # Personal access token. Only needed for GITHUB_MODE=api; leave blank for fake/gh. # Create at https://github.com/settings/tokens # fine-grained: "Public repositories (read-only)" is enough for public repos # classic: the `public_repo` scope is enough to read public issues/PRs GITHUB_TOKEN= # --- Part 4 only: remote GitHub MCP behind OAuth ----------------------------- # Needed ONLY for Part 4; leave blank for Parts 1-3. # ToolHive's embedded auth server uses a GitHub OAuth app to log in upstream. # The app's client ID lives in parts/04_remote_oauth/toolhive/github-remote.yaml # (pre-filled with the workshop app); the secret is read from THIS file by # parts/04_remote_oauth/cluster-prereqs.sh and injected as a cluster secret. GITHUB_OAUTH_CLIENT_SECRET=