This is a "map" issue for the PR stack listed below. It should be closed when the final PR in the stack is merged.
This stack adds gh issue artifact, a command group in preview for the Markdown documents and links attached to an issue. It has six commands: list, view, create, edit, delete and download. The stack also changes --attach in two ways that create needs, documents the commands in the gh agent skill, and lets edit restore an earlier version.
gh issue artifact create 142 signin-plan.md --attach ./signin-flow.png
The design is in #14529, with one issue per command: #14523 (list), #14524 (view), #14525 (create), #14526 (edit), #14527 (delete) and #14528 (download). Each design issue has a screen for every scenario.
The stack 🥞
Eleven pull requests, listed in reading order from the bottom. Each is based on the one below it. The total is about 3,100 lines of production code, a 440-line generated mock, 9,700 lines of tests and 100 lines of docs across 51 files, so most of the bulk is tests. Each code pull request has a video of the built gh in bagtoad/issue-artifacts-demo.
| # |
PR |
What it adds |
| 1 |
#14564 |
--attach resolves references in a --body-file against the file's own directory |
| 2 |
#14565 |
--attach uploads one set of files for several Markdown documents |
| 3 |
#14566 |
The command group, its API client and shared package, and list |
| 4 |
#14567 |
view |
| 5 |
#14568 |
delete, and the result lines the later commands share |
| 6 |
#14569 |
download |
| 7 |
#14570 |
create |
| 8 |
#14571 |
edit |
| 9 |
#14572 |
The gh issue artifact section in the gh agent skill |
| 10 |
#14580 |
edit --restore-version, which restores an earlier version |
| 11 |
#14640 |
Review feedback on numbers 1 to 5, one commit per item |
| 12 |
Pending |
Artifact URLs: the url field, URL arguments, and --web on documents. It waits for the API to return artifact URLs. |
How to read it
Numbers 1 and 2 change --attach. Number 1 is the only one that changes existing commands: the six --attach commands now resolve references in a --body-file against its directory first. Number 2 is groundwork for create, and no command reaches it until number 7.
Start the command group at 3. It sets up the client, the shared package and the command group that every later number uses. list is the simplest command.
Numbers 4 to 8 add one command each, and each reuses number 3's packages. Number 5 adds the result lines that download, create and edit also print.
Number 6 holds the file safety rules, and number 7 is the largest.
Number 9 is documentation only. It documents the six commands in the gh agent skill, as #14261 did for --attach.
Number 10 adds --restore-version to edit. It saves an earlier version's name and content as a new version, and documents the flag in the gh agent skill.
Number 11 addresses the first round of review feedback on numbers 1 to 5, with one commit per item, as #14200 did for --attach. It also changes how delete reports its results.
Each diff shows only its own layer, because each pull request is based on the one below it. There is nothing to filter out.
The stack merges bottom to top.
This is a "map" issue for the PR stack listed below. It should be closed when the final PR in the stack is merged.
This stack adds
gh issue artifact, a command group in preview for the Markdown documents and links attached to an issue. It has six commands:list,view,create,edit,deleteanddownload. The stack also changes--attachin two ways thatcreateneeds, documents the commands in theghagent skill, and letseditrestore an earlier version.The design is in #14529, with one issue per command: #14523 (
list), #14524 (view), #14525 (create), #14526 (edit), #14527 (delete) and #14528 (download). Each design issue has a screen for every scenario.The stack 🥞
Eleven pull requests, listed in reading order from the bottom. Each is based on the one below it. The total is about 3,100 lines of production code, a 440-line generated mock, 9,700 lines of tests and 100 lines of docs across 51 files, so most of the bulk is tests. Each code pull request has a video of the built
ghin bagtoad/issue-artifacts-demo.--attachresolves references in a--body-fileagainst the file's own directory--attachuploads one set of files for several Markdown documentslistviewdelete, and the result lines the later commands sharedownloadcreateeditgh issue artifactsection in theghagent skilledit --restore-version, which restores an earlier versionurlfield, URL arguments, and--webon documents. It waits for the API to return artifact URLs.How to read it
Numbers 1 and 2 change
--attach. Number 1 is the only one that changes existing commands: the six--attachcommands now resolve references in a--body-fileagainst its directory first. Number 2 is groundwork forcreate, and no command reaches it until number 7.Start the command group at 3. It sets up the client, the shared package and the command group that every later number uses.
listis the simplest command.Numbers 4 to 8 add one command each, and each reuses number 3's packages. Number 5 adds the result lines that
download,createandeditalso print.Number 6 holds the file safety rules, and number 7 is the largest.
Number 9 is documentation only. It documents the six commands in the
ghagent skill, as #14261 did for--attach.Number 10 adds
--restore-versiontoedit. It saves an earlier version's name and content as a new version, and documents the flag in theghagent skill.Number 11 addresses the first round of review feedback on numbers 1 to 5, with one commit per item, as #14200 did for
--attach. It also changes howdeletereports its results.Each diff shows only its own layer, because each pull request is based on the one below it. There is nothing to filter out.
The stack merges bottom to top.