@craftsamo/github-tools 0.3.1 → 0.4.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 +36 -8
- package/dist/cli.js +2427 -311
- package/dist/mcp.js +2533 -485
- package/dist/opencode.js +2431 -315
- package/package.json +1 -1
- package/plugin.json +1 -1
- package/plugin.yaml +14 -2
- package/skills/github-projects/SKILL.md +172 -0
package/README.md
CHANGED
|
@@ -141,7 +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
|
|
144
|
+
toolset with no tools yet registers none (so far `issues` and `projects` have
|
|
145
|
+
tools).
|
|
145
146
|
|
|
146
147
|
### Issues (`issues`)
|
|
147
148
|
|
|
@@ -161,6 +162,33 @@ The skill is [`github-issues`](skills/github-issues/SKILL.md), shown as
|
|
|
161
162
|
An issue's kind is the organization's Issue Type of that name when it defines
|
|
162
163
|
one, otherwise a `type:<kind>` label.
|
|
163
164
|
|
|
165
|
+
### Project boards (`projects`)
|
|
166
|
+
|
|
167
|
+
| Tool | What it does | Class |
|
|
168
|
+
| ------------------------------- | --------------------------------------------------------------------------------------- | ---------- |
|
|
169
|
+
| `github_project_read` | `view` a board with its fields and views, `list` boards, or `item_list` a board's items | read |
|
|
170
|
+
| `github_project_create` | create a board, or reuse the one of that title, with the standard fields and views | idempotent |
|
|
171
|
+
| `github_project_field_ensure` | add a field, or the missing options of a single select | idempotent |
|
|
172
|
+
| `github_project_view_ensure` | add a saved view with its fields, columns, grouping and sort | idempotent |
|
|
173
|
+
| `github_project_link` | link a board to a repository of the same owner | idempotent |
|
|
174
|
+
| `github_project_unlink` | unlink a board from a repository | idempotent |
|
|
175
|
+
| `github_project_item_add` | put an issue or pull request on a board, or return its item, with field values | idempotent |
|
|
176
|
+
| `github_project_item_create` | create a draft item with field values | add |
|
|
177
|
+
| `github_project_item_edit` | set or clear field values, and change a draft's title and body | overwrite |
|
|
178
|
+
| `github_project_item_archive` | archive an item | overwrite |
|
|
179
|
+
| `github_project_item_unarchive` | bring an archived item back | overwrite |
|
|
180
|
+
| `github_project_item_convert` | turn a draft into an issue, with its kind, labels and milestone | add |
|
|
181
|
+
|
|
182
|
+
The skill is
|
|
183
|
+
[`github-projects`](skills/github-projects/SKILL.md), shown as
|
|
184
|
+
`github-tools:github-projects` in Claude Code and `github-tools:projects` in
|
|
185
|
+
Hermes. A board is named by its number, `owner/N`, URL or title (`Roadmap` when
|
|
186
|
+
none is given), and found among the boards linked to the repository, then its
|
|
187
|
+
organization's, then the viewer's. The token needs the `project` scope
|
|
188
|
+
(`gh auth refresh -s project`). No API sets a roadmap view's date fields, so
|
|
189
|
+
after `github_project_create` set the Roadmap view's "Date fields" to Start and
|
|
190
|
+
Target in the web UI.
|
|
191
|
+
|
|
164
192
|
## Reads and writes
|
|
165
193
|
|
|
166
194
|
Every read tool is named `github_<domain>_read`. Reads can run unasked; writes
|
|
@@ -193,13 +221,13 @@ Where a write is asked about, and where it is not:
|
|
|
193
221
|
Every entry point takes the same settings. A flag wins over its environment
|
|
194
222
|
variable, and an option or setting wins over the variable too.
|
|
195
223
|
|
|
196
|
-
| Setting | Flag | Variable | Meaning
|
|
197
|
-
| --------------- | ----------------- | ---------------------------- |
|
|
198
|
-
| `toolsets` | `--toolsets` | `GITHUB_TOOLS_TOOLSETS` | `issues`, `pull_requests`, `projects`, `repos`, `releases`, `actions` or `all`; default `issues` and `
|
|
199
|
-
| `read_only` | `--read-only` | `GITHUB_TOOLS_READ_ONLY` | registers no tool that writes; wins over every other setting
|
|
200
|
-
| `tools` | `--tools` | `GITHUB_TOOLS_TOOLS` | single tools to add by ID, whatever their toolset
|
|
201
|
-
| `exclude_tools` | `--exclude-tools` | `GITHUB_TOOLS_EXCLUDE_TOOLS` | single tools to remove by ID; wins over `tools` and `toolsets`
|
|
202
|
-
| `confirm` | `--confirm` | `GITHUB_TOOLS_CONFIRM` | MCP server only: `harness` (default) or `elicitation`, as `docs/conventions.md` describes
|
|
224
|
+
| Setting | Flag | Variable | Meaning |
|
|
225
|
+
| --------------- | ----------------- | ---------------------------- | -------------------------------------------------------------------------------------------------------------------------------- |
|
|
226
|
+
| `toolsets` | `--toolsets` | `GITHUB_TOOLS_TOOLSETS` | `issues`, `pull_requests`, `projects`, `repos`, `releases`, `actions` or `all`; default `issues`, `pull_requests` and `projects` |
|
|
227
|
+
| `read_only` | `--read-only` | `GITHUB_TOOLS_READ_ONLY` | registers no tool that writes; wins over every other setting |
|
|
228
|
+
| `tools` | `--tools` | `GITHUB_TOOLS_TOOLS` | single tools to add by ID, whatever their toolset |
|
|
229
|
+
| `exclude_tools` | `--exclude-tools` | `GITHUB_TOOLS_EXCLUDE_TOOLS` | single tools to remove by ID; wins over `tools` and `toolsets` |
|
|
230
|
+
| `confirm` | `--confirm` | `GITHUB_TOOLS_CONFIRM` | MCP server only: `harness` (default) or `elicitation`, as `docs/conventions.md` describes |
|
|
203
231
|
|
|
204
232
|
Lists are comma-separated in a flag or a variable. GitHub Actions does not let a
|
|
205
233
|
secret or configuration variable be named `GITHUB_*`, so in a workflow pass a
|