linear-cli-agents 0.1.0 → 0.2.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/README.md +52 -3
- package/bin/dev.js +0 -0
- package/dist/commands/auth/__tests__/status.test.d.ts +1 -0
- package/dist/commands/auth/__tests__/status.test.js +23 -0
- package/dist/commands/auth/login.d.ts +1 -0
- package/dist/commands/auth/login.js +39 -3
- package/dist/commands/issues/delete.js +1 -3
- package/dist/commands/issues/get.d.ts +3 -0
- package/dist/commands/issues/get.js +39 -6
- package/dist/commands/issues/list.d.ts +1 -0
- package/dist/commands/issues/list.js +42 -5
- package/dist/commands/me.d.ts +10 -0
- package/dist/commands/me.js +76 -0
- package/dist/commands/open.d.ts +15 -0
- package/dist/commands/open.js +100 -0
- package/dist/commands/teams/list.d.ts +11 -0
- package/dist/commands/teams/list.js +99 -0
- package/dist/lib/__tests__/errors.test.d.ts +1 -0
- package/dist/lib/__tests__/errors.test.js +98 -0
- package/dist/lib/__tests__/output.test.d.ts +1 -0
- package/dist/lib/__tests__/output.test.js +112 -0
- package/dist/lib/formatter.d.ts +59 -0
- package/dist/lib/formatter.js +192 -0
- package/dist/lib/output.d.ts +17 -1
- package/dist/lib/output.js +43 -0
- package/dist/lib/types.d.ts +7 -0
- package/oclif.manifest.json +221 -4
- package/package.json +35 -15
package/oclif.manifest.json
CHANGED
|
@@ -1,5 +1,127 @@
|
|
|
1
1
|
{
|
|
2
2
|
"commands": {
|
|
3
|
+
"me": {
|
|
4
|
+
"aliases": [
|
|
5
|
+
"whoami"
|
|
6
|
+
],
|
|
7
|
+
"args": {},
|
|
8
|
+
"description": "Show current user information",
|
|
9
|
+
"examples": [
|
|
10
|
+
"<%= config.bin %> me",
|
|
11
|
+
"<%= config.bin %> me --format table",
|
|
12
|
+
"<%= config.bin %> whoami"
|
|
13
|
+
],
|
|
14
|
+
"flags": {
|
|
15
|
+
"format": {
|
|
16
|
+
"char": "F",
|
|
17
|
+
"description": "Output format",
|
|
18
|
+
"name": "format",
|
|
19
|
+
"default": "json",
|
|
20
|
+
"hasDynamicHelp": false,
|
|
21
|
+
"multiple": false,
|
|
22
|
+
"options": [
|
|
23
|
+
"json",
|
|
24
|
+
"table",
|
|
25
|
+
"plain"
|
|
26
|
+
],
|
|
27
|
+
"type": "option"
|
|
28
|
+
}
|
|
29
|
+
},
|
|
30
|
+
"hasDynamicHelp": false,
|
|
31
|
+
"hiddenAliases": [],
|
|
32
|
+
"id": "me",
|
|
33
|
+
"pluginAlias": "linear-cli-agents",
|
|
34
|
+
"pluginName": "linear-cli-agents",
|
|
35
|
+
"pluginType": "core",
|
|
36
|
+
"strict": true,
|
|
37
|
+
"enableJsonFlag": false,
|
|
38
|
+
"isESM": true,
|
|
39
|
+
"relativePath": [
|
|
40
|
+
"dist",
|
|
41
|
+
"commands",
|
|
42
|
+
"me.js"
|
|
43
|
+
]
|
|
44
|
+
},
|
|
45
|
+
"open": {
|
|
46
|
+
"aliases": [],
|
|
47
|
+
"args": {
|
|
48
|
+
"issue": {
|
|
49
|
+
"description": "Issue identifier (e.g., ENG-123) or ID to open",
|
|
50
|
+
"name": "issue",
|
|
51
|
+
"required": false
|
|
52
|
+
}
|
|
53
|
+
},
|
|
54
|
+
"description": "Open Linear resources in browser",
|
|
55
|
+
"examples": [
|
|
56
|
+
"<%= config.bin %> open ENG-123",
|
|
57
|
+
"<%= config.bin %> open --team ENG",
|
|
58
|
+
"<%= config.bin %> open --inbox",
|
|
59
|
+
"<%= config.bin %> open --settings",
|
|
60
|
+
"<%= config.bin %> open --my-issues"
|
|
61
|
+
],
|
|
62
|
+
"flags": {
|
|
63
|
+
"team": {
|
|
64
|
+
"char": "t",
|
|
65
|
+
"description": "Open team page by key (e.g., ENG)",
|
|
66
|
+
"exclusive": [
|
|
67
|
+
"inbox",
|
|
68
|
+
"settings",
|
|
69
|
+
"my-issues"
|
|
70
|
+
],
|
|
71
|
+
"name": "team",
|
|
72
|
+
"hasDynamicHelp": false,
|
|
73
|
+
"multiple": false,
|
|
74
|
+
"type": "option"
|
|
75
|
+
},
|
|
76
|
+
"inbox": {
|
|
77
|
+
"description": "Open inbox",
|
|
78
|
+
"exclusive": [
|
|
79
|
+
"team",
|
|
80
|
+
"settings",
|
|
81
|
+
"my-issues"
|
|
82
|
+
],
|
|
83
|
+
"name": "inbox",
|
|
84
|
+
"allowNo": false,
|
|
85
|
+
"type": "boolean"
|
|
86
|
+
},
|
|
87
|
+
"settings": {
|
|
88
|
+
"description": "Open workspace settings",
|
|
89
|
+
"exclusive": [
|
|
90
|
+
"team",
|
|
91
|
+
"inbox",
|
|
92
|
+
"my-issues"
|
|
93
|
+
],
|
|
94
|
+
"name": "settings",
|
|
95
|
+
"allowNo": false,
|
|
96
|
+
"type": "boolean"
|
|
97
|
+
},
|
|
98
|
+
"my-issues": {
|
|
99
|
+
"description": "Open my issues view",
|
|
100
|
+
"exclusive": [
|
|
101
|
+
"team",
|
|
102
|
+
"inbox",
|
|
103
|
+
"settings"
|
|
104
|
+
],
|
|
105
|
+
"name": "my-issues",
|
|
106
|
+
"allowNo": false,
|
|
107
|
+
"type": "boolean"
|
|
108
|
+
}
|
|
109
|
+
},
|
|
110
|
+
"hasDynamicHelp": false,
|
|
111
|
+
"hiddenAliases": [],
|
|
112
|
+
"id": "open",
|
|
113
|
+
"pluginAlias": "linear-cli-agents",
|
|
114
|
+
"pluginName": "linear-cli-agents",
|
|
115
|
+
"pluginType": "core",
|
|
116
|
+
"strict": true,
|
|
117
|
+
"enableJsonFlag": false,
|
|
118
|
+
"isESM": true,
|
|
119
|
+
"relativePath": [
|
|
120
|
+
"dist",
|
|
121
|
+
"commands",
|
|
122
|
+
"open.js"
|
|
123
|
+
]
|
|
124
|
+
},
|
|
3
125
|
"query": {
|
|
4
126
|
"aliases": [],
|
|
5
127
|
"args": {},
|
|
@@ -109,6 +231,7 @@
|
|
|
109
231
|
"description": "Authenticate with Linear using an API key",
|
|
110
232
|
"examples": [
|
|
111
233
|
"<%= config.bin %> auth login --key lin_api_xxxxx",
|
|
234
|
+
"<%= config.bin %> auth login --browser",
|
|
112
235
|
"LINEAR_API_KEY=lin_api_xxxxx <%= config.bin %> auth login"
|
|
113
236
|
],
|
|
114
237
|
"flags": {
|
|
@@ -120,6 +243,13 @@
|
|
|
120
243
|
"hasDynamicHelp": false,
|
|
121
244
|
"multiple": false,
|
|
122
245
|
"type": "option"
|
|
246
|
+
},
|
|
247
|
+
"browser": {
|
|
248
|
+
"char": "b",
|
|
249
|
+
"description": "Open Linear API settings in browser to create a key",
|
|
250
|
+
"name": "browser",
|
|
251
|
+
"allowNo": false,
|
|
252
|
+
"type": "boolean"
|
|
123
253
|
}
|
|
124
254
|
},
|
|
125
255
|
"hasDynamicHelp": false,
|
|
@@ -342,10 +472,26 @@
|
|
|
342
472
|
},
|
|
343
473
|
"description": "Get a single issue by ID or identifier",
|
|
344
474
|
"examples": [
|
|
345
|
-
"<%= config.bin %> issues get
|
|
346
|
-
"<%= config.bin %> issues get ENG-123"
|
|
475
|
+
"<%= config.bin %> issues get ENG-123",
|
|
476
|
+
"<%= config.bin %> issues get ENG-123 --format table",
|
|
477
|
+
"<%= config.bin %> issues get abc123"
|
|
347
478
|
],
|
|
348
|
-
"flags": {
|
|
479
|
+
"flags": {
|
|
480
|
+
"format": {
|
|
481
|
+
"char": "F",
|
|
482
|
+
"description": "Output format",
|
|
483
|
+
"name": "format",
|
|
484
|
+
"default": "json",
|
|
485
|
+
"hasDynamicHelp": false,
|
|
486
|
+
"multiple": false,
|
|
487
|
+
"options": [
|
|
488
|
+
"json",
|
|
489
|
+
"table",
|
|
490
|
+
"plain"
|
|
491
|
+
],
|
|
492
|
+
"type": "option"
|
|
493
|
+
}
|
|
494
|
+
},
|
|
349
495
|
"hasDynamicHelp": false,
|
|
350
496
|
"hiddenAliases": [],
|
|
351
497
|
"id": "issues:get",
|
|
@@ -368,12 +514,27 @@
|
|
|
368
514
|
"description": "List issues with optional filtering",
|
|
369
515
|
"examples": [
|
|
370
516
|
"<%= config.bin %> issues list",
|
|
517
|
+
"<%= config.bin %> issues list --format table",
|
|
371
518
|
"<%= config.bin %> issues list --team ENG",
|
|
372
519
|
"<%= config.bin %> issues list --assignee me",
|
|
373
520
|
"<%= config.bin %> issues list --filter '{\"state\":{\"name\":{\"eq\":\"In Progress\"}}}'",
|
|
374
521
|
"<%= config.bin %> issues list --first 50 --after cursor123"
|
|
375
522
|
],
|
|
376
523
|
"flags": {
|
|
524
|
+
"format": {
|
|
525
|
+
"char": "F",
|
|
526
|
+
"description": "Output format",
|
|
527
|
+
"name": "format",
|
|
528
|
+
"default": "json",
|
|
529
|
+
"hasDynamicHelp": false,
|
|
530
|
+
"multiple": false,
|
|
531
|
+
"options": [
|
|
532
|
+
"json",
|
|
533
|
+
"table",
|
|
534
|
+
"plain"
|
|
535
|
+
],
|
|
536
|
+
"type": "option"
|
|
537
|
+
},
|
|
377
538
|
"team": {
|
|
378
539
|
"char": "t",
|
|
379
540
|
"description": "Filter by team key (e.g., ENG)",
|
|
@@ -543,7 +704,63 @@
|
|
|
543
704
|
"issues",
|
|
544
705
|
"update.js"
|
|
545
706
|
]
|
|
707
|
+
},
|
|
708
|
+
"teams:list": {
|
|
709
|
+
"aliases": [],
|
|
710
|
+
"args": {},
|
|
711
|
+
"description": "List teams in the workspace",
|
|
712
|
+
"examples": [
|
|
713
|
+
"<%= config.bin %> teams list",
|
|
714
|
+
"<%= config.bin %> teams list --format table",
|
|
715
|
+
"<%= config.bin %> teams list --first 10"
|
|
716
|
+
],
|
|
717
|
+
"flags": {
|
|
718
|
+
"format": {
|
|
719
|
+
"char": "F",
|
|
720
|
+
"description": "Output format",
|
|
721
|
+
"name": "format",
|
|
722
|
+
"default": "json",
|
|
723
|
+
"hasDynamicHelp": false,
|
|
724
|
+
"multiple": false,
|
|
725
|
+
"options": [
|
|
726
|
+
"json",
|
|
727
|
+
"table",
|
|
728
|
+
"plain"
|
|
729
|
+
],
|
|
730
|
+
"type": "option"
|
|
731
|
+
},
|
|
732
|
+
"first": {
|
|
733
|
+
"description": "Number of teams to fetch (default: 50)",
|
|
734
|
+
"name": "first",
|
|
735
|
+
"default": 50,
|
|
736
|
+
"hasDynamicHelp": false,
|
|
737
|
+
"multiple": false,
|
|
738
|
+
"type": "option"
|
|
739
|
+
},
|
|
740
|
+
"after": {
|
|
741
|
+
"description": "Cursor for pagination",
|
|
742
|
+
"name": "after",
|
|
743
|
+
"hasDynamicHelp": false,
|
|
744
|
+
"multiple": false,
|
|
745
|
+
"type": "option"
|
|
746
|
+
}
|
|
747
|
+
},
|
|
748
|
+
"hasDynamicHelp": false,
|
|
749
|
+
"hiddenAliases": [],
|
|
750
|
+
"id": "teams:list",
|
|
751
|
+
"pluginAlias": "linear-cli-agents",
|
|
752
|
+
"pluginName": "linear-cli-agents",
|
|
753
|
+
"pluginType": "core",
|
|
754
|
+
"strict": true,
|
|
755
|
+
"enableJsonFlag": false,
|
|
756
|
+
"isESM": true,
|
|
757
|
+
"relativePath": [
|
|
758
|
+
"dist",
|
|
759
|
+
"commands",
|
|
760
|
+
"teams",
|
|
761
|
+
"list.js"
|
|
762
|
+
]
|
|
546
763
|
}
|
|
547
764
|
},
|
|
548
|
-
"version": "0.
|
|
765
|
+
"version": "0.2.0"
|
|
549
766
|
}
|
package/package.json
CHANGED
|
@@ -1,16 +1,22 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "linear-cli-agents",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.2.0",
|
|
4
4
|
"description": "CLI for interacting with Linear, designed for LLMs and agents",
|
|
5
5
|
"author": "Nacho",
|
|
6
6
|
"bin": {
|
|
7
7
|
"linear": "./bin/run.js"
|
|
8
8
|
},
|
|
9
|
-
"homepage": "https://github.com/
|
|
9
|
+
"homepage": "https://github.com/nchgn/linear-cli",
|
|
10
10
|
"license": "MIT",
|
|
11
11
|
"main": "dist/index.js",
|
|
12
12
|
"type": "module",
|
|
13
|
-
"repository":
|
|
13
|
+
"repository": {
|
|
14
|
+
"type": "git",
|
|
15
|
+
"url": "https://github.com/nchgn/linear-cli.git"
|
|
16
|
+
},
|
|
17
|
+
"bugs": {
|
|
18
|
+
"url": "https://github.com/nchgn/linear-cli/issues"
|
|
19
|
+
},
|
|
14
20
|
"files": [
|
|
15
21
|
"/bin",
|
|
16
22
|
"/dist",
|
|
@@ -19,15 +25,23 @@
|
|
|
19
25
|
"dependencies": {
|
|
20
26
|
"@linear/sdk": "^29.0.0",
|
|
21
27
|
"@oclif/core": "^4.3.0",
|
|
22
|
-
"@oclif/plugin-
|
|
28
|
+
"@oclif/plugin-autocomplete": "^3.2.0",
|
|
29
|
+
"@oclif/plugin-help": "^6.2.0",
|
|
30
|
+
"cli-table3": "^0.6.5",
|
|
31
|
+
"open": "^11.0.0",
|
|
32
|
+
"picocolors": "^1.1.1"
|
|
23
33
|
},
|
|
24
34
|
"devDependencies": {
|
|
25
35
|
"@oclif/prettier-config": "^0.2.1",
|
|
26
36
|
"@oclif/test": "^4.1.0",
|
|
27
37
|
"@types/node": "^22.0.0",
|
|
38
|
+
"@vitest/coverage-v8": "^3.0.0",
|
|
39
|
+
"eslint": "^9.0.0",
|
|
28
40
|
"oclif": "^4.17.0",
|
|
41
|
+
"prettier": "^3.0.0",
|
|
29
42
|
"shx": "^0.3.4",
|
|
30
43
|
"typescript": "^5.7.0",
|
|
44
|
+
"typescript-eslint": "^8.0.0",
|
|
31
45
|
"vitest": "^3.0.0"
|
|
32
46
|
},
|
|
33
47
|
"oclif": {
|
|
@@ -35,7 +49,8 @@
|
|
|
35
49
|
"dirname": "linear-cli",
|
|
36
50
|
"commands": "./dist/commands",
|
|
37
51
|
"plugins": [
|
|
38
|
-
"@oclif/plugin-help"
|
|
52
|
+
"@oclif/plugin-help",
|
|
53
|
+
"@oclif/plugin-autocomplete"
|
|
39
54
|
],
|
|
40
55
|
"topicSeparator": " ",
|
|
41
56
|
"topics": {
|
|
@@ -44,17 +59,12 @@
|
|
|
44
59
|
},
|
|
45
60
|
"issues": {
|
|
46
61
|
"description": "Issue management commands"
|
|
62
|
+
},
|
|
63
|
+
"teams": {
|
|
64
|
+
"description": "Team management commands"
|
|
47
65
|
}
|
|
48
66
|
}
|
|
49
67
|
},
|
|
50
|
-
"scripts": {
|
|
51
|
-
"build": "shx rm -rf dist && tsc -b",
|
|
52
|
-
"lint": "tsc --noEmit",
|
|
53
|
-
"postpack": "shx rm -f oclif.manifest.json",
|
|
54
|
-
"prepack": "pnpm run build && oclif manifest && oclif readme",
|
|
55
|
-
"test": "vitest run",
|
|
56
|
-
"test:watch": "vitest"
|
|
57
|
-
},
|
|
58
68
|
"engines": {
|
|
59
69
|
"node": ">=18.0.0"
|
|
60
70
|
},
|
|
@@ -65,5 +75,15 @@
|
|
|
65
75
|
"agent",
|
|
66
76
|
"project-management"
|
|
67
77
|
],
|
|
68
|
-
"
|
|
69
|
-
|
|
78
|
+
"prettier": "@oclif/prettier-config",
|
|
79
|
+
"scripts": {
|
|
80
|
+
"build": "shx rm -rf dist && tsc -b",
|
|
81
|
+
"lint": "eslint . && tsc --noEmit",
|
|
82
|
+
"lint:fix": "eslint . --fix",
|
|
83
|
+
"format": "prettier --write .",
|
|
84
|
+
"format:check": "prettier --check .",
|
|
85
|
+
"test": "vitest run",
|
|
86
|
+
"test:watch": "vitest",
|
|
87
|
+
"test:coverage": "vitest run --coverage"
|
|
88
|
+
}
|
|
89
|
+
}
|