@craftsamo/github-tools 0.3.0 → 0.3.1
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 +33 -26
- package/dist/mcp.js +1 -1
- package/package.json +5 -7
- package/plugin.json +1 -1
- package/plugin.yaml +1 -1
package/README.md
CHANGED
|
@@ -4,18 +4,18 @@ GitHub tools for coding agents: issues, project boards, pull requests,
|
|
|
4
4
|
repositories, releases and Actions. One implementation, delivered to each
|
|
5
5
|
agent harness in the form that suits it best.
|
|
6
6
|
|
|
7
|
-
| Harness | Delivery
|
|
8
|
-
| -------------- |
|
|
9
|
-
| OpenCode V2 | native plugin (npm package, with skills)
|
|
10
|
-
| OpenCode V1 | native plugin (npm package, no skills)
|
|
11
|
-
| Claude Code | plugin: MCP server and skills
|
|
12
|
-
| Codex | plugin: MCP server and skills
|
|
13
|
-
| Grok Build | plugin: MCP server and skills
|
|
14
|
-
| Antigravity | plugin: MCP server and skills
|
|
15
|
-
| Hermes Agent | native plugin (Python, calls the command line)
|
|
16
|
-
| other MCP host | MCP server from npm
|
|
17
|
-
|
|
18
|
-
0.3.0 moved the package from `craftsamo/agent-github` to `craft-agent/github-tools` and renamed it: npm `@craftsamo/github-tools` (was `@craftsamo/agent-github`, now
|
|
7
|
+
| Harness | Delivery | Pinned by |
|
|
8
|
+
| -------------- | ---------------------------------------------- | ------------------------------ |
|
|
9
|
+
| OpenCode V2 | native plugin (npm package, with skills) | the version in the package |
|
|
10
|
+
| OpenCode V1 | native plugin (npm package, no skills) | the version in the package |
|
|
11
|
+
| Claude Code | plugin: MCP server and skills | the release tag, as the ref |
|
|
12
|
+
| Codex | plugin: MCP server and skills | the release tag, as the ref |
|
|
13
|
+
| Grok Build | plugin: MCP server and skills | the release tag, as `@ref` |
|
|
14
|
+
| Antigravity | plugin: MCP server and skills | the release tag's tree URL |
|
|
15
|
+
| Hermes Agent | native plugin (Python, calls the command line) | the release commit, as the SHA |
|
|
16
|
+
| other MCP host | MCP server from npm | the version in the package |
|
|
17
|
+
|
|
18
|
+
0.3.0 moved the package from `craftsamo/agent-github` to `craft-agent/github-tools` and renamed it: npm `@craftsamo/github-tools` (was `@craftsamo/agent-github`, now removed from npm), plugin and MCP server `github-tools`, programs `github-tools` and `github-tools-cli`, settings `GITHUB_TOOLS_*`. Allow rules, plugin installs and MCP configurations written for 0.2.0 change; the tool IDs do not.
|
|
19
19
|
|
|
20
20
|
The tools need [Node.js](https://nodejs.org/) 24 or later and the
|
|
21
21
|
[GitHub CLI](https://cli.github.com/), authenticated as you.
|
|
@@ -98,11 +98,14 @@ fails there with a message saying so).
|
|
|
98
98
|
grok plugin install craft-agent/github-tools@v<version> --trust
|
|
99
99
|
```
|
|
100
100
|
|
|
101
|
+
Grok starts the MCP server in the session's working directory, so inside a clone
|
|
102
|
+
a bare issue number names an issue of that repository.
|
|
103
|
+
|
|
101
104
|
### Antigravity
|
|
102
105
|
|
|
103
106
|
Install from the tree of the release tag, never from the default branch, which
|
|
104
|
-
has no built `dist
|
|
105
|
-
|
|
107
|
+
has no built `dist/`; Antigravity clones the tag into
|
|
108
|
+
`~/.gemini/config/plugins/github-tools`.
|
|
106
109
|
|
|
107
110
|
```sh
|
|
108
111
|
agy plugin install https://github.com/craft-agent/github-tools/tree/v<version>
|
|
@@ -138,7 +141,7 @@ Add the server to the host's MCP configuration. Flags go in `args`:
|
|
|
138
141
|
## Tools and skills
|
|
139
142
|
|
|
140
143
|
Each toolset comes with a skill that tells an agent how to use its tools. A
|
|
141
|
-
toolset with no tools yet registers none (
|
|
144
|
+
toolset with no tools yet registers none (so far only `issues` has tools).
|
|
142
145
|
|
|
143
146
|
### Issues (`issues`)
|
|
144
147
|
|
|
@@ -163,14 +166,14 @@ one, otherwise a `type:<kind>` label.
|
|
|
163
166
|
Every read tool is named `github_<domain>_read`. Reads can run unasked; writes
|
|
164
167
|
are confirmed by the harness.
|
|
165
168
|
|
|
166
|
-
| Harness | Reads without asking
|
|
167
|
-
| ----------- |
|
|
168
|
-
| OpenCode | always; the plugin asks only before a write
|
|
169
|
-
| Claude Code | the rule `mcp__plugin_github-tools_github-tools__*_read` in `permissions.allow` of `~/.claude/settings.json` or a project
|
|
170
|
-
| Codex | always; Codex runs tools that declare `readOnlyHint` unasked, as the read tools do
|
|
171
|
-
| Grok Build | `grok --allow 'MCPTool(github-tools__*_read)'`
|
|
172
|
-
| Antigravity |
|
|
173
|
-
| Hermes | always; the plugin asks only before a write
|
|
169
|
+
| Harness | Reads without asking |
|
|
170
|
+
| ----------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
171
|
+
| OpenCode | always; the plugin asks only before a write |
|
|
172
|
+
| Claude Code | the rule `mcp__plugin_github-tools_github-tools__*_read` in `permissions.allow` of `~/.claude/settings.json` or a project |
|
|
173
|
+
| Codex | always; Codex runs tools that declare `readOnlyHint` unasked, as the read tools do |
|
|
174
|
+
| Grok Build | `grok --allow 'MCPTool(github-tools__*_read)'` |
|
|
175
|
+
| 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 |
|
|
176
|
+
| Hermes | always; the plugin asks only before a write |
|
|
174
177
|
|
|
175
178
|
Where a write is asked about, and where it is not:
|
|
176
179
|
|
|
@@ -178,6 +181,10 @@ Where a write is asked about, and where it is not:
|
|
|
178
181
|
a rule asks for it: add the `github_*` rule shown under [OpenCode](#opencode).
|
|
179
182
|
- **Codex** under `codex exec`, and **Grok Build** under `grok -p`, refuse a
|
|
180
183
|
write they cannot ask about, unless it is allowed beforehand.
|
|
184
|
+
- **Antigravity** asks before any MCP tool no rule allows, reads included, and
|
|
185
|
+
names the plugin's server `github-tools_github-tools` (plugin, then server).
|
|
186
|
+
`agy -p` refuses a tool it cannot ask about; `--dangerously-skip-permissions`
|
|
187
|
+
runs every tool unasked.
|
|
181
188
|
- **Hermes** `hermes chat -q` refuses a write it cannot ask about; `hermes -z`
|
|
182
189
|
and `--yolo` skip approval, so writes then run unasked.
|
|
183
190
|
|
|
@@ -214,9 +221,9 @@ environment variable in `env:` is allowed). Where each harness reads them:
|
|
|
214
221
|
exclude_tools: [github_pr_merge]
|
|
215
222
|
```
|
|
216
223
|
|
|
217
|
-
- **Claude Code and Antigravity** start the plugin's server without flags
|
|
218
|
-
|
|
219
|
-
|
|
224
|
+
- **Claude Code and Antigravity** start the plugin's server without flags and
|
|
225
|
+
pass it the client's environment, so set the variables in the environment the
|
|
226
|
+
harness runs in.
|
|
220
227
|
- **Codex and Grok Build** pass no environment to a plugin's MCP server, so the
|
|
221
228
|
`GITHUB_TOOLS_*` variables have no effect there. To change settings in Codex,
|
|
222
229
|
add the server under `[mcp_servers]` in Codex's config with flags in `args` (as
|
package/dist/mcp.js
CHANGED
|
@@ -32743,7 +32743,7 @@ async function main() {
|
|
|
32743
32743
|
const settings = parseSettings(process.argv.slice(2), process.env);
|
|
32744
32744
|
server = createServer(ALL_TOOLS, settings, {
|
|
32745
32745
|
ownDir: packageRoot(import.meta.url),
|
|
32746
|
-
version: true ? "0.3.
|
|
32746
|
+
version: true ? "0.3.1" : void 0
|
|
32747
32747
|
});
|
|
32748
32748
|
} catch (error62) {
|
|
32749
32749
|
if (!isToolError(error62)) throw error62;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@craftsamo/github-tools",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.1",
|
|
4
4
|
"description": "GitHub tools for coding agents: issues, project boards, pull requests, repositories, releases and Actions.",
|
|
5
5
|
"author": "craftsamo",
|
|
6
6
|
"license": "MIT",
|
|
@@ -55,20 +55,18 @@
|
|
|
55
55
|
},
|
|
56
56
|
"devDependencies": {
|
|
57
57
|
"@craftsamo/repo-kit": "^1.3.0",
|
|
58
|
+
"@modelcontextprotocol/sdk": "^1.32.2",
|
|
58
59
|
"@opencode-ai/plugin": "^1.19.5",
|
|
59
60
|
"@types/bun": "^1.4.4",
|
|
60
61
|
"@types/node": "^24.19.2",
|
|
61
62
|
"esbuild": "^0.28.2",
|
|
62
63
|
"husky": "^9.1.7",
|
|
63
64
|
"prettier": "3.9.10",
|
|
64
|
-
"typescript": "^7.0.2"
|
|
65
|
+
"typescript": "^7.0.2",
|
|
66
|
+
"zod": "^4.6.7"
|
|
65
67
|
},
|
|
66
68
|
"engines": {
|
|
67
69
|
"node": ">=24"
|
|
68
70
|
},
|
|
69
|
-
"packageManager": "pnpm@11.5.3"
|
|
70
|
-
"dependencies": {
|
|
71
|
-
"@modelcontextprotocol/sdk": "^1.32.2",
|
|
72
|
-
"zod": "^4.6.7"
|
|
73
|
-
}
|
|
71
|
+
"packageManager": "pnpm@11.5.3"
|
|
74
72
|
}
|
package/plugin.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json",
|
|
3
3
|
"name": "github-tools",
|
|
4
|
-
"version": "0.3.
|
|
4
|
+
"version": "0.3.1",
|
|
5
5
|
"description": "GitHub tools for coding agents: issues, project boards, pull requests, repositories, releases and Actions.",
|
|
6
6
|
"author": {
|
|
7
7
|
"name": "craftsamo",
|
package/plugin.yaml
CHANGED