@craftsamo/github-tools 0.6.0 → 0.7.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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@craftsamo/github-tools",
3
- "version": "0.6.0",
3
+ "version": "0.7.0",
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",
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.6.0",
4
+ "version": "0.7.0",
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
@@ -1,5 +1,5 @@
1
1
  name: github-tools
2
- version: 0.6.0
2
+ version: 0.7.0
3
3
  description: "GitHub tools for coding agents: issues, project boards, pull requests, repositories, releases and Actions."
4
4
  manifest_version: 1
5
5
  requires_hermes: ">=0.22"
@@ -48,11 +48,13 @@ if GitHub reports missing scopes, the user runs `gh auth refresh -s project`.
48
48
 
49
49
  - **`view`** returns the board, its fields (with single-select options and
50
50
  iterations) and its views. Read it before setting values you are unsure of:
51
- field and option names come from there.
51
+ field and option names come from there. A field with `issue_field: true`
52
+ mirrors one of the organization's issue fields (see Field values).
52
53
  - **`list`** returns an `owner`'s boards, or the boards linked to `repo`;
53
54
  closed ones only with `include_closed`.
54
55
  - **`item_list`** returns a board's items with their field values by field
55
- name and their content (issue, pull request or draft). Filter with `status`
56
+ name and their content (issue, pull request or draft); a column that
57
+ mirrors an issue field shows the issue's value. Filter with `status`
56
58
  (`"Todo,In Progress"`, or `"-Done"` to leave one out), `content_type`,
57
59
  `content_repo`, `search` (part of the title) and `include_archived`.
58
60
  `truncated: true` means more matched than `limit` (default 100, at most
@@ -81,9 +83,17 @@ open board of that owner and title, so calling it again is safe.
81
83
  - `link_repo` links the board to a repository of the **same owner**; GitHub
82
84
  links no other. A personal board cannot be linked to an organization's
83
85
  repository.
86
+ - `dates: "issue_fields"` (an organization's board only) makes the dates the
87
+ organization's issue fields **Start date** and **Target date** instead of
88
+ the board's own Start and Target: an issue then carries the same dates on
89
+ every board, they are set with `issue_fields` in `github_issue_edit` (the
90
+ board tools refuse them), and a pull request or draft has none. It is
91
+ refused before a board is made when the owner is a user or the organization
92
+ lacks either field. Use it when the user wants dates shared across boards.
84
93
  - **Tell the user to set the Roadmap view's date fields.** No API can set
85
94
  them, so the roadmap shows no bars until, in the web UI, the view's
86
- "Date fields" are set to Start and Target. `notes` in the result says so;
95
+ "Date fields" are set to Start and Target (or Start date and Target date).
96
+ `notes` in the result says so;
87
97
  pass it on.
88
98
 
89
99
  `github_project_field_ensure` and `github_project_view_ensure` add one field or
@@ -92,6 +102,13 @@ view and leave an existing one of that name as it is. Options are written
92
102
  and sort can only be set when it is created; to change an existing view, the
93
103
  user does it in the web UI.
94
104
 
105
+ On an organization's board, `github_project_field_ensure` with
106
+ `issue_field: true` adds a column that mirrors one of the organization's issue
107
+ fields (Priority, Start date, Target date or any other it defines) by name,
108
+ without `type` or `options`: the options and the values are the organization's
109
+ and the issue's. Views can show, group and sort by such a column like any
110
+ other. A field of the board's own with the same name blocks it.
111
+
95
112
  ## Items
96
113
 
97
114
  An item is an issue, a pull request or a draft on a board.
@@ -135,7 +152,12 @@ them; names, options and iterations match without regard to case.
135
152
 
136
153
  Title, Assignees, Labels, Milestone, Repository, Linked pull requests and
137
154
  GitHub's other own fields belong to the issue, not the board: set them with
138
- `github_issue_edit`. Every field and value is checked before anything is
155
+ `github_issue_edit`. A column that mirrors one of the organization's issue
156
+ fields (`issue_field: true` in `github_project_read`, such as Priority or
157
+ Target date) holds the issue's own value, the same on every board: set it
158
+ with `issue_fields` and clear it with `clear_issue_fields` in
159
+ `github_issue_edit` (or `issue_fields` in `github_issue_create`); the board
160
+ tools refuse it. Every field and value is checked before anything is
139
161
  written, so a refused call wrote nothing.
140
162
 
141
163
  ### Editing and archiving