linear-cli-agents 0.5.0 → 0.5.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/README.md CHANGED
@@ -10,6 +10,9 @@ A CLI for interacting with [Linear](https://linear.app), designed for LLMs and a
10
10
 
11
11
  - **JSON output**: All commands return structured JSON, perfect for parsing by LLMs
12
12
  - **Multiple formats**: JSON (default), table (colored), or plain text output
13
+ - **Comprehensive docs**: `linear info` returns full CLI documentation in one command
14
+ - **Configurable defaults**: Set default team to skip `--team-id` on every command
15
+ - **Bulk operations**: Update multiple issues at once with `bulk-update` and `bulk-label`
13
16
  - **Schema introspection**: Discover available operations programmatically
14
17
  - **Full CRUD**: Issues, projects, labels, comments, templates, milestones
15
18
  - **Issue relations**: Manage blocks, duplicates, and related issues
@@ -27,6 +30,25 @@ npm install -g linear-cli-agents
27
30
  pnpm add -g linear-cli-agents
28
31
  ```
29
32
 
33
+ ## Quick Start
34
+
35
+ ```bash
36
+ # Install
37
+ npm install -g linear-cli-agents
38
+
39
+ # Authenticate
40
+ linear auth login
41
+
42
+ # Get full CLI documentation (recommended for LLMs)
43
+ linear info
44
+
45
+ # Configure default team (optional, skips --team-id on every command)
46
+ linear config set default-team-id YOUR_TEAM_ID
47
+
48
+ # Add CLI instructions to your CLAUDE.md (optional)
49
+ linear setup
50
+ ```
51
+
30
52
  ## Authentication
31
53
 
32
54
  ```bash
@@ -49,6 +71,20 @@ linear me
49
71
  linear auth logout
50
72
  ```
51
73
 
74
+ ## Configuration
75
+
76
+ ```bash
77
+ # Set default team (skips --team-id on create commands)
78
+ linear config set default-team-id YOUR_TEAM_UUID
79
+ linear config set default-team-key TEAM_KEY
80
+
81
+ # Get a config value
82
+ linear config get default-team-id
83
+
84
+ # List all config
85
+ linear config list
86
+ ```
87
+
52
88
  ## Usage
53
89
 
54
90
  ### Issues
@@ -89,6 +125,14 @@ linear issues archive ENG-123 --unarchive
89
125
  # Manage labels on issues
90
126
  linear issues add-labels ENG-123 --label-ids LABEL_ID1,LABEL_ID2
91
127
  linear issues remove-labels ENG-123 --label-ids LABEL_ID1
128
+
129
+ # Bulk update multiple issues at once
130
+ linear issues bulk-update --ids ENG-1,ENG-2,ENG-3 --state-id STATE_ID
131
+ linear issues bulk-update --ids ENG-1,ENG-2 --priority 2 --assignee-id USER_ID
132
+
133
+ # Bulk add/remove labels from multiple issues
134
+ linear issues bulk-label --ids ENG-1,ENG-2,ENG-3 --add-labels LABEL1,LABEL2
135
+ linear issues bulk-label --ids ENG-1,ENG-2 --remove-labels LABEL1
92
136
  ```
93
137
 
94
138
  ### Projects
@@ -378,25 +422,36 @@ linear issues list --format table --no-color
378
422
 
379
423
  The CLI is designed to be easily used by LLMs and AI agents:
380
424
 
381
- 1. **Discover capabilities**: Use `linear schema` to understand available operations
425
+ 1. **Single discovery command**: Use `linear info` to get complete documentation in one JSON response
382
426
  2. **Structured output**: All responses are JSON with consistent format
383
- 3. **Error codes**: Programmatic error handling via error codes
384
- 4. **Raw queries**: Use `linear query` for complex operations not covered by built-in commands
427
+ 3. **Configurable defaults**: Set default team to reduce command complexity
428
+ 4. **Bulk operations**: Update multiple issues efficiently
429
+ 5. **Error codes**: Programmatic error handling via error codes
385
430
 
386
431
  ### Example LLM Workflow
387
432
 
388
433
  ```bash
389
- # 1. Discover what operations are available
390
- linear schema
434
+ # 1. Get complete CLI documentation in one command
435
+ linear info
391
436
 
392
- # 2. Get details about issues
393
- linear schema issues
437
+ # 2. Or get compact version for limited context
438
+ linear info --compact
394
439
 
395
- # 3. List issues assigned to current user
396
- linear issues list --assignee me
440
+ # 3. Create issues (uses default team if configured)
441
+ linear issues create --title "From LLM"
442
+
443
+ # 4. Bulk update multiple issues
444
+ linear issues bulk-update --ids ENG-1,ENG-2,ENG-3 --state-id STATE_ID
445
+ ```
446
+
447
+ ### Claude Code Integration
448
+
449
+ ```bash
450
+ # Add CLI instructions to CLAUDE.md
451
+ linear setup
397
452
 
398
- # 4. Create a new issue
399
- linear issues create --input '{"title":"From LLM","teamId":"xxx"}'
453
+ # Remove instructions
454
+ linear setup --remove
400
455
  ```
401
456
 
402
457
  ## Development
@@ -644,7 +644,7 @@ export default class Info extends Command {
644
644
  return acc;
645
645
  }, {});
646
646
  print(success({
647
- version: '0.5.0',
647
+ version: '0.5.1',
648
648
  commands: compactCommands,
649
649
  configKeys: CONFIG_KEYS,
650
650
  note: 'Use "linear info" for full documentation with examples and workflows',
@@ -653,7 +653,7 @@ export default class Info extends Command {
653
653
  }
654
654
  // Full documentation
655
655
  print(success({
656
- version: '0.5.0',
656
+ version: '0.5.1',
657
657
  overview: {
658
658
  description: 'CLI for interacting with Linear, designed for LLMs and agents',
659
659
  authentication: 'Run "linear auth login" or set LINEAR_API_KEY environment variable',
@@ -448,97 +448,6 @@
448
448
  "status.js"
449
449
  ]
450
450
  },
451
- "config:get": {
452
- "aliases": [],
453
- "args": {
454
- "key": {
455
- "description": "Config key (default-team-id, default-team-key)",
456
- "name": "key",
457
- "required": true
458
- }
459
- },
460
- "description": "Get a configuration value",
461
- "examples": [
462
- "<%= config.bin %> config get default-team-id",
463
- "<%= config.bin %> config get default-team-key"
464
- ],
465
- "flags": {},
466
- "hasDynamicHelp": false,
467
- "hiddenAliases": [],
468
- "id": "config:get",
469
- "pluginAlias": "linear-cli-agents",
470
- "pluginName": "linear-cli-agents",
471
- "pluginType": "core",
472
- "strict": true,
473
- "enableJsonFlag": false,
474
- "isESM": true,
475
- "relativePath": [
476
- "dist",
477
- "commands",
478
- "config",
479
- "get.js"
480
- ]
481
- },
482
- "config:list": {
483
- "aliases": [],
484
- "args": {},
485
- "description": "List all configuration values",
486
- "examples": [
487
- "<%= config.bin %> config list"
488
- ],
489
- "flags": {},
490
- "hasDynamicHelp": false,
491
- "hiddenAliases": [],
492
- "id": "config:list",
493
- "pluginAlias": "linear-cli-agents",
494
- "pluginName": "linear-cli-agents",
495
- "pluginType": "core",
496
- "strict": true,
497
- "enableJsonFlag": false,
498
- "isESM": true,
499
- "relativePath": [
500
- "dist",
501
- "commands",
502
- "config",
503
- "list.js"
504
- ]
505
- },
506
- "config:set": {
507
- "aliases": [],
508
- "args": {
509
- "key": {
510
- "description": "Config key (default-team-id, default-team-key)",
511
- "name": "key",
512
- "required": true
513
- },
514
- "value": {
515
- "description": "Config value",
516
- "name": "value",
517
- "required": true
518
- }
519
- },
520
- "description": "Set a configuration value",
521
- "examples": [
522
- "<%= config.bin %> config set default-team-id d1ad1a80-9267-4ebc-979a-eaf885898a2c",
523
- "<%= config.bin %> config set default-team-key MITO"
524
- ],
525
- "flags": {},
526
- "hasDynamicHelp": false,
527
- "hiddenAliases": [],
528
- "id": "config:set",
529
- "pluginAlias": "linear-cli-agents",
530
- "pluginName": "linear-cli-agents",
531
- "pluginType": "core",
532
- "strict": true,
533
- "enableJsonFlag": false,
534
- "isESM": true,
535
- "relativePath": [
536
- "dist",
537
- "commands",
538
- "config",
539
- "set.js"
540
- ]
541
- },
542
451
  "comments:add": {
543
452
  "aliases": [],
544
453
  "args": {
@@ -754,6 +663,97 @@
754
663
  "update.js"
755
664
  ]
756
665
  },
666
+ "config:get": {
667
+ "aliases": [],
668
+ "args": {
669
+ "key": {
670
+ "description": "Config key (default-team-id, default-team-key)",
671
+ "name": "key",
672
+ "required": true
673
+ }
674
+ },
675
+ "description": "Get a configuration value",
676
+ "examples": [
677
+ "<%= config.bin %> config get default-team-id",
678
+ "<%= config.bin %> config get default-team-key"
679
+ ],
680
+ "flags": {},
681
+ "hasDynamicHelp": false,
682
+ "hiddenAliases": [],
683
+ "id": "config:get",
684
+ "pluginAlias": "linear-cli-agents",
685
+ "pluginName": "linear-cli-agents",
686
+ "pluginType": "core",
687
+ "strict": true,
688
+ "enableJsonFlag": false,
689
+ "isESM": true,
690
+ "relativePath": [
691
+ "dist",
692
+ "commands",
693
+ "config",
694
+ "get.js"
695
+ ]
696
+ },
697
+ "config:list": {
698
+ "aliases": [],
699
+ "args": {},
700
+ "description": "List all configuration values",
701
+ "examples": [
702
+ "<%= config.bin %> config list"
703
+ ],
704
+ "flags": {},
705
+ "hasDynamicHelp": false,
706
+ "hiddenAliases": [],
707
+ "id": "config:list",
708
+ "pluginAlias": "linear-cli-agents",
709
+ "pluginName": "linear-cli-agents",
710
+ "pluginType": "core",
711
+ "strict": true,
712
+ "enableJsonFlag": false,
713
+ "isESM": true,
714
+ "relativePath": [
715
+ "dist",
716
+ "commands",
717
+ "config",
718
+ "list.js"
719
+ ]
720
+ },
721
+ "config:set": {
722
+ "aliases": [],
723
+ "args": {
724
+ "key": {
725
+ "description": "Config key (default-team-id, default-team-key)",
726
+ "name": "key",
727
+ "required": true
728
+ },
729
+ "value": {
730
+ "description": "Config value",
731
+ "name": "value",
732
+ "required": true
733
+ }
734
+ },
735
+ "description": "Set a configuration value",
736
+ "examples": [
737
+ "<%= config.bin %> config set default-team-id d1ad1a80-9267-4ebc-979a-eaf885898a2c",
738
+ "<%= config.bin %> config set default-team-key MITO"
739
+ ],
740
+ "flags": {},
741
+ "hasDynamicHelp": false,
742
+ "hiddenAliases": [],
743
+ "id": "config:set",
744
+ "pluginAlias": "linear-cli-agents",
745
+ "pluginName": "linear-cli-agents",
746
+ "pluginType": "core",
747
+ "strict": true,
748
+ "enableJsonFlag": false,
749
+ "isESM": true,
750
+ "relativePath": [
751
+ "dist",
752
+ "commands",
753
+ "config",
754
+ "set.js"
755
+ ]
756
+ },
757
757
  "labels:create": {
758
758
  "aliases": [],
759
759
  "args": {},
@@ -1699,7 +1699,7 @@
1699
1699
  "update.js"
1700
1700
  ]
1701
1701
  },
1702
- "milestones:create": {
1702
+ "project-updates:create": {
1703
1703
  "aliases": [],
1704
1704
  "args": {
1705
1705
  "projectId": {
@@ -1708,10 +1708,10 @@
1708
1708
  "required": true
1709
1709
  }
1710
1710
  },
1711
- "description": "Create a project milestone",
1711
+ "description": "Create a project update",
1712
1712
  "examples": [
1713
- "<%= config.bin %> milestones create PROJECT_ID --name \"Beta Release\"",
1714
- "<%= config.bin %> milestones create PROJECT_ID --name \"Launch\" --target-date 2024-03-01"
1713
+ "<%= config.bin %> project-updates create PROJECT_ID --body \"Sprint completed successfully\"",
1714
+ "<%= config.bin %> project-updates create PROJECT_ID --body \"Delayed due to dependencies\" --health atRisk"
1715
1715
  ],
1716
1716
  "flags": {
1717
1717
  "format": {
@@ -1728,34 +1728,33 @@
1728
1728
  ],
1729
1729
  "type": "option"
1730
1730
  },
1731
- "name": {
1732
- "char": "n",
1733
- "description": "Milestone name",
1734
- "name": "name",
1731
+ "body": {
1732
+ "char": "b",
1733
+ "description": "Update body (supports markdown)",
1734
+ "name": "body",
1735
1735
  "required": true,
1736
1736
  "hasDynamicHelp": false,
1737
1737
  "multiple": false,
1738
1738
  "type": "option"
1739
1739
  },
1740
- "description": {
1741
- "char": "d",
1742
- "description": "Milestone description",
1743
- "name": "description",
1744
- "hasDynamicHelp": false,
1745
- "multiple": false,
1746
- "type": "option"
1747
- },
1748
- "target-date": {
1749
- "description": "Target date (YYYY-MM-DD)",
1750
- "name": "target-date",
1740
+ "health": {
1741
+ "char": "h",
1742
+ "description": "Project health status",
1743
+ "name": "health",
1744
+ "default": "onTrack",
1751
1745
  "hasDynamicHelp": false,
1752
1746
  "multiple": false,
1747
+ "options": [
1748
+ "onTrack",
1749
+ "atRisk",
1750
+ "offTrack"
1751
+ ],
1753
1752
  "type": "option"
1754
1753
  }
1755
1754
  },
1756
1755
  "hasDynamicHelp": false,
1757
1756
  "hiddenAliases": [],
1758
- "id": "milestones:create",
1757
+ "id": "project-updates:create",
1759
1758
  "pluginAlias": "linear-cli-agents",
1760
1759
  "pluginName": "linear-cli-agents",
1761
1760
  "pluginType": "core",
@@ -1765,23 +1764,23 @@
1765
1764
  "relativePath": [
1766
1765
  "dist",
1767
1766
  "commands",
1768
- "milestones",
1767
+ "project-updates",
1769
1768
  "create.js"
1770
1769
  ]
1771
1770
  },
1772
- "milestones:get": {
1771
+ "project-updates:get": {
1773
1772
  "aliases": [],
1774
1773
  "args": {
1775
1774
  "id": {
1776
- "description": "Milestone ID",
1775
+ "description": "Project update ID",
1777
1776
  "name": "id",
1778
1777
  "required": true
1779
1778
  }
1780
1779
  },
1781
- "description": "Get a project milestone by ID",
1780
+ "description": "Get a project update by ID",
1782
1781
  "examples": [
1783
- "<%= config.bin %> milestones get MILESTONE_ID",
1784
- "<%= config.bin %> milestones get MILESTONE_ID --format table"
1782
+ "<%= config.bin %> project-updates get UPDATE_ID",
1783
+ "<%= config.bin %> project-updates get UPDATE_ID --format table"
1785
1784
  ],
1786
1785
  "flags": {
1787
1786
  "format": {
@@ -1801,7 +1800,7 @@
1801
1800
  },
1802
1801
  "hasDynamicHelp": false,
1803
1802
  "hiddenAliases": [],
1804
- "id": "milestones:get",
1803
+ "id": "project-updates:get",
1805
1804
  "pluginAlias": "linear-cli-agents",
1806
1805
  "pluginName": "linear-cli-agents",
1807
1806
  "pluginType": "core",
@@ -1811,11 +1810,11 @@
1811
1810
  "relativePath": [
1812
1811
  "dist",
1813
1812
  "commands",
1814
- "milestones",
1813
+ "project-updates",
1815
1814
  "get.js"
1816
1815
  ]
1817
1816
  },
1818
- "milestones:list": {
1817
+ "project-updates:list": {
1819
1818
  "aliases": [],
1820
1819
  "args": {
1821
1820
  "projectId": {
@@ -1824,10 +1823,10 @@
1824
1823
  "required": true
1825
1824
  }
1826
1825
  },
1827
- "description": "List project milestones",
1826
+ "description": "List project updates",
1828
1827
  "examples": [
1829
- "<%= config.bin %> milestones list PROJECT_ID",
1830
- "<%= config.bin %> milestones list PROJECT_ID --format table"
1828
+ "<%= config.bin %> project-updates list PROJECT_ID",
1829
+ "<%= config.bin %> project-updates list PROJECT_ID --format table"
1831
1830
  ],
1832
1831
  "flags": {
1833
1832
  "format": {
@@ -1845,9 +1844,9 @@
1845
1844
  "type": "option"
1846
1845
  },
1847
1846
  "first": {
1848
- "description": "Number of milestones to fetch (default: 50)",
1847
+ "description": "Number of updates to fetch (default: 20)",
1849
1848
  "name": "first",
1850
- "default": 50,
1849
+ "default": 20,
1851
1850
  "hasDynamicHelp": false,
1852
1851
  "multiple": false,
1853
1852
  "type": "option"
@@ -1862,7 +1861,7 @@
1862
1861
  },
1863
1862
  "hasDynamicHelp": false,
1864
1863
  "hiddenAliases": [],
1865
- "id": "milestones:list",
1864
+ "id": "project-updates:list",
1866
1865
  "pluginAlias": "linear-cli-agents",
1867
1866
  "pluginName": "linear-cli-agents",
1868
1867
  "pluginType": "core",
@@ -1872,23 +1871,23 @@
1872
1871
  "relativePath": [
1873
1872
  "dist",
1874
1873
  "commands",
1875
- "milestones",
1874
+ "project-updates",
1876
1875
  "list.js"
1877
1876
  ]
1878
1877
  },
1879
- "milestones:update": {
1878
+ "project-updates:update": {
1880
1879
  "aliases": [],
1881
1880
  "args": {
1882
1881
  "id": {
1883
- "description": "Milestone ID",
1882
+ "description": "Project update ID",
1884
1883
  "name": "id",
1885
1884
  "required": true
1886
1885
  }
1887
1886
  },
1888
- "description": "Update a project milestone",
1887
+ "description": "Update a project update",
1889
1888
  "examples": [
1890
- "<%= config.bin %> milestones update MILESTONE_ID --name \"Updated Name\"",
1891
- "<%= config.bin %> milestones update MILESTONE_ID --target-date 2024-06-01"
1889
+ "<%= config.bin %> project-updates update UPDATE_ID --body \"Updated status\"",
1890
+ "<%= config.bin %> project-updates update UPDATE_ID --health offTrack"
1892
1891
  ],
1893
1892
  "flags": {
1894
1893
  "format": {
@@ -1905,33 +1904,31 @@
1905
1904
  ],
1906
1905
  "type": "option"
1907
1906
  },
1908
- "name": {
1909
- "char": "n",
1910
- "description": "Milestone name",
1911
- "name": "name",
1912
- "hasDynamicHelp": false,
1913
- "multiple": false,
1914
- "type": "option"
1915
- },
1916
- "description": {
1917
- "char": "d",
1918
- "description": "Milestone description",
1919
- "name": "description",
1907
+ "body": {
1908
+ "char": "b",
1909
+ "description": "Update body (supports markdown)",
1910
+ "name": "body",
1920
1911
  "hasDynamicHelp": false,
1921
1912
  "multiple": false,
1922
1913
  "type": "option"
1923
1914
  },
1924
- "target-date": {
1925
- "description": "Target date (YYYY-MM-DD)",
1926
- "name": "target-date",
1915
+ "health": {
1916
+ "char": "h",
1917
+ "description": "Project health status",
1918
+ "name": "health",
1927
1919
  "hasDynamicHelp": false,
1928
1920
  "multiple": false,
1921
+ "options": [
1922
+ "onTrack",
1923
+ "atRisk",
1924
+ "offTrack"
1925
+ ],
1929
1926
  "type": "option"
1930
1927
  }
1931
1928
  },
1932
1929
  "hasDynamicHelp": false,
1933
1930
  "hiddenAliases": [],
1934
- "id": "milestones:update",
1931
+ "id": "project-updates:update",
1935
1932
  "pluginAlias": "linear-cli-agents",
1936
1933
  "pluginName": "linear-cli-agents",
1937
1934
  "pluginType": "core",
@@ -1941,11 +1938,11 @@
1941
1938
  "relativePath": [
1942
1939
  "dist",
1943
1940
  "commands",
1944
- "milestones",
1941
+ "project-updates",
1945
1942
  "update.js"
1946
1943
  ]
1947
1944
  },
1948
- "project-updates:create": {
1945
+ "milestones:create": {
1949
1946
  "aliases": [],
1950
1947
  "args": {
1951
1948
  "projectId": {
@@ -1954,10 +1951,10 @@
1954
1951
  "required": true
1955
1952
  }
1956
1953
  },
1957
- "description": "Create a project update",
1954
+ "description": "Create a project milestone",
1958
1955
  "examples": [
1959
- "<%= config.bin %> project-updates create PROJECT_ID --body \"Sprint completed successfully\"",
1960
- "<%= config.bin %> project-updates create PROJECT_ID --body \"Delayed due to dependencies\" --health atRisk"
1956
+ "<%= config.bin %> milestones create PROJECT_ID --name \"Beta Release\"",
1957
+ "<%= config.bin %> milestones create PROJECT_ID --name \"Launch\" --target-date 2024-03-01"
1961
1958
  ],
1962
1959
  "flags": {
1963
1960
  "format": {
@@ -1974,33 +1971,34 @@
1974
1971
  ],
1975
1972
  "type": "option"
1976
1973
  },
1977
- "body": {
1978
- "char": "b",
1979
- "description": "Update body (supports markdown)",
1980
- "name": "body",
1974
+ "name": {
1975
+ "char": "n",
1976
+ "description": "Milestone name",
1977
+ "name": "name",
1981
1978
  "required": true,
1982
1979
  "hasDynamicHelp": false,
1983
1980
  "multiple": false,
1984
1981
  "type": "option"
1985
1982
  },
1986
- "health": {
1987
- "char": "h",
1988
- "description": "Project health status",
1989
- "name": "health",
1990
- "default": "onTrack",
1983
+ "description": {
1984
+ "char": "d",
1985
+ "description": "Milestone description",
1986
+ "name": "description",
1987
+ "hasDynamicHelp": false,
1988
+ "multiple": false,
1989
+ "type": "option"
1990
+ },
1991
+ "target-date": {
1992
+ "description": "Target date (YYYY-MM-DD)",
1993
+ "name": "target-date",
1991
1994
  "hasDynamicHelp": false,
1992
1995
  "multiple": false,
1993
- "options": [
1994
- "onTrack",
1995
- "atRisk",
1996
- "offTrack"
1997
- ],
1998
1996
  "type": "option"
1999
1997
  }
2000
1998
  },
2001
1999
  "hasDynamicHelp": false,
2002
2000
  "hiddenAliases": [],
2003
- "id": "project-updates:create",
2001
+ "id": "milestones:create",
2004
2002
  "pluginAlias": "linear-cli-agents",
2005
2003
  "pluginName": "linear-cli-agents",
2006
2004
  "pluginType": "core",
@@ -2010,23 +2008,23 @@
2010
2008
  "relativePath": [
2011
2009
  "dist",
2012
2010
  "commands",
2013
- "project-updates",
2011
+ "milestones",
2014
2012
  "create.js"
2015
2013
  ]
2016
2014
  },
2017
- "project-updates:get": {
2015
+ "milestones:get": {
2018
2016
  "aliases": [],
2019
2017
  "args": {
2020
2018
  "id": {
2021
- "description": "Project update ID",
2019
+ "description": "Milestone ID",
2022
2020
  "name": "id",
2023
2021
  "required": true
2024
2022
  }
2025
2023
  },
2026
- "description": "Get a project update by ID",
2024
+ "description": "Get a project milestone by ID",
2027
2025
  "examples": [
2028
- "<%= config.bin %> project-updates get UPDATE_ID",
2029
- "<%= config.bin %> project-updates get UPDATE_ID --format table"
2026
+ "<%= config.bin %> milestones get MILESTONE_ID",
2027
+ "<%= config.bin %> milestones get MILESTONE_ID --format table"
2030
2028
  ],
2031
2029
  "flags": {
2032
2030
  "format": {
@@ -2046,7 +2044,7 @@
2046
2044
  },
2047
2045
  "hasDynamicHelp": false,
2048
2046
  "hiddenAliases": [],
2049
- "id": "project-updates:get",
2047
+ "id": "milestones:get",
2050
2048
  "pluginAlias": "linear-cli-agents",
2051
2049
  "pluginName": "linear-cli-agents",
2052
2050
  "pluginType": "core",
@@ -2056,11 +2054,11 @@
2056
2054
  "relativePath": [
2057
2055
  "dist",
2058
2056
  "commands",
2059
- "project-updates",
2057
+ "milestones",
2060
2058
  "get.js"
2061
2059
  ]
2062
2060
  },
2063
- "project-updates:list": {
2061
+ "milestones:list": {
2064
2062
  "aliases": [],
2065
2063
  "args": {
2066
2064
  "projectId": {
@@ -2069,10 +2067,10 @@
2069
2067
  "required": true
2070
2068
  }
2071
2069
  },
2072
- "description": "List project updates",
2070
+ "description": "List project milestones",
2073
2071
  "examples": [
2074
- "<%= config.bin %> project-updates list PROJECT_ID",
2075
- "<%= config.bin %> project-updates list PROJECT_ID --format table"
2072
+ "<%= config.bin %> milestones list PROJECT_ID",
2073
+ "<%= config.bin %> milestones list PROJECT_ID --format table"
2076
2074
  ],
2077
2075
  "flags": {
2078
2076
  "format": {
@@ -2090,9 +2088,9 @@
2090
2088
  "type": "option"
2091
2089
  },
2092
2090
  "first": {
2093
- "description": "Number of updates to fetch (default: 20)",
2091
+ "description": "Number of milestones to fetch (default: 50)",
2094
2092
  "name": "first",
2095
- "default": 20,
2093
+ "default": 50,
2096
2094
  "hasDynamicHelp": false,
2097
2095
  "multiple": false,
2098
2096
  "type": "option"
@@ -2107,7 +2105,7 @@
2107
2105
  },
2108
2106
  "hasDynamicHelp": false,
2109
2107
  "hiddenAliases": [],
2110
- "id": "project-updates:list",
2108
+ "id": "milestones:list",
2111
2109
  "pluginAlias": "linear-cli-agents",
2112
2110
  "pluginName": "linear-cli-agents",
2113
2111
  "pluginType": "core",
@@ -2117,23 +2115,23 @@
2117
2115
  "relativePath": [
2118
2116
  "dist",
2119
2117
  "commands",
2120
- "project-updates",
2118
+ "milestones",
2121
2119
  "list.js"
2122
2120
  ]
2123
2121
  },
2124
- "project-updates:update": {
2122
+ "milestones:update": {
2125
2123
  "aliases": [],
2126
2124
  "args": {
2127
2125
  "id": {
2128
- "description": "Project update ID",
2126
+ "description": "Milestone ID",
2129
2127
  "name": "id",
2130
2128
  "required": true
2131
2129
  }
2132
2130
  },
2133
- "description": "Update a project update",
2131
+ "description": "Update a project milestone",
2134
2132
  "examples": [
2135
- "<%= config.bin %> project-updates update UPDATE_ID --body \"Updated status\"",
2136
- "<%= config.bin %> project-updates update UPDATE_ID --health offTrack"
2133
+ "<%= config.bin %> milestones update MILESTONE_ID --name \"Updated Name\"",
2134
+ "<%= config.bin %> milestones update MILESTONE_ID --target-date 2024-06-01"
2137
2135
  ],
2138
2136
  "flags": {
2139
2137
  "format": {
@@ -2150,31 +2148,33 @@
2150
2148
  ],
2151
2149
  "type": "option"
2152
2150
  },
2153
- "body": {
2154
- "char": "b",
2155
- "description": "Update body (supports markdown)",
2156
- "name": "body",
2151
+ "name": {
2152
+ "char": "n",
2153
+ "description": "Milestone name",
2154
+ "name": "name",
2157
2155
  "hasDynamicHelp": false,
2158
2156
  "multiple": false,
2159
2157
  "type": "option"
2160
2158
  },
2161
- "health": {
2162
- "char": "h",
2163
- "description": "Project health status",
2164
- "name": "health",
2159
+ "description": {
2160
+ "char": "d",
2161
+ "description": "Milestone description",
2162
+ "name": "description",
2163
+ "hasDynamicHelp": false,
2164
+ "multiple": false,
2165
+ "type": "option"
2166
+ },
2167
+ "target-date": {
2168
+ "description": "Target date (YYYY-MM-DD)",
2169
+ "name": "target-date",
2165
2170
  "hasDynamicHelp": false,
2166
2171
  "multiple": false,
2167
- "options": [
2168
- "onTrack",
2169
- "atRisk",
2170
- "offTrack"
2171
- ],
2172
2172
  "type": "option"
2173
2173
  }
2174
2174
  },
2175
2175
  "hasDynamicHelp": false,
2176
2176
  "hiddenAliases": [],
2177
- "id": "project-updates:update",
2177
+ "id": "milestones:update",
2178
2178
  "pluginAlias": "linear-cli-agents",
2179
2179
  "pluginName": "linear-cli-agents",
2180
2180
  "pluginType": "core",
@@ -2184,7 +2184,7 @@
2184
2184
  "relativePath": [
2185
2185
  "dist",
2186
2186
  "commands",
2187
- "project-updates",
2187
+ "milestones",
2188
2188
  "update.js"
2189
2189
  ]
2190
2190
  },
@@ -2762,6 +2762,62 @@
2762
2762
  "update.js"
2763
2763
  ]
2764
2764
  },
2765
+ "teams:list": {
2766
+ "aliases": [],
2767
+ "args": {},
2768
+ "description": "List teams in the workspace",
2769
+ "examples": [
2770
+ "<%= config.bin %> teams list",
2771
+ "<%= config.bin %> teams list --format table",
2772
+ "<%= config.bin %> teams list --first 10"
2773
+ ],
2774
+ "flags": {
2775
+ "format": {
2776
+ "char": "F",
2777
+ "description": "Output format",
2778
+ "name": "format",
2779
+ "default": "json",
2780
+ "hasDynamicHelp": false,
2781
+ "multiple": false,
2782
+ "options": [
2783
+ "json",
2784
+ "table",
2785
+ "plain"
2786
+ ],
2787
+ "type": "option"
2788
+ },
2789
+ "first": {
2790
+ "description": "Number of teams to fetch (default: 50)",
2791
+ "name": "first",
2792
+ "default": 50,
2793
+ "hasDynamicHelp": false,
2794
+ "multiple": false,
2795
+ "type": "option"
2796
+ },
2797
+ "after": {
2798
+ "description": "Cursor for pagination",
2799
+ "name": "after",
2800
+ "hasDynamicHelp": false,
2801
+ "multiple": false,
2802
+ "type": "option"
2803
+ }
2804
+ },
2805
+ "hasDynamicHelp": false,
2806
+ "hiddenAliases": [],
2807
+ "id": "teams:list",
2808
+ "pluginAlias": "linear-cli-agents",
2809
+ "pluginName": "linear-cli-agents",
2810
+ "pluginType": "core",
2811
+ "strict": true,
2812
+ "enableJsonFlag": false,
2813
+ "isESM": true,
2814
+ "relativePath": [
2815
+ "dist",
2816
+ "commands",
2817
+ "teams",
2818
+ "list.js"
2819
+ ]
2820
+ },
2765
2821
  "states:list": {
2766
2822
  "aliases": [],
2767
2823
  "args": {},
@@ -2826,14 +2882,61 @@
2826
2882
  "list.js"
2827
2883
  ]
2828
2884
  },
2829
- "teams:list": {
2885
+ "users:get": {
2886
+ "aliases": [],
2887
+ "args": {
2888
+ "id": {
2889
+ "description": "User ID (use \"me\" for current user)",
2890
+ "name": "id",
2891
+ "required": true
2892
+ }
2893
+ },
2894
+ "description": "Get a single user by ID",
2895
+ "examples": [
2896
+ "<%= config.bin %> users get USER_ID",
2897
+ "<%= config.bin %> users get USER_ID --format table",
2898
+ "<%= config.bin %> users get me"
2899
+ ],
2900
+ "flags": {
2901
+ "format": {
2902
+ "char": "F",
2903
+ "description": "Output format",
2904
+ "name": "format",
2905
+ "default": "json",
2906
+ "hasDynamicHelp": false,
2907
+ "multiple": false,
2908
+ "options": [
2909
+ "json",
2910
+ "table",
2911
+ "plain"
2912
+ ],
2913
+ "type": "option"
2914
+ }
2915
+ },
2916
+ "hasDynamicHelp": false,
2917
+ "hiddenAliases": [],
2918
+ "id": "users:get",
2919
+ "pluginAlias": "linear-cli-agents",
2920
+ "pluginName": "linear-cli-agents",
2921
+ "pluginType": "core",
2922
+ "strict": true,
2923
+ "enableJsonFlag": false,
2924
+ "isESM": true,
2925
+ "relativePath": [
2926
+ "dist",
2927
+ "commands",
2928
+ "users",
2929
+ "get.js"
2930
+ ]
2931
+ },
2932
+ "users:list": {
2830
2933
  "aliases": [],
2831
2934
  "args": {},
2832
- "description": "List teams in the workspace",
2935
+ "description": "List users in the workspace",
2833
2936
  "examples": [
2834
- "<%= config.bin %> teams list",
2835
- "<%= config.bin %> teams list --format table",
2836
- "<%= config.bin %> teams list --first 10"
2937
+ "<%= config.bin %> users list",
2938
+ "<%= config.bin %> users list --format table",
2939
+ "<%= config.bin %> users list --active"
2837
2940
  ],
2838
2941
  "flags": {
2839
2942
  "format": {
@@ -2850,10 +2953,16 @@
2850
2953
  ],
2851
2954
  "type": "option"
2852
2955
  },
2956
+ "active": {
2957
+ "description": "Show only active users",
2958
+ "name": "active",
2959
+ "allowNo": false,
2960
+ "type": "boolean"
2961
+ },
2853
2962
  "first": {
2854
- "description": "Number of teams to fetch (default: 50)",
2963
+ "description": "Number of users to fetch (default: 100)",
2855
2964
  "name": "first",
2856
- "default": 50,
2965
+ "default": 100,
2857
2966
  "hasDynamicHelp": false,
2858
2967
  "multiple": false,
2859
2968
  "type": "option"
@@ -2868,7 +2977,7 @@
2868
2977
  },
2869
2978
  "hasDynamicHelp": false,
2870
2979
  "hiddenAliases": [],
2871
- "id": "teams:list",
2980
+ "id": "users:list",
2872
2981
  "pluginAlias": "linear-cli-agents",
2873
2982
  "pluginName": "linear-cli-agents",
2874
2983
  "pluginType": "core",
@@ -2878,7 +2987,7 @@
2878
2987
  "relativePath": [
2879
2988
  "dist",
2880
2989
  "commands",
2881
- "teams",
2990
+ "users",
2882
2991
  "list.js"
2883
2992
  ]
2884
2993
  },
@@ -3145,116 +3254,7 @@
3145
3254
  "templates",
3146
3255
  "update.js"
3147
3256
  ]
3148
- },
3149
- "users:get": {
3150
- "aliases": [],
3151
- "args": {
3152
- "id": {
3153
- "description": "User ID (use \"me\" for current user)",
3154
- "name": "id",
3155
- "required": true
3156
- }
3157
- },
3158
- "description": "Get a single user by ID",
3159
- "examples": [
3160
- "<%= config.bin %> users get USER_ID",
3161
- "<%= config.bin %> users get USER_ID --format table",
3162
- "<%= config.bin %> users get me"
3163
- ],
3164
- "flags": {
3165
- "format": {
3166
- "char": "F",
3167
- "description": "Output format",
3168
- "name": "format",
3169
- "default": "json",
3170
- "hasDynamicHelp": false,
3171
- "multiple": false,
3172
- "options": [
3173
- "json",
3174
- "table",
3175
- "plain"
3176
- ],
3177
- "type": "option"
3178
- }
3179
- },
3180
- "hasDynamicHelp": false,
3181
- "hiddenAliases": [],
3182
- "id": "users:get",
3183
- "pluginAlias": "linear-cli-agents",
3184
- "pluginName": "linear-cli-agents",
3185
- "pluginType": "core",
3186
- "strict": true,
3187
- "enableJsonFlag": false,
3188
- "isESM": true,
3189
- "relativePath": [
3190
- "dist",
3191
- "commands",
3192
- "users",
3193
- "get.js"
3194
- ]
3195
- },
3196
- "users:list": {
3197
- "aliases": [],
3198
- "args": {},
3199
- "description": "List users in the workspace",
3200
- "examples": [
3201
- "<%= config.bin %> users list",
3202
- "<%= config.bin %> users list --format table",
3203
- "<%= config.bin %> users list --active"
3204
- ],
3205
- "flags": {
3206
- "format": {
3207
- "char": "F",
3208
- "description": "Output format",
3209
- "name": "format",
3210
- "default": "json",
3211
- "hasDynamicHelp": false,
3212
- "multiple": false,
3213
- "options": [
3214
- "json",
3215
- "table",
3216
- "plain"
3217
- ],
3218
- "type": "option"
3219
- },
3220
- "active": {
3221
- "description": "Show only active users",
3222
- "name": "active",
3223
- "allowNo": false,
3224
- "type": "boolean"
3225
- },
3226
- "first": {
3227
- "description": "Number of users to fetch (default: 100)",
3228
- "name": "first",
3229
- "default": 100,
3230
- "hasDynamicHelp": false,
3231
- "multiple": false,
3232
- "type": "option"
3233
- },
3234
- "after": {
3235
- "description": "Cursor for pagination",
3236
- "name": "after",
3237
- "hasDynamicHelp": false,
3238
- "multiple": false,
3239
- "type": "option"
3240
- }
3241
- },
3242
- "hasDynamicHelp": false,
3243
- "hiddenAliases": [],
3244
- "id": "users:list",
3245
- "pluginAlias": "linear-cli-agents",
3246
- "pluginName": "linear-cli-agents",
3247
- "pluginType": "core",
3248
- "strict": true,
3249
- "enableJsonFlag": false,
3250
- "isESM": true,
3251
- "relativePath": [
3252
- "dist",
3253
- "commands",
3254
- "users",
3255
- "list.js"
3256
- ]
3257
3257
  }
3258
3258
  },
3259
- "version": "0.5.0"
3259
+ "version": "0.5.1"
3260
3260
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "linear-cli-agents",
3
- "version": "0.5.0",
3
+ "version": "0.5.1",
4
4
  "description": "CLI for interacting with Linear, designed for LLMs and agents",
5
5
  "author": "Nacho",
6
6
  "bin": {