@kyaukyuai/linear-cli 2.7.1 → 2.8.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/CHANGELOG.md +14 -0
- package/README.md +40 -3
- package/npm-shrinkwrap.json +2 -2
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,20 @@
|
|
|
2
2
|
|
|
3
3
|
## [Unreleased]
|
|
4
4
|
|
|
5
|
+
## [2.8.0] - 2026-03-24
|
|
6
|
+
|
|
7
|
+
### Added
|
|
8
|
+
|
|
9
|
+
- added a shared `--dry-run` contract and preview output for automation-safe write workflows
|
|
10
|
+
- added `--dry-run` support to issue, project, milestone, document, and webhook write commands
|
|
11
|
+
- added Automation Contract v2 coverage for `project list/view --json`
|
|
12
|
+
- added Automation Contract v2 coverage for `cycle list/view/current/next --json`
|
|
13
|
+
- added Automation Contract v2 coverage for `milestone list/view --json`
|
|
14
|
+
|
|
15
|
+
### Changed
|
|
16
|
+
|
|
17
|
+
- structured `issue create-batch --json` partial-failure responses with created identifiers, retry hints, and failure-step metadata for safer retries
|
|
18
|
+
|
|
5
19
|
## [2.7.1] - 2026-03-23
|
|
6
20
|
|
|
7
21
|
### Added
|
package/README.md
CHANGED
|
@@ -100,15 +100,18 @@ compared to upstream, this fork adds and maintains several capabilities aimed at
|
|
|
100
100
|
- workspace-aware auth management with keyring migration and default workspace support
|
|
101
101
|
- generated AI-agent skill docs, Claude plugin metadata, npm publishing, and Homebrew tap release plumbing
|
|
102
102
|
|
|
103
|
-
## automation contract
|
|
103
|
+
## automation contract
|
|
104
104
|
|
|
105
105
|
for bot and org-wide automation use cases, `linear-cli` defines a stable JSON contract for a focused automation tier.
|
|
106
106
|
|
|
107
|
-
- in scope: `issue list/view/create/update --json`, `issue relation add/delete/list --json`, `issue comment add --json`, `team members --json`, `issue parent/children/create-batch --json`
|
|
107
|
+
- v1 in scope: `issue list/view/create/update --json`, `issue relation add/delete/list --json`, `issue comment add --json`, `team members --json`, `issue parent/children/create-batch --json`
|
|
108
|
+
- v2 additions: `project list/view --json`, `cycle list/view/current/next --json`, `milestone list/view --json`
|
|
108
109
|
- out of scope: non-JSON terminal output, `linear api`, and other `--json` commands that are not listed above
|
|
109
110
|
|
|
110
111
|
the contract fixes top-level success payload shapes and requires machine-readable failure payloads for the automation tier. see [docs/json-contracts.md](docs/json-contracts.md) for the full contract, compatibility rules, and example payloads. that guarantee also covers parser and argument validation failures when `--json` is present.
|
|
111
112
|
|
|
113
|
+
the same document also defines the shared preview contract for future `--dry-run` write commands. those commands are not all implemented yet, but the contract now fixes the expected `stdout`, `exit code`, and `--json --dry-run` envelope shape ahead of rollout.
|
|
114
|
+
|
|
112
115
|
## differences from upstream
|
|
113
116
|
|
|
114
117
|
this fork is intentionally diverging from upstream in a few ways:
|
|
@@ -179,13 +182,16 @@ linear issue start # create/switch to issue branch and mark as started
|
|
|
179
182
|
linear issue create # create a new issue (interactive prompts)
|
|
180
183
|
linear issue create -t "title" -d "description" # create with flags
|
|
181
184
|
linear issue create -t "title" --team ENG --json # emit machine-readable created issue data
|
|
185
|
+
linear issue create -t "title" --team ENG --dry-run --json # preview the created issue payload
|
|
182
186
|
linear issue create-batch --file ./issue-batch.json --json # create a parent issue and child issues from JSON
|
|
187
|
+
linear issue create-batch --file ./issue-batch.json --dry-run --json # preview a batch without creating issues
|
|
183
188
|
linear issue create --project "My Project" --milestone "Phase 1" # create with milestone
|
|
184
189
|
linear issue update # update an issue (interactive prompts)
|
|
185
190
|
linear issue update ENG-123 --due-date 2026-03-31 # set an issue due date
|
|
186
191
|
linear issue update ENG-123 --clear-due-date # clear an issue due date
|
|
187
192
|
linear issue update ENG-123 --assignee self --json # emit machine-readable updated issue data
|
|
188
193
|
linear issue update ENG-123 --state started --comment "Work has started" # update and comment in one command
|
|
194
|
+
linear issue update ENG-123 --state started --comment "Work has started" --dry-run # preview issue updates
|
|
189
195
|
linear issue update ENG-123 --milestone "Phase 2" # set milestone on existing issue
|
|
190
196
|
linear issue delete # delete an issue
|
|
191
197
|
linear issue comment list # list comments on current issue
|
|
@@ -193,8 +199,11 @@ linear issue comment add # add a comment to current issue
|
|
|
193
199
|
linear issue comment add ENG-123 "follow-up" # add a comment with positional body
|
|
194
200
|
linear issue comment add -p <id> # reply to a specific comment
|
|
195
201
|
linear issue comment add ENG-123 --body "follow-up" --json # emit created comment data
|
|
202
|
+
linear issue comment add ENG-123 --body "follow-up" --dry-run --json # preview comment creation
|
|
196
203
|
linear issue relation add ENG-123 blocked-by ENG-100 --json # emit machine-readable relation creation data
|
|
204
|
+
linear issue relation add ENG-123 blocked-by ENG-100 --dry-run --json # preview relation creation
|
|
197
205
|
linear issue relation delete ENG-123 blocked-by ENG-100 --json # emit machine-readable relation deletion data
|
|
206
|
+
linear issue relation delete ENG-123 blocked-by ENG-100 --dry-run --json # preview relation deletion
|
|
198
207
|
linear issue relation list ENG-123 --json # emit dependency graph for an issue
|
|
199
208
|
linear issue comment update <id> # update a comment
|
|
200
209
|
linear issue commits # show all commits for an issue (jj only)
|
|
@@ -220,6 +229,8 @@ linear issue children ENG-123 --json # emit child issues for decomposition work
|
|
|
220
229
|
}
|
|
221
230
|
```
|
|
222
231
|
|
|
232
|
+
`issue create-batch` creates the parent first and then creates each child in order. If a later child fails, already created issues are not rolled back. Use `--dry-run --json` to preview the plan first. In `--json` mode, partial failures include `error.details.createdIdentifiers` and `error.details.failedStep` so automation can resume from the remaining work instead of rerunning the same batch unchanged.
|
|
233
|
+
|
|
223
234
|
### team commands
|
|
224
235
|
|
|
225
236
|
```bash
|
|
@@ -231,11 +242,26 @@ linear team create # create a new team
|
|
|
231
242
|
linear team autolinks # configure GitHub repository autolinks for Linear issues
|
|
232
243
|
```
|
|
233
244
|
|
|
245
|
+
### cycle commands
|
|
246
|
+
|
|
247
|
+
```bash
|
|
248
|
+
linear cycle list --team ENG
|
|
249
|
+
linear cycle list --team ENG --json # emit cycle summaries for automation
|
|
250
|
+
linear cycle view "Sprint 42" --team ENG --json # emit detailed cycle payload
|
|
251
|
+
linear cycle current --team ENG --json # emit active cycle or null
|
|
252
|
+
linear cycle next --team ENG --json # emit next cycle or null
|
|
253
|
+
```
|
|
254
|
+
|
|
234
255
|
### project commands
|
|
235
256
|
|
|
236
257
|
```bash
|
|
237
258
|
linear project list # list projects
|
|
238
|
-
linear project
|
|
259
|
+
linear project list --json # emit contract-stable project summaries
|
|
260
|
+
linear project view <projectIdOrSlug> # view project details
|
|
261
|
+
linear project view <projectIdOrSlug> --json # emit contract-stable project details
|
|
262
|
+
linear project create --name "Platform Refresh" --team ENG --dry-run --json # preview a project create
|
|
263
|
+
linear project update <projectIdOrSlug> --name "Platform Refresh" --dry-run # preview a project update
|
|
264
|
+
linear project delete <projectIdOrSlug> --dry-run # preview a project deletion
|
|
239
265
|
linear project label add <projectIdOrSlug> <labelNameOrId> # attach a project label
|
|
240
266
|
linear project label remove <projectIdOrSlug> <labelNameOrId> # detach a project label
|
|
241
267
|
```
|
|
@@ -244,14 +270,19 @@ linear project label remove <projectIdOrSlug> <labelNameOrId> # detach a projec
|
|
|
244
270
|
|
|
245
271
|
```bash
|
|
246
272
|
linear milestone list --project <projectId> # list milestones for a project
|
|
273
|
+
linear milestone list --project <projectId> --json # emit contract-stable milestone summaries
|
|
247
274
|
linear m list --project <projectId> # list milestones (alias)
|
|
248
275
|
linear milestone view <milestoneId> # view milestone details
|
|
276
|
+
linear milestone view <milestoneId> --json # emit contract-stable milestone details
|
|
249
277
|
linear m view <milestoneId> # view milestone (alias)
|
|
250
278
|
linear milestone create --project <projectId> --name "Q1 Goals" --target-date "2026-03-31" # create a milestone
|
|
279
|
+
linear milestone create --project <projectId> --name "Q1 Goals" --dry-run # preview a milestone create
|
|
251
280
|
linear m create --project <projectId> # create a milestone (interactive)
|
|
252
281
|
linear milestone update <milestoneId> --name "New Name" # update milestone name
|
|
282
|
+
linear milestone update <milestoneId> --name "New Name" --dry-run # preview a milestone update
|
|
253
283
|
linear m update <milestoneId> --target-date "2026-04-15" # update target date
|
|
254
284
|
linear milestone delete <milestoneId> # delete a milestone
|
|
285
|
+
linear milestone delete <milestoneId> --dry-run # preview a milestone delete
|
|
255
286
|
linear m delete <milestoneId> --force # delete without confirmation
|
|
256
287
|
```
|
|
257
288
|
|
|
@@ -278,17 +309,20 @@ linear document create --title "My Doc" --content "# Hello" # inline c
|
|
|
278
309
|
linear document create --title "Spec" --content-file ./spec.md # from file
|
|
279
310
|
linear document create --title "Doc" --project <projectId> # attach to project
|
|
280
311
|
linear document create --title "Notes" --issue TC-123 # attach to issue
|
|
312
|
+
linear document create --title "Spec" --content "# Draft" --dry-run # preview a document create
|
|
281
313
|
cat spec.md | linear document create --title "Spec" # from stdin
|
|
282
314
|
|
|
283
315
|
# update a document
|
|
284
316
|
linear document update <slug> --title "New Title" # update title
|
|
285
317
|
linear document update <slug> --content-file ./updated.md # update content
|
|
286
318
|
linear document update <slug> --edit # open in $EDITOR
|
|
319
|
+
linear document update <slug> --title "New Title" --dry-run # preview a document update
|
|
287
320
|
|
|
288
321
|
# delete a document
|
|
289
322
|
linear document delete <slug> # soft delete (move to trash)
|
|
290
323
|
linear document delete <slug> --permanent # permanent delete
|
|
291
324
|
linear document delete --bulk <slug1> <slug2> # bulk delete
|
|
325
|
+
linear document delete <slug> --dry-run # preview a document delete
|
|
292
326
|
```
|
|
293
327
|
|
|
294
328
|
### notification commands
|
|
@@ -313,8 +347,11 @@ linear webhook list
|
|
|
313
347
|
linear webhook list --team ENG
|
|
314
348
|
linear webhook view <webhookId>
|
|
315
349
|
linear webhook create --url https://example.com/linear --resource-types Issue,Comment
|
|
350
|
+
linear webhook create --url https://example.com/linear --resource-types Issue,Comment --dry-run --json
|
|
316
351
|
linear webhook update <webhookId> --disabled
|
|
352
|
+
linear webhook update <webhookId> --disabled --dry-run --json
|
|
317
353
|
linear webhook delete <webhookId> --yes
|
|
354
|
+
linear webhook delete <webhookId> --dry-run --json
|
|
318
355
|
linear webhook list --json
|
|
319
356
|
```
|
|
320
357
|
|
package/npm-shrinkwrap.json
CHANGED
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
"hasInstallScript": true,
|
|
24
24
|
"license": "MIT",
|
|
25
25
|
"name": "@kyaukyuai/linear-cli",
|
|
26
|
-
"version": "2.
|
|
26
|
+
"version": "2.8.0"
|
|
27
27
|
},
|
|
28
28
|
"node_modules/@isaacs/cliui": {
|
|
29
29
|
"engines": {
|
|
@@ -542,5 +542,5 @@
|
|
|
542
542
|
}
|
|
543
543
|
},
|
|
544
544
|
"requires": true,
|
|
545
|
-
"version": "2.
|
|
545
|
+
"version": "2.8.0"
|
|
546
546
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"artifactDownloadUrls": [
|
|
3
|
-
"https://github.com/kyaukyuai/linear-cli/releases/download/v2.
|
|
3
|
+
"https://github.com/kyaukyuai/linear-cli/releases/download/v2.8.0"
|
|
4
4
|
],
|
|
5
5
|
"bin": {
|
|
6
6
|
"linear": "run-linear.js"
|
|
@@ -85,7 +85,7 @@
|
|
|
85
85
|
"zipExt": ".tar.xz"
|
|
86
86
|
}
|
|
87
87
|
},
|
|
88
|
-
"version": "2.
|
|
88
|
+
"version": "2.8.0",
|
|
89
89
|
"volta": {
|
|
90
90
|
"node": "18.14.1",
|
|
91
91
|
"npm": "9.5.0"
|