@shortcut-cli/shortcut-cli 3.8.1 → 5.0.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 +549 -10
- package/build/bin/short-api.js +21 -22
- package/build/bin/short-create.js +58 -38
- package/build/bin/short-custom-field.js +50 -0
- package/build/bin/short-custom-fields.js +29 -0
- package/build/bin/short-doc.js +38 -41
- package/build/bin/short-docs.js +34 -27
- package/build/bin/short-epic.js +147 -36
- package/build/bin/short-epics.js +23 -24
- package/build/bin/short-find.js +4 -5
- package/build/bin/short-install.js +73 -29
- package/build/bin/short-iteration.js +180 -0
- package/build/bin/short-iterations.js +62 -0
- package/build/bin/short-label.js +130 -0
- package/build/bin/short-labels.js +27 -0
- package/build/bin/short-members.js +17 -21
- package/build/bin/short-objective.js +151 -0
- package/build/bin/short-objectives.js +63 -0
- package/build/bin/short-projects.js +17 -21
- package/build/bin/short-search.js +23 -32
- package/build/bin/short-story.js +350 -104
- package/build/bin/short-team.js +78 -0
- package/build/bin/short-teams.js +28 -0
- package/build/bin/short-workflows.js +12 -16
- package/build/bin/short-workspace.js +27 -28
- package/build/bin/short.js +5 -8
- package/build/lib/client.js +7 -9
- package/build/lib/configure.js +20 -29
- package/build/lib/spinner.js +3 -8
- package/build/lib/stories.js +171 -129
- package/build/package.js +3 -16
- package/package.json +67 -67
- package/build/_virtual/rolldown_runtime.js +0 -29
package/README.md
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
[](https://github.com/shortcut-cli/shortcut-cli/blob/main/LICENSE)
|
|
5
5
|
[]()
|
|
6
6
|
|
|
7
|
-
This is a community-driven command line interface for [Shortcut](https://shortcut.com)
|
|
7
|
+
This is a community-driven command line interface for [Shortcut](https://shortcut.com). It covers story search and updates, saved workspaces, and newer workspace resources such as teams, labels, epics, objectives, iterations, docs, projects, and raw API access.
|
|
8
8
|
|
|
9
9
|
## Table of Contents
|
|
10
10
|
|
|
@@ -15,7 +15,12 @@ This is a community-driven command line interface for [Shortcut](https://shortcu
|
|
|
15
15
|
- [Story Creation](#story-creation)
|
|
16
16
|
- [Workspace](#workspace)
|
|
17
17
|
- [Members](#members)
|
|
18
|
+
- [Teams](#teams)
|
|
19
|
+
- [Labels](#labels)
|
|
20
|
+
- [Custom Fields](#custom-fields)
|
|
18
21
|
- [Epics](#epics)
|
|
22
|
+
- [Objectives](#objectives)
|
|
23
|
+
- [Iterations](#iterations)
|
|
19
24
|
- [Docs](#docs)
|
|
20
25
|
- [Workflows](#workflows)
|
|
21
26
|
- [Projects](#projects)
|
|
@@ -30,7 +35,7 @@ This is a community-driven command line interface for [Shortcut](https://shortcu
|
|
|
30
35
|
Install via npm:
|
|
31
36
|
|
|
32
37
|
```sh
|
|
33
|
-
npm install @shortcut-cli/shortcut-cli
|
|
38
|
+
npm install -g @shortcut-cli/shortcut-cli
|
|
34
39
|
short install
|
|
35
40
|
```
|
|
36
41
|
|
|
@@ -83,14 +88,25 @@ short story 3300
|
|
|
83
88
|
|
|
84
89
|
install install and configure API access
|
|
85
90
|
search search stories with optional query
|
|
91
|
+
find [DEPRECATED] search stories with optional query
|
|
86
92
|
members list members
|
|
87
|
-
|
|
93
|
+
teams list teams
|
|
94
|
+
team view a team or list its stories
|
|
95
|
+
labels list labels
|
|
96
|
+
label view stories for a label
|
|
97
|
+
custom-fields list custom fields
|
|
98
|
+
custom-field view a custom field
|
|
99
|
+
story view or manipulate stories
|
|
88
100
|
create create a story
|
|
89
101
|
workflows list workflows and their states
|
|
90
102
|
epics list epics and their states
|
|
103
|
+
iterations list iterations
|
|
104
|
+
iteration view, create, update, or delete an iteration
|
|
105
|
+
objectives list objectives and their states
|
|
106
|
+
objective view, create, or update objectives
|
|
91
107
|
docs list and search docs
|
|
92
108
|
doc view, create, update, or delete a doc
|
|
93
|
-
projects list
|
|
109
|
+
projects list projects and their states
|
|
94
110
|
workspace list stories matching saved workspace query
|
|
95
111
|
api make a request to the Shortcut API
|
|
96
112
|
help [cmd] display help for [cmd]
|
|
@@ -99,7 +115,7 @@ short story 3300
|
|
|
99
115
|
### Search
|
|
100
116
|
|
|
101
117
|
```
|
|
102
|
-
Usage: short
|
|
118
|
+
Usage: short search [options] [SEARCH OPERATORS]
|
|
103
119
|
|
|
104
120
|
Search through Shortcut stories. Arguments (non-flag/options) will
|
|
105
121
|
be passed to Shortcut story search API as search operators. Passing '%self%' as
|
|
@@ -194,6 +210,7 @@ The default sorting for stories found is `state.position:asc,position:asc`, whic
|
|
|
194
210
|
|
|
195
211
|
Options:
|
|
196
212
|
|
|
213
|
+
-a, --archived Update story as archived
|
|
197
214
|
-I, --idonly Print only ID of story results
|
|
198
215
|
-s, --state [id|name] Update workflow state of story
|
|
199
216
|
-e, --estimate [number] Update estimate of story
|
|
@@ -213,12 +230,17 @@ The default sorting for stories found is `state.position:asc,position:asc`, whic
|
|
|
213
230
|
--move-down [n] Move story position downward by n stories
|
|
214
231
|
--move-up [n] Move story position upward by n stories
|
|
215
232
|
-c, --comment [text] Add comment to story
|
|
233
|
+
--deadline [date] Update due date of story (YYYY-MM-DD)
|
|
234
|
+
--external-link [url] Add external link to story, comma-separated
|
|
235
|
+
--follower [id|name] Update followers of story, comma-separated
|
|
216
236
|
-o, --owners [id|name] Update owners of story, comma-separated
|
|
217
237
|
-O, --open Open story in browser
|
|
218
238
|
--oe, --open-epic Open story's epic in browser
|
|
219
239
|
--oi, --open-iteration Open story's iteration in browser
|
|
220
240
|
--op, --open-project Open story's project in browser
|
|
221
241
|
-q, --quiet Print only story output, no loading dialog
|
|
242
|
+
--requester [id|name] Update requester of story
|
|
243
|
+
-T, --team [id|name] Update team/group of story
|
|
222
244
|
-t, --title [text] Update title of story
|
|
223
245
|
--task [text] Create new task on story
|
|
224
246
|
--task-complete [text] Toggle completion of story task matching text
|
|
@@ -226,6 +248,44 @@ The default sorting for stories found is `state.position:asc,position:asc`, whic
|
|
|
226
248
|
-h, --help output usage information
|
|
227
249
|
```
|
|
228
250
|
|
|
251
|
+
History:
|
|
252
|
+
|
|
253
|
+
```sh
|
|
254
|
+
npx short story history 17
|
|
255
|
+
```
|
|
256
|
+
|
|
257
|
+
Comments:
|
|
258
|
+
|
|
259
|
+
```sh
|
|
260
|
+
npx short story comments 17
|
|
261
|
+
```
|
|
262
|
+
|
|
263
|
+
Tasks:
|
|
264
|
+
|
|
265
|
+
```sh
|
|
266
|
+
npx short story tasks 17
|
|
267
|
+
```
|
|
268
|
+
|
|
269
|
+
Sub-tasks:
|
|
270
|
+
|
|
271
|
+
```sh
|
|
272
|
+
npx short story sub-tasks 17
|
|
273
|
+
```
|
|
274
|
+
|
|
275
|
+
Relations:
|
|
276
|
+
|
|
277
|
+
```sh
|
|
278
|
+
npx short story relation add 17 44 --type relates-to
|
|
279
|
+
```
|
|
280
|
+
|
|
281
|
+
Update examples:
|
|
282
|
+
|
|
283
|
+
```sh
|
|
284
|
+
npx short story 17 --deadline 2026-03-31
|
|
285
|
+
npx short story 17 --requester test3969 --follower test3969
|
|
286
|
+
npx short story 17 --external-link "https://example.com/spec"
|
|
287
|
+
```
|
|
288
|
+
|
|
229
289
|
Example output:
|
|
230
290
|
|
|
231
291
|
```
|
|
@@ -264,7 +324,7 @@ Comment: This is a comment
|
|
|
264
324
|
-T, --team [id|name] Set team of story
|
|
265
325
|
-t, --title [text] Set title of story, required
|
|
266
326
|
-s, --state [id|name] Set workflow state of story, required if --project is not set
|
|
267
|
-
-y, --type
|
|
327
|
+
-y, --type <name> Set type of story (feature, bug, chore; default: feature)
|
|
268
328
|
-h, --help output usage information
|
|
269
329
|
--git-branch Checkout git branch from story slug <mention-name>/ch<id>/<type>-<title>
|
|
270
330
|
as required by the Git integration: https://bit.ly/2RKO1FF
|
|
@@ -303,6 +363,158 @@ Comment: This is a comment
|
|
|
303
363
|
-h, --help output usage information
|
|
304
364
|
```
|
|
305
365
|
|
|
366
|
+
### Teams
|
|
367
|
+
|
|
368
|
+
```
|
|
369
|
+
Usage: short teams [options]
|
|
370
|
+
|
|
371
|
+
Display teams available for stories and epics
|
|
372
|
+
|
|
373
|
+
|
|
374
|
+
Options:
|
|
375
|
+
|
|
376
|
+
-a, --archived List teams including archived
|
|
377
|
+
-s, --search [query] List teams with name containing query
|
|
378
|
+
-h, --help output usage information
|
|
379
|
+
```
|
|
380
|
+
|
|
381
|
+
```
|
|
382
|
+
Usage: short team [command] [options]
|
|
383
|
+
|
|
384
|
+
view a team or list its stories
|
|
385
|
+
|
|
386
|
+
|
|
387
|
+
Commands:
|
|
388
|
+
|
|
389
|
+
view <idOrName> view a team by id or name
|
|
390
|
+
stories <idOrName> list stories for a team by id or name
|
|
391
|
+
```
|
|
392
|
+
|
|
393
|
+
View a team:
|
|
394
|
+
|
|
395
|
+
```sh
|
|
396
|
+
npx short team test-team
|
|
397
|
+
```
|
|
398
|
+
|
|
399
|
+
List team stories:
|
|
400
|
+
|
|
401
|
+
```sh
|
|
402
|
+
npx short team stories test-team
|
|
403
|
+
```
|
|
404
|
+
|
|
405
|
+
### Labels
|
|
406
|
+
|
|
407
|
+
```
|
|
408
|
+
Usage: short labels [options]
|
|
409
|
+
|
|
410
|
+
Display labels available for stories and epics
|
|
411
|
+
|
|
412
|
+
|
|
413
|
+
Options:
|
|
414
|
+
|
|
415
|
+
-a, --archived List labels including archived
|
|
416
|
+
-s, --search [query] List labels with name containing query
|
|
417
|
+
-h, --help output usage information
|
|
418
|
+
```
|
|
419
|
+
|
|
420
|
+
```
|
|
421
|
+
Usage: short label [command] [options]
|
|
422
|
+
|
|
423
|
+
create labels or view stories for a label
|
|
424
|
+
|
|
425
|
+
|
|
426
|
+
Commands:
|
|
427
|
+
|
|
428
|
+
create create a new label
|
|
429
|
+
update <idOrName> update an existing label
|
|
430
|
+
epics <idOrName> list epics for a label by id or name
|
|
431
|
+
stories <idOrName> list stories for a label by id or name
|
|
432
|
+
```
|
|
433
|
+
|
|
434
|
+
Create a label:
|
|
435
|
+
|
|
436
|
+
```
|
|
437
|
+
Usage: short label create [options]
|
|
438
|
+
|
|
439
|
+
Options:
|
|
440
|
+
|
|
441
|
+
-n, --name [text] Set name of label, required
|
|
442
|
+
-d, --description [text] Set description of label
|
|
443
|
+
-c, --color [hex] Set label color in hex format like #3366cc
|
|
444
|
+
-I, --idonly Print only ID of label result
|
|
445
|
+
-h, --help output usage information
|
|
446
|
+
```
|
|
447
|
+
|
|
448
|
+
Update a label:
|
|
449
|
+
|
|
450
|
+
```
|
|
451
|
+
Usage: short label update <idOrName> [options]
|
|
452
|
+
|
|
453
|
+
Options:
|
|
454
|
+
|
|
455
|
+
-n, --name [text] Set name of label
|
|
456
|
+
-d, --description [text] Set description of label
|
|
457
|
+
-c, --color [hex] Set label color in hex format like #3366cc
|
|
458
|
+
-a, --archived Archive label
|
|
459
|
+
-h, --help output usage information
|
|
460
|
+
```
|
|
461
|
+
|
|
462
|
+
List stories for a label:
|
|
463
|
+
|
|
464
|
+
```
|
|
465
|
+
Usage: short label stories <idOrName> [options]
|
|
466
|
+
|
|
467
|
+
Options:
|
|
468
|
+
|
|
469
|
+
-d, --detailed Show more details for each story
|
|
470
|
+
-f, --format [template] Format each story output by template
|
|
471
|
+
-h, --help output usage information
|
|
472
|
+
```
|
|
473
|
+
|
|
474
|
+
List epics for a label:
|
|
475
|
+
|
|
476
|
+
```
|
|
477
|
+
Usage: short label epics <idOrName>
|
|
478
|
+
```
|
|
479
|
+
|
|
480
|
+
Example:
|
|
481
|
+
|
|
482
|
+
```sh
|
|
483
|
+
npx short labels --search client
|
|
484
|
+
npx short label create --name "triage-needed" --color "#3366cc"
|
|
485
|
+
npx short label update triage-needed --description "Queue for manual review"
|
|
486
|
+
npx short label epics client_web
|
|
487
|
+
npx short label stories client_web
|
|
488
|
+
```
|
|
489
|
+
|
|
490
|
+
### Custom Fields
|
|
491
|
+
|
|
492
|
+
```
|
|
493
|
+
Usage: short custom-fields [options]
|
|
494
|
+
|
|
495
|
+
Display custom fields available for stories
|
|
496
|
+
|
|
497
|
+
|
|
498
|
+
Options:
|
|
499
|
+
|
|
500
|
+
-d, --disabled List custom fields including disabled
|
|
501
|
+
-s, --search [query] List custom fields with name containing query
|
|
502
|
+
-h, --help output usage information
|
|
503
|
+
```
|
|
504
|
+
|
|
505
|
+
```
|
|
506
|
+
Usage: short custom-field <id> [options]
|
|
507
|
+
|
|
508
|
+
view a custom field by id
|
|
509
|
+
```
|
|
510
|
+
|
|
511
|
+
Example:
|
|
512
|
+
|
|
513
|
+
```sh
|
|
514
|
+
npx short custom-fields --search priority
|
|
515
|
+
npx short custom-field 123e4567-e89b-12d3-a456-426614174000
|
|
516
|
+
```
|
|
517
|
+
|
|
306
518
|
### Epics
|
|
307
519
|
|
|
308
520
|
```
|
|
@@ -318,12 +530,49 @@ Comment: This is a comment
|
|
|
318
530
|
-d, --detailed List more details for each epic
|
|
319
531
|
-f, --format [template] Format epic output by template
|
|
320
532
|
-M, --milestone [ID] List only epics with the given milestone ID
|
|
533
|
+
--objectives [id|name] List epics linked to objective id/name, comma-separated
|
|
321
534
|
-t, --title [query] List epics with name/title containing query
|
|
322
535
|
-s, --started List epics that have been started
|
|
323
536
|
-h, --help output usage information
|
|
324
537
|
```
|
|
325
538
|
|
|
326
|
-
|
|
539
|
+
Example:
|
|
540
|
+
|
|
541
|
+
```sh
|
|
542
|
+
npx short epics --objectives "Our first Tactical Objective"
|
|
543
|
+
```
|
|
544
|
+
|
|
545
|
+
#### Epic Commands
|
|
546
|
+
|
|
547
|
+
```
|
|
548
|
+
Usage: short epic [command] [options]
|
|
549
|
+
|
|
550
|
+
create, view, or update epics
|
|
551
|
+
|
|
552
|
+
|
|
553
|
+
Commands:
|
|
554
|
+
|
|
555
|
+
create create a new epic
|
|
556
|
+
view <id> view an epic by id
|
|
557
|
+
update <id> update an existing epic
|
|
558
|
+
stories <id> list stories in an epic
|
|
559
|
+
comments <id> list comments on an epic
|
|
560
|
+
```
|
|
561
|
+
|
|
562
|
+
You can use `short epic` to create, view, or update a single epic.
|
|
563
|
+
|
|
564
|
+
View an epic:
|
|
565
|
+
|
|
566
|
+
```
|
|
567
|
+
Usage: short epic view <id> [options]
|
|
568
|
+
|
|
569
|
+
Options:
|
|
570
|
+
|
|
571
|
+
-O, --open Open epic in browser
|
|
572
|
+
-h, --help output usage information
|
|
573
|
+
```
|
|
574
|
+
|
|
575
|
+
Create an epic:
|
|
327
576
|
|
|
328
577
|
```
|
|
329
578
|
Usage: short epic create [options]
|
|
@@ -341,11 +590,70 @@ Comment: This is a comment
|
|
|
341
590
|
-o, --owners [id|name] Set owners of epic, comma-separated
|
|
342
591
|
-T, --team [id|name] Set team of epic
|
|
343
592
|
-l, --label [id|name] Set labels of epic, comma-separated
|
|
593
|
+
-M, --milestone [id] Set milestone of epic (deprecated, use objectives)
|
|
594
|
+
--objectives [id|name] Set objectives of epic, comma-separated
|
|
344
595
|
-I, --idonly Print only ID of epic result
|
|
345
596
|
-O, --open Open epic in browser
|
|
346
597
|
-h, --help output usage information
|
|
347
598
|
```
|
|
348
599
|
|
|
600
|
+
Update an epic:
|
|
601
|
+
|
|
602
|
+
```
|
|
603
|
+
Usage: short epic update <id> [options]
|
|
604
|
+
|
|
605
|
+
Options:
|
|
606
|
+
|
|
607
|
+
-n, --name [text] Set name of epic
|
|
608
|
+
-d, --description [text] Set description of epic
|
|
609
|
+
-s, --state [name] Set state of epic (to do, in progress, done)
|
|
610
|
+
--deadline [date] Set deadline for epic (YYYY-MM-DD)
|
|
611
|
+
--planned-start [date] Set planned start date (YYYY-MM-DD)
|
|
612
|
+
-o, --owners [id|name] Set owners of epic, comma-separated
|
|
613
|
+
-T, --team [id|name] Set team of epic
|
|
614
|
+
-l, --label [id|name] Set labels of epic, comma-separated
|
|
615
|
+
-M, --milestone [id] Set milestone of epic (deprecated, use objectives)
|
|
616
|
+
--objectives [id|name] Set objectives of epic, comma-separated
|
|
617
|
+
-a, --archived Archive epic
|
|
618
|
+
-O, --open Open epic in browser
|
|
619
|
+
-h, --help output usage information
|
|
620
|
+
```
|
|
621
|
+
|
|
622
|
+
List stories in an epic:
|
|
623
|
+
|
|
624
|
+
```
|
|
625
|
+
Usage: short epic stories <id> [options]
|
|
626
|
+
|
|
627
|
+
Options:
|
|
628
|
+
|
|
629
|
+
-d, --detailed Show more details for each story
|
|
630
|
+
-f, --format [template] Format each story output by template
|
|
631
|
+
-h, --help output usage information
|
|
632
|
+
```
|
|
633
|
+
|
|
634
|
+
Example:
|
|
635
|
+
|
|
636
|
+
```sh
|
|
637
|
+
npx short epic stories 36
|
|
638
|
+
```
|
|
639
|
+
|
|
640
|
+
List comments on an epic:
|
|
641
|
+
|
|
642
|
+
```
|
|
643
|
+
Usage: short epic comments <id> [options]
|
|
644
|
+
|
|
645
|
+
Options:
|
|
646
|
+
|
|
647
|
+
-d, --detailed Show nested replies for each comment
|
|
648
|
+
-h, --help output usage information
|
|
649
|
+
```
|
|
650
|
+
|
|
651
|
+
Example:
|
|
652
|
+
|
|
653
|
+
```sh
|
|
654
|
+
npx short epic comments 16
|
|
655
|
+
```
|
|
656
|
+
|
|
349
657
|
#### Epic Output Formatting
|
|
350
658
|
|
|
351
659
|
Templating variables:
|
|
@@ -354,6 +662,7 @@ Templating variables:
|
|
|
354
662
|
%id Print ID of epic
|
|
355
663
|
%t Print title/name of epic
|
|
356
664
|
%m Print milestone of epic
|
|
665
|
+
%obj Print linked objectives of epic
|
|
357
666
|
%s Print epic state
|
|
358
667
|
%dl Print epic deadline
|
|
359
668
|
%d Print epic description
|
|
@@ -361,11 +670,220 @@ Templating variables:
|
|
|
361
670
|
%ps Print epic total points started
|
|
362
671
|
%pd Print epic total points done
|
|
363
672
|
%c Print epic total completion percentage
|
|
364
|
-
%
|
|
673
|
+
%ar Print archived status of epic
|
|
365
674
|
%st Print started status of epic
|
|
366
675
|
%co Print completed status of epic
|
|
367
676
|
```
|
|
368
677
|
|
|
678
|
+
### Objectives
|
|
679
|
+
|
|
680
|
+
```
|
|
681
|
+
Usage: short objectives [options] [SEARCH OPERATORS]
|
|
682
|
+
|
|
683
|
+
List and search Shortcut objectives. By default, lists all objectives.
|
|
684
|
+
Passing search operators will use the Shortcut objective search API and
|
|
685
|
+
page through all results.
|
|
686
|
+
|
|
687
|
+
|
|
688
|
+
Options:
|
|
689
|
+
|
|
690
|
+
-a, --archived List only objectives including archived
|
|
691
|
+
-c, --completed List only objectives that have been completed
|
|
692
|
+
-d, --detailed List more details for each objective
|
|
693
|
+
-f, --format [template] Format each objective output by template
|
|
694
|
+
-s, --started List objectives that have been started
|
|
695
|
+
-S, --state [state] Filter objectives by state
|
|
696
|
+
-t, --title [query] Filter objectives with name/title containing query
|
|
697
|
+
-h, --help output usage information
|
|
698
|
+
```
|
|
699
|
+
|
|
700
|
+
#### Objective Commands
|
|
701
|
+
|
|
702
|
+
```
|
|
703
|
+
Usage: short objective [command] [options]
|
|
704
|
+
|
|
705
|
+
view, create, or update objectives
|
|
706
|
+
|
|
707
|
+
|
|
708
|
+
Commands:
|
|
709
|
+
|
|
710
|
+
view <id> view an objective by id
|
|
711
|
+
create create a new objective
|
|
712
|
+
update <id> update an existing objective
|
|
713
|
+
epics <id> list epics in an objective
|
|
714
|
+
```
|
|
715
|
+
|
|
716
|
+
You can use `short objective` to view, create, or update a single objective.
|
|
717
|
+
|
|
718
|
+
View an objective:
|
|
719
|
+
|
|
720
|
+
```
|
|
721
|
+
Usage: short objective view <id> [options]
|
|
722
|
+
|
|
723
|
+
Options:
|
|
724
|
+
|
|
725
|
+
-O, --open Open objective in browser
|
|
726
|
+
-h, --help output usage information
|
|
727
|
+
```
|
|
728
|
+
|
|
729
|
+
You can also view an objective directly by ID: `short objective <id>`
|
|
730
|
+
|
|
731
|
+
Create an objective:
|
|
732
|
+
|
|
733
|
+
```
|
|
734
|
+
Usage: short objective create [options]
|
|
735
|
+
|
|
736
|
+
Options:
|
|
737
|
+
|
|
738
|
+
-n, --name [text] Set name of objective, required
|
|
739
|
+
-d, --description [text] Set description of objective
|
|
740
|
+
-s, --state [name] Set state of objective (to do, in progress, done)
|
|
741
|
+
--started-at [date] Set started override (ISO date or YYYY-MM-DD)
|
|
742
|
+
--completed-at [date] Set completed override (ISO date or YYYY-MM-DD)
|
|
743
|
+
-I, --idonly Print only ID of objective result
|
|
744
|
+
-O, --open Open objective in browser
|
|
745
|
+
-h, --help output usage information
|
|
746
|
+
```
|
|
747
|
+
|
|
748
|
+
Update an objective:
|
|
749
|
+
|
|
750
|
+
```
|
|
751
|
+
Usage: short objective update <id> [options]
|
|
752
|
+
|
|
753
|
+
Options:
|
|
754
|
+
|
|
755
|
+
-n, --name [text] Set name of objective
|
|
756
|
+
-d, --description [text] Set description of objective
|
|
757
|
+
-s, --state [name] Set state of objective (to do, in progress, done)
|
|
758
|
+
--started-at [date] Set started override (ISO date or YYYY-MM-DD)
|
|
759
|
+
--completed-at [date] Set completed override (ISO date or YYYY-MM-DD)
|
|
760
|
+
-a, --archived Archive objective
|
|
761
|
+
-O, --open Open objective in browser
|
|
762
|
+
-h, --help output usage information
|
|
763
|
+
```
|
|
764
|
+
|
|
765
|
+
List epics in an objective:
|
|
766
|
+
|
|
767
|
+
```
|
|
768
|
+
Usage: short objective epics <id>
|
|
769
|
+
```
|
|
770
|
+
|
|
771
|
+
### Iterations
|
|
772
|
+
|
|
773
|
+
```
|
|
774
|
+
Usage: short iterations [options]
|
|
775
|
+
|
|
776
|
+
Display iterations available for stories
|
|
777
|
+
|
|
778
|
+
|
|
779
|
+
Options:
|
|
780
|
+
|
|
781
|
+
-S, --status [status] Filter by status (unstarted, started, done)
|
|
782
|
+
-T, --team [id|name] Filter by team/group id or name
|
|
783
|
+
-C, --current Show only current/active iterations
|
|
784
|
+
-t, --title [query] Filter iterations with name containing query
|
|
785
|
+
-d, --detailed Show more details for each iteration
|
|
786
|
+
-f, --format [template] Format each iteration output by template
|
|
787
|
+
-h, --help output usage information
|
|
788
|
+
```
|
|
789
|
+
|
|
790
|
+
#### Iteration View, Create, Update, Delete
|
|
791
|
+
|
|
792
|
+
```
|
|
793
|
+
Usage: short iteration [command] [options]
|
|
794
|
+
|
|
795
|
+
view, create, update, or delete iterations
|
|
796
|
+
|
|
797
|
+
|
|
798
|
+
Commands:
|
|
799
|
+
|
|
800
|
+
view <id> view an iteration by id
|
|
801
|
+
create create a new iteration
|
|
802
|
+
update <id> update an existing iteration
|
|
803
|
+
delete <id> delete an iteration
|
|
804
|
+
stories <id> list stories in an iteration
|
|
805
|
+
```
|
|
806
|
+
|
|
807
|
+
View an iteration:
|
|
808
|
+
|
|
809
|
+
```
|
|
810
|
+
Usage: short iteration view <id> [options]
|
|
811
|
+
|
|
812
|
+
Options:
|
|
813
|
+
|
|
814
|
+
-O, --open Open iteration in browser
|
|
815
|
+
-h, --help output usage information
|
|
816
|
+
```
|
|
817
|
+
|
|
818
|
+
Create an iteration:
|
|
819
|
+
|
|
820
|
+
```
|
|
821
|
+
Usage: short iteration create [options]
|
|
822
|
+
|
|
823
|
+
Options:
|
|
824
|
+
|
|
825
|
+
-n, --name [text] Set name of iteration (required)
|
|
826
|
+
-d, --description [text] Set description of iteration
|
|
827
|
+
--start-date [date] Set start date (YYYY-MM-DD, required)
|
|
828
|
+
--end-date [date] Set end date (YYYY-MM-DD, required)
|
|
829
|
+
-T, --team [id|name] Set team/group of iteration
|
|
830
|
+
-I, --idonly Print only ID of iteration result
|
|
831
|
+
-O, --open Open iteration in browser
|
|
832
|
+
-h, --help output usage information
|
|
833
|
+
```
|
|
834
|
+
|
|
835
|
+
Update an iteration:
|
|
836
|
+
|
|
837
|
+
```
|
|
838
|
+
Usage: short iteration update <id> [options]
|
|
839
|
+
|
|
840
|
+
Options:
|
|
841
|
+
|
|
842
|
+
-n, --name [text] Set name of iteration
|
|
843
|
+
-d, --description [text] Set description of iteration
|
|
844
|
+
--start-date [date] Set start date (YYYY-MM-DD)
|
|
845
|
+
--end-date [date] Set end date (YYYY-MM-DD)
|
|
846
|
+
-T, --team [id|name] Set team/group of iteration
|
|
847
|
+
-O, --open Open iteration in browser
|
|
848
|
+
-h, --help output usage information
|
|
849
|
+
```
|
|
850
|
+
|
|
851
|
+
Delete an iteration:
|
|
852
|
+
|
|
853
|
+
```
|
|
854
|
+
Usage: short iteration delete <id>
|
|
855
|
+
```
|
|
856
|
+
|
|
857
|
+
List stories in an iteration:
|
|
858
|
+
|
|
859
|
+
```
|
|
860
|
+
Usage: short iteration stories <id> [options]
|
|
861
|
+
|
|
862
|
+
Options:
|
|
863
|
+
|
|
864
|
+
-f, --format [template] Format each story output by template
|
|
865
|
+
-h, --help output usage information
|
|
866
|
+
```
|
|
867
|
+
|
|
868
|
+
#### Iteration Output Formatting
|
|
869
|
+
|
|
870
|
+
Templating variables:
|
|
871
|
+
|
|
872
|
+
```
|
|
873
|
+
%id Print ID of iteration
|
|
874
|
+
%t Print title/name of iteration
|
|
875
|
+
%s Print iteration status
|
|
876
|
+
%start Print iteration start date
|
|
877
|
+
%end Print iteration end date
|
|
878
|
+
%teams Print teams assigned to iteration
|
|
879
|
+
%stories Print total number of stories
|
|
880
|
+
%done Print number of completed stories
|
|
881
|
+
%points Print total points
|
|
882
|
+
%pdone Print completed points
|
|
883
|
+
%completion Print completion percentage
|
|
884
|
+
%url Print URL of iteration
|
|
885
|
+
```
|
|
886
|
+
|
|
369
887
|
### Docs
|
|
370
888
|
|
|
371
889
|
```
|
|
@@ -512,16 +1030,37 @@ Delete a doc:
|
|
|
512
1030
|
|
|
513
1031
|
## Development
|
|
514
1032
|
|
|
1033
|
+
Install dependencies first:
|
|
1034
|
+
|
|
1035
|
+
```sh
|
|
1036
|
+
pnpm install
|
|
1037
|
+
```
|
|
1038
|
+
|
|
1039
|
+
Build the CLI:
|
|
1040
|
+
|
|
1041
|
+
```sh
|
|
1042
|
+
pnpm run build
|
|
1043
|
+
```
|
|
1044
|
+
|
|
515
1045
|
You can use TypeScript watcher which will recompile your code automatically:
|
|
516
1046
|
|
|
517
1047
|
```sh
|
|
518
|
-
|
|
1048
|
+
pnpm run build:watch
|
|
519
1049
|
```
|
|
520
1050
|
|
|
521
1051
|
You can run shortcut-cli with TypeScript map enabled:
|
|
522
1052
|
|
|
523
1053
|
```sh
|
|
524
|
-
|
|
1054
|
+
pnpm start -- story 1234
|
|
1055
|
+
```
|
|
1056
|
+
|
|
1057
|
+
Run the main checks:
|
|
1058
|
+
|
|
1059
|
+
```sh
|
|
1060
|
+
pnpm test
|
|
1061
|
+
pnpm run test:format
|
|
1062
|
+
pnpm run type-check
|
|
1063
|
+
pnpm run lint
|
|
525
1064
|
```
|
|
526
1065
|
|
|
527
1066
|
## Acknowledgments
|