Skip to main content

Repos, Issues, and Pull Requests

The GitHub integration connects Wolffish to the GitHub API for managing repositories, issues, pull requests, workflows, releases, and more. It uses a personal access token (PAT) for authentication.

Setup

1

Generate a Token

Go to github.com/settings/tokens and create a new personal access token (classic or fine-grained).
2

Select Scopes

For full functionality, select at minimum: repo and read:org. See the scopes table below for details.
3

Configure in Wolffish

Open Settings → Services → GitHub, click Add, give the connection a label (e.g., “Personal”), and paste your token. Test validates it and shows the account it resolves to.

Multiple Accounts

You can link any number of GitHub accounts, each as a labeled connection (“Personal,” “Work”). Every github_* tool takes an optional connection parameter naming the label:
  • One connection configured — it’s used automatically; you never need to pass anything.
  • Several configured — tools ask for the label when it’s ambiguous, and a github_connections tool lists what’s available. In chat, just say which account you mean: “create the issue on my work account.”
Existing single-token setups migrate to a labeled connection automatically.

Required Token Scopes

Optional Scopes

Fine-grained tokens offer more precise permissions but require per-repository configuration. Classic tokens with repo + read:org are the simplest path to full functionality.

Two Capabilities, One Platform

Wolffish separates local git operations from remote GitHub API operations:

git (Pure Skill)

Local git operations — commit, branch, merge, rebase, diff, log. Uses shell_exec to run git commands. No token needed.

github (Plugin)

Remote GitHub API operations — issues, PRs, workflows, releases. Uses Octokit to call the GitHub REST API. Requires a PAT.
The git capability is always available (it’s a pure skill that uses shell commands). The github capability requires a configured token to make API calls.

Available Tools

Every github_* tool takes an optional connection label (see Multiple Accounts).

Account and connections

Repositories

Branches and commits

Issues

Labels and milestones

Pull requests

CI and Actions

Releases and gists

Collaborators and notifications

Triggers

The GitHub capability activates when your message matches any of these patterns:
Local git commands (commit, push, diff, log) trigger the git capability, not github. If you say “push to origin”, the git skill runs git push via shell_exec. If you say “create a PR”, the github plugin calls the GitHub API.

Example Workflows

Configuration Reference

Connections are stored in config.json as a labeled array:
The login and name fields are resolved automatically when a token is tested. A legacy single-token shape ({ "token": "…" }) is migrated to a connection labeled “Default” on first save.
Never commit your GitHub PAT to version control. If you store your workspace in git, ensure config.json and any variables file are in .gitignore.