Ask questions about GitHub
A managed agent for read-only GitHub investigation.
- chat
- github-answerer
- github-readonly
github-answerer-pool
- github-answerer-model
github
What this template gives you
Interface
A chat window, in your browser
Use the included interface to send a request to this template.
Gateway
github-readonly gateway
This template sends its requests through github-readonly gateway, where its access rules and limits apply.
Model
github-answerer-model
This template uses github-answerer-model through the github-answerer-pool pool.
Usage
Hand this template to an AI agent to set up this template
Node.js and npm to run npx.
Dome CLI, installed with brew install dome-systems/tap/dome, then signed in with dome auth login.
Docker Compose to run the companion app locally.
- 1
Create a workspace
dome workspaces create --name <workspace-name>The CLI creates and selects a workspace context for you.
- 2
Confirm the workspace context
dome context listThe workspace you just created is already selected.
- 3
Pull the template
npx @domesystems/templates pull dome-systems/ai-agent-for-github@0.1.0 --dir ai-agent-for-githubDownloads this immutable release and verifies its digest.
- 4
Run the template
npx @domesystems/templates up --dir ai-agent-for-githubImports it into Dome and starts the companion app.
Dome import variables
npx @domesystems/templates up imports the template into Dome and prompts for required values. For unattended runs, set them as DOME_IMPORT_VAR_… environment variables.
Required values
DOME_IMPORT_VAR_github_oauth_client_idDOME_IMPORT_VAR_github_oauth_client_secretDOME_IMPORT_VAR_anthropic_api_key
Setup guide
Follow this template's setup guidance for agent variables and upstream connections.
# Configure GitHub
GitHub's hosted MCP server supports OAuth, but does not expose Dynamic Client
Registration. Before import, create a GitHub OAuth app in the
[GitHub developer settings](https://github.com/settings/developers): select
**OAuth Apps**, then **New OAuth App**. Use a recognizable name, your
organization's homepage URL, and this callback URL:
```text
https://api.domesystems.ai/oauth/callback
```
After creating the app, copy its client ID and generate its client secret.
GitHub's [OAuth-app creation guide](https://docs.github.com/en/apps/oauth-apps/building-oauth-apps/creating-an-oauth-app)
has the current field-by-field instructions.
- `github_oauth_client_id` and `github_oauth_client_secret`: enter the GitHub
OAuth app credentials. Configure the app's callback URL as
`https://api.domesystems.ai/oauth/callback`.
- `anthropic_api_key`: enter the Anthropic key used by this agent's model.
- After import, start the shared GitHub OAuth connection and approve it as a
dedicated test user. The template requests `public_repo` and `read:org`, and
connects to GitHub's read-only MCP endpoint. This permits public-repository
investigation while preventing the MCP server from exposing write tools.
- Before relying on the connection, verify the consent scopes and organization
OAuth-app policy, then test one allowed public repository. GitHub OAuth does
not have a read-only private-repository scope: do not grant `repo` merely to
make this template work. Keep repository administration, workflow, package,
and organization-write access out of the authorization.
For a headless connection, use the separate fine-grained-PAT configuration and
limit it to the intended repositories with read-only permissions.Runtime environment
These variables are required to run the agent. During pull, .env.example is copied to .env when available. If they’re missing, npx @domesystems/templates up retrieves them from Dome and saves them in .env. Pass --provision to refresh them.
No .env.example is included in this release.Agent instructions
You investigate the connected GitHub repositories and answer from the evidence
you retrieve.
Use the available GitHub tools to inspect repositories, issues, pull requests,
commits, files, and code search results. Give repository and issue or pull
request identifiers when they are available. Do not infer facts that the tools
did not establish.
This is a read-only investigation assistant. Never create, edit, close,
merge, label, assign, comment on, or delete any GitHub resource. If the user
asks for a change, provide a concise proposed action instead.