@kyaukyuai/linear-cli 2.11.0 → 2.12.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/CHANGELOG.md CHANGED
@@ -2,6 +2,31 @@
2
2
 
3
3
  ## [Unreleased]
4
4
 
5
+ ## [2.12.1] - 2026-03-30
6
+
7
+ ### Added
8
+
9
+ - added `stateName` to `issue list --json` as an additive convenience field while keeping the nested `state` object unchanged
10
+
11
+ ### Changed
12
+
13
+ - refreshed the README, agent workflow docs, and skills.sh install guidance to better position `linear-cli` as an agent-first Linear CLI
14
+
15
+ ### Fixed
16
+
17
+ - preserved agent-first generated skill docs so `deno task generate-skill-docs` no longer reverts the published skill description and command guidance
18
+
19
+ ## [2.12.0] - 2026-03-30
20
+
21
+ ### Added
22
+
23
+ - added schema-style metadata to `linear capabilities --json` so agents can inspect command arguments, input modes, output semantics, and exit codes without scraping docs
24
+ - added Automation Contract v5 coverage for `initiative list/view --json`, `project-update list --json`, and `initiative-update list --json`
25
+
26
+ ### Changed
27
+
28
+ - upgraded write timeout handling to reconcile against Linear after client-side confirmation timeouts, distinguishing `probably_succeeded`, `definitely_failed`, and `partial_success` outcomes for high-value write commands
29
+
5
30
  ## [2.11.0] - 2026-03-30
6
31
 
7
32
  ### Added
package/README.md CHANGED
@@ -16,6 +16,22 @@ linear notification list --json
16
16
 
17
17
  interactive commands still exist for humans, but the primary design goal is that an agent can discover commands incrementally, pass all important input as flags or stdin, and get machine-readable success or failure back.
18
18
 
19
+ ## for agents
20
+
21
+ If an agent only reads one page, it should be this README plus the two contract docs below.
22
+
23
+ - start with `linear capabilities --json` to discover which commands support `--json`, `--dry-run`, stdin, confirmation bypass, and stable automation contracts
24
+ - prefer stable read surfaces such as `issue`, `project`, `cycle`, `milestone`, `document`, `webhook`, `notification`, `team`, `user`, `workflow-state`, `label`, `initiative`, and update feeds with `--json`
25
+ - preview writes with `--dry-run --json` before mutating Linear
26
+ - apply writes with `--json`, then inspect exit codes and `error.details` instead of parsing terminal text
27
+ - use stdin or file flags for Markdown-heavy descriptions and comments instead of long inline shell strings
28
+
29
+ Recommended docs:
30
+
31
+ - [Agent workflow guide](docs/agent-first.md)
32
+ - [Automation contracts](docs/json-contracts.md)
33
+ - [stdin and pipeline policy](docs/stdin-policy.md)
34
+
19
35
  ## screencast demos
20
36
 
21
37
  <details>
@@ -36,6 +52,24 @@ interactive commands still exist for humans, but the primary design goal is that
36
52
 
37
53
  for agents and scripts, prefer a pinned install in the repo or runtime you control.
38
54
 
55
+ ### install as a skill
56
+
57
+ If you want to expose `linear-cli` as a reusable skill on top of an existing agent runtime, install it from the repo root and select the public skill explicitly:
58
+
59
+ ```bash
60
+ npx skills add https://github.com/kyaukyuai/linear-cli --skill linear-cli
61
+ ```
62
+
63
+ This is the most compatible form for `skills` and `skills.sh`.
64
+
65
+ If you want to point directly at the skill directory instead, this also works:
66
+
67
+ ```bash
68
+ npx skills add https://github.com/kyaukyuai/linear-cli/tree/main/skills/linear-cli
69
+ ```
70
+
71
+ Once installed, agents can load the skill and then call the local `linear` binary using the agent-first guidance in [skills/linear-cli/SKILL.md](skills/linear-cli/SKILL.md).
72
+
39
73
  ### npm / bun / pnpm
40
74
 
41
75
  install as a dependency to pin a version in your project:
@@ -59,6 +93,8 @@ bunx linear issue list
59
93
 
60
94
  package on npm: [@kyaukyuai/linear-cli](https://www.npmjs.com/package/@kyaukyuai/linear-cli)
61
95
 
96
+ skills directory on GitHub: [skills/linear-cli](https://github.com/kyaukyuai/linear-cli/tree/main/skills/linear-cli)
97
+
62
98
  ### deno via jsr
63
99
 
64
100
  ```bash
@@ -88,7 +124,7 @@ deno task install
88
124
  compared to upstream, this fork adds and maintains capabilities aimed at automation-heavy workflows:
89
125
 
90
126
  - stable JSON contracts for the automation tier, with machine-readable failures for parser, validation, and runtime errors
91
- - a self-describing `linear capabilities --json` surface so agents can discover contract coverage and command traits without scraping docs
127
+ - a self-describing `linear capabilities --json` surface so agents can discover contract coverage, primary input schema, output semantics, and command traits without scraping docs
92
128
  - `--dry-run` previews for high-value write commands, including `issue start`, issue writes, and non-issue writes
93
129
  - stdin and pipeline support for high-value write paths
94
130
  - retry-safe semantics for relation add/delete, project label add/remove, notification read/archive, and structured partial-failure details
@@ -101,26 +137,38 @@ compared to upstream, this fork adds and maintains capabilities aimed at automat
101
137
  - workflow state commands for `list` and `view`
102
138
  - user commands for `list` and `view`
103
139
  - project label commands for `list` and `project label add/remove`
104
- - JSON output for scripting across issue, cycle, project, milestone, document, webhook, and notification commands
140
+ - initiative commands for `list` and `view`, plus project update and initiative update feeds
141
+ - JSON output for scripting across issue, cycle, project, milestone, initiative, document, webhook, notification, and update-feed commands
105
142
  - workspace-aware auth management with keyring migration and default workspace support
106
143
  - generated AI-agent skill docs, Claude plugin metadata, npm publishing, and Homebrew tap release plumbing
107
144
 
145
+ ## docs map
146
+
147
+ Use the docs in this order if you are building an agent integration:
148
+
149
+ 1. [docs/agent-first.md](docs/agent-first.md) for the recommended discover/read/preview/apply/recover loop
150
+ 2. [docs/json-contracts.md](docs/json-contracts.md) for stable JSON payloads, exit codes, timeout semantics, and dry-run envelopes
151
+ 3. [docs/stdin-policy.md](docs/stdin-policy.md) for pipeline and file-input conventions
152
+ 4. [`linear capabilities --json`](#automation-contract) for machine-readable command metadata at runtime
153
+
108
154
  ## automation contract
109
155
 
110
156
  for bot and org-wide automation use cases, `linear-cli` defines a stable JSON contract for a focused automation tier.
111
157
 
112
- to discover the curated agent-facing command surface programmatically, use `linear capabilities --json`. it reports stable contract versions, automation-tier membership, and per-command support for `--json`, `--dry-run`, stdin, confirmation bypass, and idempotency category.
158
+ to discover the curated agent-facing command surface programmatically, use `linear capabilities --json`. it reports stable contract versions, automation-tier membership, and per-command support for `--json`, `--dry-run`, stdin, confirmation bypass, idempotency category, primary arguments and flags, and success/failure output semantics.
113
159
 
114
160
  - 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`
115
161
  - v2 additions: `project list/view --json`, `cycle list/view/current/next --json`, `milestone list/view --json`
116
162
  - v3 additions: `document list/view --json`, `webhook list/view --json`, `notification list/count --json`
163
+ - v4 additions: `team list/view --json`, `user list/view --json`, `workflow-state list/view --json`, `label list --json`, `project-label list --json`
164
+ - v5 additions: `initiative list/view --json`, `project-update list --json`, `initiative-update list --json`
117
165
  - out of scope: non-JSON terminal output, `linear api`, and other `--json` commands that are not listed above
118
166
 
119
167
  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.
120
168
 
121
169
  for automation consumers, auth and authorization failures now use exit code `4`, free-plan or workspace-plan limit failures use exit code `5`, and client-side write confirmation timeouts use exit code `6`. other contract failures remain non-zero and currently use `1`. rate-limited responses remain on exit code `1`, but now include retry guidance and, when available, `error.details.rateLimit` metadata.
122
170
 
123
- high-value issue write commands also honor `LINEAR_WRITE_TIMEOUT_MS` and accept `--timeout-ms` for per-command overrides. timeout failures return a distinct machine-readable failure mode, `timeout_error`, with `error.details.failureMode = "timeout_waiting_for_confirmation"`.
171
+ high-value write commands honor `LINEAR_WRITE_TIMEOUT_MS` and accept `--timeout-ms` for per-command overrides. timeout failures return a distinct machine-readable failure mode, `timeout_error`, with `error.details.failureMode = "timeout_waiting_for_confirmation"`. when reconciliation runs after the timeout, `error.details.outcome` now distinguishes `definitely_failed`, `probably_succeeded`, and `partial_success` from the fallback `unknown` state. notification `read` and `archive` now use the same timeout contract as issue write commands.
124
172
 
125
173
  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.
126
174
 
@@ -23,7 +23,7 @@
23
23
  "hasInstallScript": true,
24
24
  "license": "MIT",
25
25
  "name": "@kyaukyuai/linear-cli",
26
- "version": "2.11.0"
26
+ "version": "2.12.1"
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.11.0"
545
+ "version": "2.12.1"
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.11.0"
3
+ "https://github.com/kyaukyuai/linear-cli/releases/download/v2.12.1"
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.11.0",
88
+ "version": "2.12.1",
89
89
  "volta": {
90
90
  "node": "18.14.1",
91
91
  "npm": "9.5.0"