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

# GitHub Plugin

> GitHub issues and repository operations.

**Plugin ID:** `github` | **Auth:** OAuth2 | **Scopes:** `repo`, `read:user` | **Status:** Implemented

## Tools

### github.issues.list

**Name:** List Issues

List issues in a GitHub repository, optionally filtered by state and labels.

**Input:**

| Parameter | Type       | Required | Default  | Description                      |
| --------- | ---------- | -------- | -------- | -------------------------------- |
| `owner`   | `string`   | Yes      | --       | Repository owner                 |
| `repo`    | `string`   | Yes      | --       | Repository name                  |
| `state`   | `string`   | No       | `"open"` | `"open"`, `"closed"`, or `"all"` |
| `labels`  | `string[]` | No       | --       | Filter by label names            |
| `limit`   | `integer`  | No       | `30`     | Max issues to return             |

**Output:**

```json theme={null}
{
  "issues": [
    {
      "number": 42,
      "title": "Fix login flow",
      "state": "open",
      "labels": ["bug", "auth"],
      "created_at": "2025-01-15T12:00:00Z",
      "url": "https://github.com/org/repo/issues/42"
    }
  ]
}
```

***

### github.issues.create

**Name:** Create Issue | **Destructive:** Yes

Create a new issue in a GitHub repository. Requires user approval before executing.

**Input:**

| Parameter   | Type       | Required | Description                |
| ----------- | ---------- | -------- | -------------------------- |
| `owner`     | `string`   | Yes      | Repository owner           |
| `repo`      | `string`   | Yes      | Repository name            |
| `title`     | `string`   | Yes      | Issue title                |
| `body`      | `string`   | No       | Issue body (markdown)      |
| `labels`    | `string[]` | No       | Labels to apply            |
| `assignees` | `string[]` | No       | GitHub usernames to assign |

**Output:**

```json theme={null}
{
  "number": 43,
  "url": "https://github.com/org/repo/issues/43"
}
```

***

### github.repos.search

**Name:** Search Repositories

Search GitHub repositories by query string.

**Input:**

| Parameter | Type      | Required | Default | Description  |
| --------- | --------- | -------- | ------- | ------------ |
| `query`   | `string`  | Yes      | --      | Search query |
| `limit`   | `integer` | No       | `10`    | Max results  |

**Output:**

```json theme={null}
{
  "repos": [
    {
      "full_name": "facebook/react",
      "description": "A JavaScript library for building user interfaces",
      "stars": 220000,
      "url": "https://github.com/facebook/react"
    }
  ]
}
```
