@craftsamo/github-tools 0.4.1 → 0.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.antigravity-plugin/plugin.json +1 -1
- package/.claude-plugin/plugin.json +1 -1
- package/README.md +36 -3
- package/dist/cli.js +3248 -483
- package/dist/mcp.js +3394 -638
- package/dist/opencode.js +3265 -500
- package/package.json +1 -1
- package/plugin.json +1 -1
- package/plugin.yaml +13 -1
- package/skills/github-pull-requests/SKILL.md +221 -0
package/README.md
CHANGED
|
@@ -141,8 +141,8 @@ Add the server to the host's MCP configuration. Flags go in `args`:
|
|
|
141
141
|
## Tools and skills
|
|
142
142
|
|
|
143
143
|
Each toolset comes with a skill that tells an agent how to use its tools. A
|
|
144
|
-
toolset with no tools yet registers none (so far `issues
|
|
145
|
-
tools).
|
|
144
|
+
toolset with no tools yet registers none (so far `issues`, `pull_requests` and
|
|
145
|
+
`projects` have tools).
|
|
146
146
|
|
|
147
147
|
### Issues (`issues`)
|
|
148
148
|
|
|
@@ -162,6 +162,33 @@ The skill is [`github-issues`](skills/github-issues/SKILL.md), shown as
|
|
|
162
162
|
An issue's kind is the organization's Issue Type of that name when it defines
|
|
163
163
|
one, otherwise a `type:<kind>` label.
|
|
164
164
|
|
|
165
|
+
### Pull requests and stacks (`pull_requests`)
|
|
166
|
+
|
|
167
|
+
| Tool | What it does | Class |
|
|
168
|
+
| --------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------ | -------------- |
|
|
169
|
+
| `github_pr_read` | `view` one pull request in full, `list` a repository's pull requests, read its `checks` (waiting up to 45 seconds, with failed job logs) or its `diff` | read |
|
|
170
|
+
| `github_pr_create` | open a pull request from a pushed branch, with labels, assignees, reviewers, milestone, closing issues, a board and attachments | add |
|
|
171
|
+
| `github_pr_edit` | change the title, body (or append to it), base, labels, assignees, reviewers, milestone or closing issues | overwrite |
|
|
172
|
+
| `github_pr_comment` | comment, with attachments | add |
|
|
173
|
+
| `github_pr_review` | approve, request changes or comment, with line comments | add |
|
|
174
|
+
| `github_pr_ready` | mark ready for review, or turn back into a draft | idempotent |
|
|
175
|
+
| `github_pr_close` | close | overwrite |
|
|
176
|
+
| `github_pr_reopen` | reopen a closed pull request | overwrite |
|
|
177
|
+
| `github_pr_merge` | merge, with the open layers below it in a stack when asked | administrative |
|
|
178
|
+
| `github_stack_read` | `view` a native stack by its number or a pull request in it, or `list` a repository's stacks | read |
|
|
179
|
+
| `github_stack_link` | join pull requests into a stack, or add them on top of one | idempotent |
|
|
180
|
+
| `github_stack_unlink` | dissolve a stack, leaving its pull requests open | overwrite |
|
|
181
|
+
|
|
182
|
+
The skill is
|
|
183
|
+
[`github-pull-requests`](skills/github-pull-requests/SKILL.md), shown as
|
|
184
|
+
`github-tools:github-pull-requests` in Claude Code and
|
|
185
|
+
`github-tools:pull-requests` in Hermes. The tools do not push: push the branch
|
|
186
|
+
first and pass the commit it pushed as `head_sha`, so a pull request opens, is
|
|
187
|
+
reviewed or merges on exactly that commit. Closing issues are kept as `Closes
|
|
188
|
+
#N` lines in the body, since GitHub has no other way to link them. Stacks use
|
|
189
|
+
GitHub's REST stack endpoints, so the `gh stack` extension is not needed.
|
|
190
|
+
Attachments need gh 2.99 or newer.
|
|
191
|
+
|
|
165
192
|
### Project boards (`projects`)
|
|
166
193
|
|
|
167
194
|
| Tool | What it does | Class |
|
|
@@ -199,7 +226,7 @@ are confirmed by the harness.
|
|
|
199
226
|
| OpenCode | always; the plugin asks only before a write |
|
|
200
227
|
| Claude Code | the rule `mcp__plugin_github-tools_github-tools__*_read` in `permissions.allow` of `~/.claude/settings.json` or a project |
|
|
201
228
|
| Codex | always; Codex runs tools that declare `readOnlyHint` unasked, as the read tools do |
|
|
202
|
-
| Grok Build | `grok --allow 'MCPTool(github-tools__*_read)'`
|
|
229
|
+
| Grok Build | `grok --allow 'MCPTool(github-tools__*_read)' --allow 'MCPTool(github_*_read)'` (both rules; see below) |
|
|
203
230
|
| Antigravity | the rule `mcp(github-tools_github-tools/github_issue_read)` in `permissions.allow` of `~/.gemini/antigravity-cli/settings.json`, one for each read tool |
|
|
204
231
|
| Hermes | always; the plugin asks only before a write |
|
|
205
232
|
|
|
@@ -209,6 +236,12 @@ Where a write is asked about, and where it is not:
|
|
|
209
236
|
a rule asks for it: add the `github_*` rule shown under [OpenCode](#opencode).
|
|
210
237
|
- **Codex** under `codex exec`, and **Grok Build** under `grok -p`, refuse a
|
|
211
238
|
write they cannot ask about, unless it is allowed beforehand.
|
|
239
|
+
- **Grok Build** calls the plugin's tools through its `use_tool` tool, and the
|
|
240
|
+
agent often names a tool without its server first (`github_project_read`).
|
|
241
|
+
Grok checks the rules against the name as given, so the server-qualified rule
|
|
242
|
+
alone does not match that first call, and `grok -p` refuses it and stops
|
|
243
|
+
instead of letting the agent retry with `github-tools__github_project_read`.
|
|
244
|
+
The second rule matches the short name; a write still matches neither.
|
|
212
245
|
- **Antigravity** asks before any MCP tool no rule allows, reads included, and
|
|
213
246
|
names the plugin's server `github-tools_github-tools` (plugin, then server).
|
|
214
247
|
`agy -p` refuses a tool it cannot ask about; `--dangerously-skip-permissions`
|