linear-sdk-cli 0.1.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.
Files changed (111) hide show
  1. package/.claude-plugin/marketplace.json +20 -0
  2. package/.claude-plugin/plugin.json +9 -0
  3. package/CHANGELOG.md +807 -0
  4. package/COVERAGE.md +495 -0
  5. package/LICENSE +21 -0
  6. package/MIGRATING.md +220 -0
  7. package/README.md +524 -0
  8. package/package.json +87 -0
  9. package/skills/linear-sdk-cli/SKILL.md +534 -0
  10. package/skills/linear-sdk-cli/references/api.md +27 -0
  11. package/skills/linear-sdk-cli/references/attachment.md +82 -0
  12. package/skills/linear-sdk-cli/references/auth.md +174 -0
  13. package/skills/linear-sdk-cli/references/commands.md +37 -0
  14. package/skills/linear-sdk-cli/references/comment.md +154 -0
  15. package/skills/linear-sdk-cli/references/completion.md +17 -0
  16. package/skills/linear-sdk-cli/references/config.md +99 -0
  17. package/skills/linear-sdk-cli/references/cycle.md +131 -0
  18. package/skills/linear-sdk-cli/references/document.md +180 -0
  19. package/skills/linear-sdk-cli/references/favorite.md +78 -0
  20. package/skills/linear-sdk-cli/references/initiative-update.md +67 -0
  21. package/skills/linear-sdk-cli/references/initiative.md +256 -0
  22. package/skills/linear-sdk-cli/references/issue.md +928 -0
  23. package/skills/linear-sdk-cli/references/label.md +112 -0
  24. package/skills/linear-sdk-cli/references/milestone.md +139 -0
  25. package/skills/linear-sdk-cli/references/notification.md +123 -0
  26. package/skills/linear-sdk-cli/references/open.md +29 -0
  27. package/skills/linear-sdk-cli/references/organization.md +99 -0
  28. package/skills/linear-sdk-cli/references/project-update.md +67 -0
  29. package/skills/linear-sdk-cli/references/project.md +234 -0
  30. package/skills/linear-sdk-cli/references/roadmap.md +150 -0
  31. package/skills/linear-sdk-cli/references/schema.md +21 -0
  32. package/skills/linear-sdk-cli/references/state.md +61 -0
  33. package/skills/linear-sdk-cli/references/team.md +227 -0
  34. package/skills/linear-sdk-cli/references/user.md +103 -0
  35. package/skills/linear-sdk-cli/references/webhook.md +151 -0
  36. package/skills/linear-sdk-cli/references/whoami.md +26 -0
  37. package/skills/linear-sdk-cli/scripts/generate-docs.ts +339 -0
  38. package/src/bin/linear.ts +97 -0
  39. package/src/cli.ts +232 -0
  40. package/src/client.ts +172 -0
  41. package/src/commands/agent-session.ts +121 -0
  42. package/src/commands/api.ts +317 -0
  43. package/src/commands/attach.ts +90 -0
  44. package/src/commands/attachment.ts +74 -0
  45. package/src/commands/comment.ts +225 -0
  46. package/src/commands/completion.ts +69 -0
  47. package/src/commands/cycle.ts +125 -0
  48. package/src/commands/discover.ts +170 -0
  49. package/src/commands/document.ts +211 -0
  50. package/src/commands/favorite.ts +72 -0
  51. package/src/commands/initiative-update.ts +47 -0
  52. package/src/commands/initiative.ts +261 -0
  53. package/src/commands/issue.ts +1263 -0
  54. package/src/commands/label.ts +119 -0
  55. package/src/commands/meta.ts +534 -0
  56. package/src/commands/milestone.ts +163 -0
  57. package/src/commands/notification.ts +110 -0
  58. package/src/commands/open.ts +84 -0
  59. package/src/commands/organization.ts +79 -0
  60. package/src/commands/project-update.ts +47 -0
  61. package/src/commands/project.ts +339 -0
  62. package/src/commands/roadmap.ts +131 -0
  63. package/src/commands/state.ts +58 -0
  64. package/src/commands/team.ts +243 -0
  65. package/src/commands/user.ts +107 -0
  66. package/src/commands/webhook.ts +156 -0
  67. package/src/config.ts +1236 -0
  68. package/src/context.ts +117 -0
  69. package/src/git.ts +174 -0
  70. package/src/index.ts +10 -0
  71. package/src/lib/action.ts +26 -0
  72. package/src/lib/body.ts +172 -0
  73. package/src/lib/errors.ts +195 -0
  74. package/src/lib/introspect.ts +150 -0
  75. package/src/lib/keyring.ts +270 -0
  76. package/src/lib/mutation.ts +53 -0
  77. package/src/lib/open.ts +32 -0
  78. package/src/lib/options.ts +640 -0
  79. package/src/lib/output-shapes.ts +562 -0
  80. package/src/lib/pagination.ts +145 -0
  81. package/src/lib/prompt.ts +91 -0
  82. package/src/lib/resolve.ts +596 -0
  83. package/src/lib/shape.ts +273 -0
  84. package/src/lib/status-update.ts +91 -0
  85. package/src/lib/upload.ts +329 -0
  86. package/src/output/color.ts +52 -0
  87. package/src/output/format.ts +238 -0
  88. package/src/output/markdown.ts +133 -0
  89. package/src/output/pager.ts +131 -0
  90. package/src/output/sanitize.ts +76 -0
  91. package/src/output/table.ts +198 -0
  92. package/src/services/agent-session.ts +289 -0
  93. package/src/services/attachment.ts +198 -0
  94. package/src/services/comment.ts +262 -0
  95. package/src/services/cycle.ts +224 -0
  96. package/src/services/document.ts +357 -0
  97. package/src/services/favorite.ts +147 -0
  98. package/src/services/initiative-update.ts +59 -0
  99. package/src/services/initiative.ts +449 -0
  100. package/src/services/issue.ts +1153 -0
  101. package/src/services/label.ts +193 -0
  102. package/src/services/milestone.ts +262 -0
  103. package/src/services/notification.ts +190 -0
  104. package/src/services/organization.ts +144 -0
  105. package/src/services/project-update.ts +36 -0
  106. package/src/services/project.ts +494 -0
  107. package/src/services/roadmap.ts +177 -0
  108. package/src/services/state.ts +127 -0
  109. package/src/services/team.ts +386 -0
  110. package/src/services/user.ts +137 -0
  111. package/src/services/webhook.ts +203 -0
@@ -0,0 +1,112 @@
1
+ # linear label
2
+
3
+ > Work with issue labels
4
+
5
+ Group alias: `lb`
6
+
7
+ _Generated from `linear commands --json`. `linear label --help` (or `<subcommand> --help`) is authoritative._
8
+
9
+ Every command also accepts the global flags `-j/--json`, `--no-input`, `-y/--yes`, `-q/--quiet`, `--workspace <slug>`, `--api-key <key>`, `-t/--team <key>`, `-n/--limit <n>`, `--all`, `-f/--fields <a,b,c>`, `--no-ansi` (alias `--no-color`), and `--debug`. Only command-specific options are listed below.
10
+
11
+ ### `linear label`
12
+
13
+ Work with issue labels
14
+
15
+ Aliases: `lb`
16
+
17
+ ```
18
+ linear label [options]
19
+ ```
20
+
21
+ ### `linear label create`
22
+
23
+ Create a label (scoped to --team if set, else workspace-level)
24
+
25
+ Aliases: `new`
26
+
27
+ ```
28
+ linear label create [options]
29
+ ```
30
+
31
+ | Option | Description |
32
+ | -------------------------- | ----------------------------------------------------------------------- |
33
+ | `--name <name>` | label name |
34
+ | `--color <hex>` | label color (e.g. #EB5757) |
35
+ | `-d, --description <text>` | label description |
36
+ | `--shared` | create a workspace-level (shared) label even when a default team is set |
37
+ | `--parent <name>` | parent label (creates a sub-label) |
38
+
39
+ **Output (`--json`)**: a receipt object
40
+
41
+ ```text
42
+ id: string
43
+ name: string
44
+ color: string
45
+ ```
46
+
47
+ ### `linear label delete`
48
+
49
+ Delete a label (by name or id)
50
+
51
+ Aliases: `rm`
52
+
53
+ ```
54
+ linear label delete [options] <id>
55
+ ```
56
+
57
+ **Output (`--json`)**: a receipt object
58
+
59
+ ```text
60
+ id: string
61
+ name: string
62
+ deleted: boolean
63
+ ```
64
+
65
+ ### `linear label list`
66
+
67
+ List the labels usable in a team (its own plus workspace-level ones)
68
+
69
+ Aliases: `ls`
70
+
71
+ ```
72
+ linear label list [options] [team]
73
+ ```
74
+
75
+ | Option | Description |
76
+ | ------------- | ---------------------------------------------------------- |
77
+ | `--all-teams` | list every label in the workspace, ignoring the team scope |
78
+
79
+ **Output (`--json`)**: a bare array of objects
80
+
81
+ ```text
82
+ id: string
83
+ name: string
84
+ color: string
85
+ isGroup: boolean
86
+ team: {key: string, name: string} | null
87
+ parent: {name: string} | null
88
+ ```
89
+
90
+ ### `linear label update`
91
+
92
+ Update a label (by name or id)
93
+
94
+ Aliases: `edit`
95
+
96
+ ```
97
+ linear label update [options] <id>
98
+ ```
99
+
100
+ | Option | Description |
101
+ | -------------------------- | ------------------------------ |
102
+ | `--name <name>` | new label name |
103
+ | `--color <hex>` | new label color (e.g. #EB5757) |
104
+ | `-d, --description <text>` | new label description |
105
+
106
+ **Output (`--json`)**: a receipt object
107
+
108
+ ```text
109
+ id: string
110
+ name: string
111
+ color: string
112
+ ```
@@ -0,0 +1,139 @@
1
+ # linear milestone
2
+
3
+ > Work with project milestones
4
+
5
+ Group alias: `m`
6
+
7
+ _Generated from `linear commands --json`. `linear milestone --help` (or `<subcommand> --help`) is authoritative._
8
+
9
+ Every command also accepts the global flags `-j/--json`, `--no-input`, `-y/--yes`, `-q/--quiet`, `--workspace <slug>`, `--api-key <key>`, `-t/--team <key>`, `-n/--limit <n>`, `--all`, `-f/--fields <a,b,c>`, `--no-ansi` (alias `--no-color`), and `--debug`. Only command-specific options are listed below.
10
+
11
+ ### `linear milestone`
12
+
13
+ Work with project milestones
14
+
15
+ Aliases: `m`
16
+
17
+ ```
18
+ linear milestone [options]
19
+ ```
20
+
21
+ ### `linear milestone create`
22
+
23
+ Create a milestone in a project
24
+
25
+ Aliases: `new`
26
+
27
+ ```
28
+ linear milestone create [options] <project>
29
+ ```
30
+
31
+ | Option | Description |
32
+ | --------------------------- | ------------------------------------------ |
33
+ | `--name <name>` | milestone name |
34
+ | `-d, --description <text>` | milestone description (body) |
35
+ | `--description-file <path>` | read description from a file ('-' = stdin) |
36
+ | `--target <date>` | target date (YYYY-MM-DD) |
37
+
38
+ **Output (`--json`)**: a receipt object
39
+
40
+ ```text
41
+ id: string
42
+ name: string
43
+ ```
44
+
45
+ ### `linear milestone delete`
46
+
47
+ Delete a milestone (by id, or by name with --project)
48
+
49
+ Aliases: `rm`
50
+
51
+ ```
52
+ linear milestone delete [options] <id>
53
+ ```
54
+
55
+ | Option | Description |
56
+ | ---------------------- | -------------------------------------------------------------------------------- |
57
+ | `-p, --project <name>` | the milestone's project, when <id> is a name (names are unique per project only) |
58
+
59
+ **Output (`--json`)**: a receipt object
60
+
61
+ ```text
62
+ id: string
63
+ name: string
64
+ deleted: boolean
65
+ ```
66
+
67
+ ### `linear milestone list`
68
+
69
+ List milestones in a project
70
+
71
+ Aliases: `ls`
72
+
73
+ ```
74
+ linear milestone list [options] <project>
75
+ ```
76
+
77
+ **Output (`--json`)**: a bare array of objects
78
+
79
+ ```text
80
+ id: string
81
+ name: string
82
+ targetDate: string | null
83
+ progress: number
84
+ status: string
85
+ description: string | null
86
+ ```
87
+
88
+ ### `linear milestone update`
89
+
90
+ Update a milestone (by id, or by name with --project)
91
+
92
+ Aliases: `edit`
93
+
94
+ ```
95
+ linear milestone update [options] <id>
96
+ ```
97
+
98
+ | Option | Description |
99
+ | --------------------------- | -------------------------------------------------------------------------------- |
100
+ | `-p, --project <name>` | the milestone's project, when <id> is a name (names are unique per project only) |
101
+ | `--name <name>` | new name |
102
+ | `-d, --description <text>` | new description |
103
+ | `--description-file <path>` | read description from a file ('-' = stdin) |
104
+ | `--target <date>` | target date (YYYY-MM-DD) |
105
+
106
+ **Output (`--json`)**: a receipt object
107
+
108
+ ```text
109
+ id: string
110
+ name: string
111
+ ```
112
+
113
+ ### `linear milestone view`
114
+
115
+ Show a milestone and the issues in it (by id, or by name with --project)
116
+
117
+ ```
118
+ linear milestone view [options] <id>
119
+ ```
120
+
121
+ | Option | Description |
122
+ | ---------------------- | -------------------------------------------------------------------------------- |
123
+ | `-p, --project <name>` | the milestone's project, when <id> is a name (names are unique per project only) |
124
+
125
+ **Output (`--json`)**: a bare object
126
+
127
+ ```text
128
+ id: string
129
+ name: string
130
+ description: string | null
131
+ targetDate: string | null
132
+ progress: number
133
+ status: string
134
+ project: {id: string, name: string} | null
135
+ createdAt: string
136
+ updatedAt: string
137
+ issues: Array<{id: string, identifier: string, title: string, state: {id: string, name: string, type: string} | null}>
138
+ issuesTruncated: boolean
139
+ ```
@@ -0,0 +1,123 @@
1
+ # linear notification
2
+
3
+ > Work with your notifications
4
+
5
+ Group alias: `notif`
6
+
7
+ _Generated from `linear commands --json`. `linear notification --help` (or `<subcommand> --help`) is authoritative._
8
+
9
+ Every command also accepts the global flags `-j/--json`, `--no-input`, `-y/--yes`, `-q/--quiet`, `--workspace <slug>`, `--api-key <key>`, `-t/--team <key>`, `-n/--limit <n>`, `--all`, `-f/--fields <a,b,c>`, `--no-ansi` (alias `--no-color`), and `--debug`. Only command-specific options are listed below.
10
+
11
+ ### `linear notification`
12
+
13
+ Work with your notifications
14
+
15
+ Aliases: `notif`
16
+
17
+ ```
18
+ linear notification [options]
19
+ ```
20
+
21
+ ### `linear notification archive`
22
+
23
+ Archive a notification
24
+
25
+ ```
26
+ linear notification archive [options] <id>
27
+ ```
28
+
29
+ **Output (`--json`)**: a receipt object
30
+
31
+ ```text
32
+ id: string
33
+ archived: boolean
34
+ ```
35
+
36
+ ### `linear notification list`
37
+
38
+ List your notifications
39
+
40
+ Aliases: `ls`
41
+
42
+ ```
43
+ linear notification list [options]
44
+ ```
45
+
46
+ | Option | Description |
47
+ | -------------------- | ------------------------------ |
48
+ | `--include-archived` | include archived notifications |
49
+
50
+ **Output (`--json`)**: a bare array of objects
51
+
52
+ ```text
53
+ id: string
54
+ type: string
55
+ subject: string | null
56
+ read: boolean
57
+ readAt: string | null
58
+ snoozedUntilAt: string | null
59
+ archivedAt: string | null
60
+ createdAt: string
61
+ ```
62
+
63
+ ### `linear notification read`
64
+
65
+ Mark a notification as read
66
+
67
+ ```
68
+ linear notification read [options] <id>
69
+ ```
70
+
71
+ **Output (`--json`)**: a receipt object
72
+
73
+ ```text
74
+ id: string
75
+ read: boolean
76
+ ```
77
+
78
+ ### `linear notification read-all`
79
+
80
+ Mark all your notifications as read
81
+
82
+ ```
83
+ linear notification read-all [options]
84
+ ```
85
+
86
+ **Output (`--json`)**: a receipt object
87
+
88
+ ```text
89
+ success: boolean
90
+ count: number
91
+ attempted: number
92
+ failed: Array<{id: string, read: boolean, error?: string}>
93
+ ```
94
+
95
+ ### `linear notification snooze`
96
+
97
+ Snooze a notification until an ISO timestamp (e.g. 2026-07-01T09:00:00Z)
98
+
99
+ ```
100
+ linear notification snooze [options] <id> <untilISO>
101
+ ```
102
+
103
+ **Output (`--json`)**: a receipt object
104
+
105
+ ```text
106
+ id: string
107
+ snoozedUntilAt: string
108
+ ```
109
+
110
+ ### `linear notification unread`
111
+
112
+ Mark a notification as unread
113
+
114
+ ```
115
+ linear notification unread [options] <id>
116
+ ```
117
+
118
+ **Output (`--json`)**: a receipt object
119
+
120
+ ```text
121
+ id: string
122
+ read: boolean
123
+ ```
@@ -0,0 +1,29 @@
1
+ # linear open
2
+
3
+ > Open the workspace, an issue, team, project, or URL
4
+
5
+ _Generated from `linear commands --json`. `linear open --help` (or `<subcommand> --help`) is authoritative._
6
+
7
+ Every command also accepts the global flags `-j/--json`, `--no-input`, `-y/--yes`, `-q/--quiet`, `--workspace <slug>`, `--api-key <key>`, `-t/--team <key>`, `-n/--limit <n>`, `--all`, `-f/--fields <a,b,c>`, `--no-ansi` (alias `--no-color`), and `--debug`. Only command-specific options are listed below.
8
+
9
+ ### `linear open`
10
+
11
+ Open the workspace, an issue, team, project, or URL
12
+
13
+ ```
14
+ linear open [options] [target]
15
+ ```
16
+
17
+ | Option | Description |
18
+ | ----------- | ----------------------------------------- |
19
+ | `--app` | open in Linear.app (macOS) |
20
+ | `-w, --web` | open in the default browser (the default) |
21
+
22
+ **Output (`--json`)**: a receipt object
23
+
24
+ ```text
25
+ target: string
26
+ url: string
27
+ label: string
28
+ opened: boolean
29
+ ```
@@ -0,0 +1,99 @@
1
+ # linear organization
2
+
3
+ > Inspect the current workspace
4
+
5
+ Group alias: `org`
6
+
7
+ _Generated from `linear commands --json`. `linear organization --help` (or `<subcommand> --help`) is authoritative._
8
+
9
+ Every command also accepts the global flags `-j/--json`, `--no-input`, `-y/--yes`, `-q/--quiet`, `--workspace <slug>`, `--api-key <key>`, `-t/--team <key>`, `-n/--limit <n>`, `--all`, `-f/--fields <a,b,c>`, `--no-ansi` (alias `--no-color`), and `--debug`. Only command-specific options are listed below.
10
+
11
+ ### `linear organization`
12
+
13
+ Inspect the current workspace
14
+
15
+ Aliases: `org`
16
+
17
+ ```
18
+ linear organization [options]
19
+ ```
20
+
21
+ **Output (`--json`)**: a bare object — runs `organization view` by default
22
+
23
+ ```text
24
+ id: string
25
+ name: string
26
+ urlKey: string
27
+ userCount: number
28
+ createdIssueCount: number
29
+ samlEnabled: boolean
30
+ scimEnabled: boolean
31
+ roadmapEnabled: boolean
32
+ logoUrl: string | null
33
+ createdAt: string
34
+ updatedAt: string
35
+ ```
36
+
37
+ ### `linear organization invites`
38
+
39
+ List organization invites
40
+
41
+ ```
42
+ linear organization invites [options]
43
+ ```
44
+
45
+ **Output (`--json`)**: a bare array of objects
46
+
47
+ ```text
48
+ id: string
49
+ email: string
50
+ status: string
51
+ role: string
52
+ external: boolean
53
+ createdAt: string
54
+ ```
55
+
56
+ ### `linear organization members`
57
+
58
+ List workspace members
59
+
60
+ ```
61
+ linear organization members [options]
62
+ ```
63
+
64
+ **Output (`--json`)**: a bare array of objects
65
+
66
+ ```text
67
+ id: string
68
+ displayName: string
69
+ name: string
70
+ email: string
71
+ admin: boolean
72
+ active: boolean
73
+ ```
74
+
75
+ ### `linear organization view`
76
+
77
+ Show the current workspace
78
+
79
+ Aliases: `show`
80
+
81
+ ```
82
+ linear organization view [options]
83
+ ```
84
+
85
+ **Output (`--json`)**: a bare object
86
+
87
+ ```text
88
+ id: string
89
+ name: string
90
+ urlKey: string
91
+ userCount: number
92
+ createdIssueCount: number
93
+ samlEnabled: boolean
94
+ scimEnabled: boolean
95
+ roadmapEnabled: boolean
96
+ logoUrl: string | null
97
+ createdAt: string
98
+ updatedAt: string
99
+ ```
@@ -0,0 +1,67 @@
1
+ # linear project-update
2
+
3
+ > Post and list project status updates
4
+
5
+ Group alias: `pu`
6
+
7
+ _Generated from `linear commands --json`. `linear project-update --help` (or `<subcommand> --help`) is authoritative._
8
+
9
+ Every command also accepts the global flags `-j/--json`, `--no-input`, `-y/--yes`, `-q/--quiet`, `--workspace <slug>`, `--api-key <key>`, `-t/--team <key>`, `-n/--limit <n>`, `--all`, `-f/--fields <a,b,c>`, `--no-ansi` (alias `--no-color`), and `--debug`. Only command-specific options are listed below.
10
+
11
+ ### `linear project-update`
12
+
13
+ Post and list project status updates
14
+
15
+ Aliases: `pu`
16
+
17
+ ```
18
+ linear project-update [options]
19
+ ```
20
+
21
+ ### `linear project-update create`
22
+
23
+ Post a status update on a project (by name or id)
24
+
25
+ Aliases: `new`
26
+
27
+ ```
28
+ linear project-update create [options] <project>
29
+ ```
30
+
31
+ | Option | Description |
32
+ | -------------------- | ----------------------------------- |
33
+ | `--body <text>` | update body (markdown) |
34
+ | `--body-file <path>` | read body from a file ('-' = stdin) |
35
+ | `--editor` | compose the body in $EDITOR |
36
+ | `--health <state>` | status health |
37
+
38
+ **Output (`--json`)**: a receipt object
39
+
40
+ ```text
41
+ id: string
42
+ createdAt: string
43
+ user: string
44
+ body: string
45
+ health: string | null
46
+ url: string
47
+ ```
48
+
49
+ ### `linear project-update list`
50
+
51
+ List a project's status updates
52
+
53
+ Aliases: `ls`
54
+
55
+ ```
56
+ linear project-update list [options] <project>
57
+ ```
58
+
59
+ **Output (`--json`)**: a bare array of objects
60
+
61
+ ```text
62
+ id: string
63
+ createdAt: string
64
+ user: string
65
+ body: string
66
+ health: string | null
67
+ ```