> ## Documentation Index
> Fetch the complete documentation index at: https://docs.archal.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# GitHub clone

> Test GitHub agents against a stateful clone of repos, files, branches, issues, PRs, commits, and workflow runs with real GitHub API error shapes.

Clone ID: `github`

Covers repos, files, branches, issues, PRs, commits, and workflow runs. Error responses match real GitHub API format (status codes, error messages, validation errors).

## Start here

| Question     | Answer                                                                                                                             |
| ------------ | ---------------------------------------------------------------------------------------------------------------------------------- |
| Best for     | Agents that triage issues, update files, open PRs, review diffs, merge changes, or inspect CI state.                               |
| Connect with | Route mode for `api.github.com`, direct REST base URLs from `archal clone start github`, or MCP tools.                             |
| Known limits | Coverage is strongest for REST and MCP workflows. Git transport and every GitHub product surface are not simulated.                |
| Seeds        | Common seeds: `small-project`, `enterprise-repo`, `stale-issues`, `merge-conflict`, `empty`. See [Seeds](/guides/seeds) for usage. |

## Available tools

### Repositories

| Tool                  | Description                                                 |
| --------------------- | ----------------------------------------------------------- |
| `create_repository`   | Create a new GitHub repository in your account              |
| `get_repository`      | Get details of a GitHub repository                          |
| `search_repositories` | Search for GitHub repositories                              |
| `fork_repository`     | Fork a repository to your account or specified organization |
| `search_code`         | Search for code across repositories                         |
| `search_users`        | Search for users on GitHub                                  |

### Files

| Tool                    | Description                                               |
| ----------------------- | --------------------------------------------------------- |
| `get_file_contents`     | Get the contents of a file or directory from a repository |
| `create_or_update_file` | Create or update a single file in a repository            |
| `push_files`            | Push multiple files in a single commit                    |

### Branches

| Tool            | Description                         |
| --------------- | ----------------------------------- |
| `create_branch` | Create a new branch in a repository |
| `list_branches` | List branches in a repository       |
| `delete_branch` | Delete a branch from a repository   |

### Issues

| Tool                | Description                                             |
| ------------------- | ------------------------------------------------------- |
| `create_issue`      | Create a new issue in a repository                      |
| `get_issue`         | Get details of a specific issue                         |
| `list_issues`       | List issues with filtering options                      |
| `update_issue`      | Update an existing issue                                |
| `search_issues`     | Search for issues and pull requests across repositories |
| `add_issue_comment` | Add a comment to an existing issue                      |

### Pull Requests

| Tool                         | Description                                      |
| ---------------------------- | ------------------------------------------------ |
| `create_pull_request`        | Create a new pull request                        |
| `get_pull_request`           | Get details of a specific pull request           |
| `list_pull_requests`         | List and filter repository pull requests         |
| `update_pull_request`        | Update an existing pull request                  |
| `merge_pull_request`         | Merge a pull request                             |
| `get_pull_request_diff`      | Get the diff of a pull request                   |
| `get_pull_request_commits`   | Get commits on a pull request                    |
| `get_pull_request_reviews`   | Get reviews on a pull request                    |
| `create_pull_request_review` | Create a review on a pull request                |
| `get_pull_request_files`     | Get the list of files changed in a pull request  |
| `get_pull_request_status`    | Get the combined status of all status checks     |
| `update_pull_request_branch` | Update a PR branch with latest changes from base |
| `get_pull_request_comments`  | Get the review comments on a pull request        |

### Commits & Workflows

| Tool                 | Description                         |
| -------------------- | ----------------------------------- |
| `list_commits`       | Get list of commits of a branch     |
| `list_workflow_runs` | List workflow runs for a repository |
| `get_workflow_run`   | Get a specific workflow run         |

## Notes

* Configurable rate limiting via `--rate-limit` flag or the `rate-limited` seed.
* `permissions-denied` seed returns 403 on write operations.
* In hosted sessions, MCP is exposed over HTTPS endpoints (for example `https://<session>.clones.archal.ai/github/mcp`).
* The default bootstrap token is `ghp_AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTt`. See [Authentication](/guides/authentication) for the full list and override instructions.
