centy 0.0.25 → 0.0.27
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/dist/commands/close/issue.d.ts +16 -0
- package/dist/commands/close/issue.d.ts.map +1 -0
- package/dist/commands/close/issue.js +54 -0
- package/dist/commands/close/issue.js.map +1 -0
- package/dist/commands/close/org-issue.d.ts +17 -0
- package/dist/commands/close/org-issue.d.ts.map +1 -0
- package/dist/commands/close/org-issue.js +69 -0
- package/dist/commands/close/org-issue.js.map +1 -0
- package/dist/commands/close.d.ts +22 -0
- package/dist/commands/close.d.ts.map +1 -0
- package/dist/commands/close.js +198 -0
- package/dist/commands/close.js.map +1 -0
- package/dist/commands/create/issue.d.ts +1 -0
- package/dist/commands/create/issue.d.ts.map +1 -1
- package/dist/commands/create/issue.js +6 -0
- package/dist/commands/create/issue.js.map +1 -1
- package/dist/commands/duplicate/doc.d.ts +19 -0
- package/dist/commands/duplicate/doc.d.ts.map +1 -0
- package/dist/commands/duplicate/doc.js +87 -0
- package/dist/commands/duplicate/doc.js.map +1 -0
- package/dist/commands/duplicate/issue.d.ts +18 -0
- package/dist/commands/duplicate/issue.d.ts.map +1 -0
- package/dist/commands/duplicate/issue.js +82 -0
- package/dist/commands/duplicate/issue.js.map +1 -0
- package/dist/commands/get/issue.d.ts +1 -0
- package/dist/commands/get/issue.d.ts.map +1 -1
- package/dist/commands/get/issue.js +38 -1
- package/dist/commands/get/issue.js.map +1 -1
- package/dist/commands/list/issues.d.ts +1 -0
- package/dist/commands/list/issues.d.ts.map +1 -1
- package/dist/commands/list/issues.js +9 -1
- package/dist/commands/list/issues.js.map +1 -1
- package/dist/commands/move/doc.d.ts +18 -0
- package/dist/commands/move/doc.d.ts.map +1 -0
- package/dist/commands/move/doc.js +82 -0
- package/dist/commands/move/doc.js.map +1 -0
- package/dist/commands/move/issue.d.ts +17 -0
- package/dist/commands/move/issue.d.ts.map +1 -0
- package/dist/commands/move/issue.js +74 -0
- package/dist/commands/move/issue.js.map +1 -0
- package/dist/commands/update/issue.d.ts +1 -0
- package/dist/commands/update/issue.d.ts.map +1 -1
- package/dist/commands/update/issue.js +7 -1
- package/dist/commands/update/issue.js.map +1 -1
- package/dist/daemon/daemon-duplicate-doc.d.ts +6 -0
- package/dist/daemon/daemon-duplicate-doc.d.ts.map +1 -0
- package/dist/daemon/daemon-duplicate-doc.js +17 -0
- package/dist/daemon/daemon-duplicate-doc.js.map +1 -0
- package/dist/daemon/daemon-duplicate-issue.d.ts +6 -0
- package/dist/daemon/daemon-duplicate-issue.d.ts.map +1 -0
- package/dist/daemon/daemon-duplicate-issue.js +17 -0
- package/dist/daemon/daemon-duplicate-issue.js.map +1 -0
- package/dist/daemon/daemon-move-doc.d.ts +6 -0
- package/dist/daemon/daemon-move-doc.d.ts.map +1 -0
- package/dist/daemon/daemon-move-doc.js +17 -0
- package/dist/daemon/daemon-move-doc.js.map +1 -0
- package/dist/daemon/daemon-move-issue.d.ts +6 -0
- package/dist/daemon/daemon-move-issue.d.ts.map +1 -0
- package/dist/daemon/daemon-move-issue.js +17 -0
- package/dist/daemon/daemon-move-issue.js.map +1 -0
- package/dist/daemon/daemon-spawn-agent.d.ts +6 -0
- package/dist/daemon/daemon-spawn-agent.d.ts.map +1 -0
- package/dist/daemon/daemon-spawn-agent.js +17 -0
- package/dist/daemon/daemon-spawn-agent.js.map +1 -0
- package/dist/daemon/load-proto.d.ts +6 -1
- package/dist/daemon/load-proto.d.ts.map +1 -1
- package/dist/daemon/load-proto.js.map +1 -1
- package/dist/daemon/types.d.ts +73 -0
- package/dist/daemon/types.d.ts.map +1 -1
- package/dist/hooks/postrun.d.ts +4 -0
- package/dist/hooks/postrun.d.ts.map +1 -0
- package/dist/hooks/postrun.js +17 -0
- package/dist/hooks/postrun.js.map +1 -0
- package/dist/lib/create-issue/create-issue.d.ts.map +1 -1
- package/dist/lib/create-issue/create-issue.js +3 -0
- package/dist/lib/create-issue/create-issue.js.map +1 -1
- package/dist/tui/components/domain/DocCreate.d.ts.map +1 -1
- package/dist/tui/components/domain/DocCreate.js +10 -41
- package/dist/tui/components/domain/DocCreate.js.map +1 -1
- package/dist/tui/components/domain/IssueCreate.d.ts.map +1 -1
- package/dist/tui/components/domain/IssueCreate.js +11 -49
- package/dist/tui/components/domain/IssueCreate.js.map +1 -1
- package/dist/tui/components/domain/IssueEdit.d.ts.map +1 -1
- package/dist/tui/components/domain/IssueEdit.js +15 -46
- package/dist/tui/components/domain/IssueEdit.js.map +1 -1
- package/dist/tui/components/domain/PRCreate.d.ts.map +1 -1
- package/dist/tui/components/domain/PRCreate.js +12 -35
- package/dist/tui/components/domain/PRCreate.js.map +1 -1
- package/dist/tui/components/domain/PREdit.d.ts.map +1 -1
- package/dist/tui/components/domain/PREdit.js +17 -39
- package/dist/tui/components/domain/PREdit.js.map +1 -1
- package/dist/tui/components/domain/ProjectCreate.d.ts.map +1 -1
- package/dist/tui/components/domain/ProjectCreate.js +5 -13
- package/dist/tui/components/domain/ProjectCreate.js.map +1 -1
- package/dist/tui/components/form/FormInput.d.ts +12 -0
- package/dist/tui/components/form/FormInput.d.ts.map +1 -0
- package/dist/tui/components/form/FormInput.js +6 -0
- package/dist/tui/components/form/FormInput.js.map +1 -0
- package/dist/tui/components/form/FormTextarea.d.ts +11 -0
- package/dist/tui/components/form/FormTextarea.d.ts.map +1 -0
- package/dist/tui/components/form/FormTextarea.js +13 -0
- package/dist/tui/components/form/FormTextarea.js.map +1 -0
- package/dist/tui/components/form/index.d.ts +3 -0
- package/dist/tui/components/form/index.d.ts.map +1 -0
- package/dist/tui/components/form/index.js +3 -0
- package/dist/tui/components/form/index.js.map +1 -0
- package/dist/tui/hooks/useNavigation.d.ts +1 -0
- package/dist/tui/hooks/useNavigation.d.ts.map +1 -1
- package/dist/tui/hooks/useNavigation.js +4 -0
- package/dist/tui/hooks/useNavigation.js.map +1 -1
- package/dist/tui/state/app-state.d.ts +4 -0
- package/dist/tui/state/app-state.d.ts.map +1 -1
- package/dist/tui/state/app-state.js +7 -0
- package/dist/tui/state/app-state.js.map +1 -1
- package/dist/types/create-issue-options.d.ts +2 -0
- package/dist/types/create-issue-options.d.ts.map +1 -1
- package/dist/utils/is-valid-uuid.js +2 -2
- package/dist/utils/is-valid-uuid.js.map +1 -1
- package/oclif.manifest.json +445 -27
- package/package.json +8 -3
- package/proto/centy.proto +4 -0
package/oclif.manifest.json
CHANGED
|
@@ -1,5 +1,74 @@
|
|
|
1
1
|
{
|
|
2
2
|
"commands": {
|
|
3
|
+
"close": {
|
|
4
|
+
"aliases": [],
|
|
5
|
+
"args": {
|
|
6
|
+
"identifier": {
|
|
7
|
+
"description": "Display number (#N or N) or UUID",
|
|
8
|
+
"name": "identifier",
|
|
9
|
+
"required": true
|
|
10
|
+
}
|
|
11
|
+
},
|
|
12
|
+
"description": "Close an issue, PR, or org-issue by display number",
|
|
13
|
+
"examples": [
|
|
14
|
+
"<%= config.bin %> close 1",
|
|
15
|
+
"<%= config.bin %> close #1",
|
|
16
|
+
"<%= config.bin %> close 1 --type issue",
|
|
17
|
+
"<%= config.bin %> close 1 --type pr",
|
|
18
|
+
"<%= config.bin %> close 1 --org my-org",
|
|
19
|
+
"<%= config.bin %> close 1 --project centy-daemon"
|
|
20
|
+
],
|
|
21
|
+
"flags": {
|
|
22
|
+
"type": {
|
|
23
|
+
"char": "t",
|
|
24
|
+
"description": "Entity type (issue, pr, org-issue)",
|
|
25
|
+
"name": "type",
|
|
26
|
+
"hasDynamicHelp": false,
|
|
27
|
+
"multiple": false,
|
|
28
|
+
"options": [
|
|
29
|
+
"issue",
|
|
30
|
+
"pr",
|
|
31
|
+
"org-issue"
|
|
32
|
+
],
|
|
33
|
+
"type": "option"
|
|
34
|
+
},
|
|
35
|
+
"org": {
|
|
36
|
+
"char": "o",
|
|
37
|
+
"description": "Organization slug (for org-issues)",
|
|
38
|
+
"name": "org",
|
|
39
|
+
"hasDynamicHelp": false,
|
|
40
|
+
"multiple": false,
|
|
41
|
+
"type": "option"
|
|
42
|
+
},
|
|
43
|
+
"project": {
|
|
44
|
+
"description": "Project name or path (defaults to current directory)",
|
|
45
|
+
"name": "project",
|
|
46
|
+
"hasDynamicHelp": false,
|
|
47
|
+
"multiple": false,
|
|
48
|
+
"type": "option"
|
|
49
|
+
},
|
|
50
|
+
"json": {
|
|
51
|
+
"description": "Output as JSON",
|
|
52
|
+
"name": "json",
|
|
53
|
+
"allowNo": false,
|
|
54
|
+
"type": "boolean"
|
|
55
|
+
}
|
|
56
|
+
},
|
|
57
|
+
"hasDynamicHelp": false,
|
|
58
|
+
"hiddenAliases": [],
|
|
59
|
+
"id": "close",
|
|
60
|
+
"pluginAlias": "centy",
|
|
61
|
+
"pluginName": "centy",
|
|
62
|
+
"pluginType": "core",
|
|
63
|
+
"strict": true,
|
|
64
|
+
"enableJsonFlag": false,
|
|
65
|
+
"isESM": true,
|
|
66
|
+
"relativePath": [
|
|
67
|
+
"dist",
|
|
68
|
+
"commands",
|
|
69
|
+
"close.js"
|
|
70
|
+
]
|
|
71
|
+
},
|
|
3
72
|
"compact": {
|
|
4
73
|
"aliases": [],
|
|
5
74
|
"args": {},
|
|
@@ -585,38 +654,81 @@
|
|
|
585
654
|
"issue.js"
|
|
586
655
|
]
|
|
587
656
|
},
|
|
588
|
-
"
|
|
657
|
+
"close:issue": {
|
|
589
658
|
"aliases": [],
|
|
590
|
-
"args": {
|
|
591
|
-
|
|
659
|
+
"args": {
|
|
660
|
+
"id": {
|
|
661
|
+
"description": "Issue ID (UUID) or display number",
|
|
662
|
+
"name": "id",
|
|
663
|
+
"required": true
|
|
664
|
+
}
|
|
665
|
+
},
|
|
666
|
+
"description": "Close an issue",
|
|
592
667
|
"examples": [
|
|
593
|
-
"<%= config.bin %>
|
|
594
|
-
"<%= config.bin %>
|
|
595
|
-
"<%= config.bin %>
|
|
668
|
+
"<%= config.bin %> close issue 1",
|
|
669
|
+
"<%= config.bin %> close issue abc123-uuid",
|
|
670
|
+
"<%= config.bin %> close issue 1 --project centy-daemon"
|
|
596
671
|
],
|
|
597
672
|
"flags": {
|
|
598
|
-
"
|
|
599
|
-
"description": "
|
|
600
|
-
"
|
|
601
|
-
|
|
602
|
-
|
|
603
|
-
"
|
|
604
|
-
|
|
605
|
-
|
|
673
|
+
"project": {
|
|
674
|
+
"description": "Project name or path (defaults to current directory)",
|
|
675
|
+
"name": "project",
|
|
676
|
+
"hasDynamicHelp": false,
|
|
677
|
+
"multiple": false,
|
|
678
|
+
"type": "option"
|
|
679
|
+
}
|
|
680
|
+
},
|
|
681
|
+
"hasDynamicHelp": false,
|
|
682
|
+
"hiddenAliases": [],
|
|
683
|
+
"id": "close:issue",
|
|
684
|
+
"pluginAlias": "centy",
|
|
685
|
+
"pluginName": "centy",
|
|
686
|
+
"pluginType": "core",
|
|
687
|
+
"strict": true,
|
|
688
|
+
"enableJsonFlag": false,
|
|
689
|
+
"isESM": true,
|
|
690
|
+
"relativePath": [
|
|
691
|
+
"dist",
|
|
692
|
+
"commands",
|
|
693
|
+
"close",
|
|
694
|
+
"issue.js"
|
|
695
|
+
]
|
|
696
|
+
},
|
|
697
|
+
"close:org-issue": {
|
|
698
|
+
"aliases": [],
|
|
699
|
+
"args": {
|
|
700
|
+
"identifier": {
|
|
701
|
+
"description": "Issue ID or display number (#N or just N)",
|
|
702
|
+
"name": "identifier",
|
|
703
|
+
"required": true
|
|
704
|
+
}
|
|
705
|
+
},
|
|
706
|
+
"description": "Close an organization-level issue",
|
|
707
|
+
"examples": [
|
|
708
|
+
"<%= config.bin %> close org-issue --org my-org 1",
|
|
709
|
+
"<%= config.bin %> close org-issue --org my-org #1",
|
|
710
|
+
"<%= config.bin %> close org-issue -o centy-io abc123"
|
|
711
|
+
],
|
|
712
|
+
"flags": {
|
|
713
|
+
"org": {
|
|
714
|
+
"char": "o",
|
|
715
|
+
"description": "Organization slug",
|
|
716
|
+
"name": "org",
|
|
717
|
+
"required": true,
|
|
718
|
+
"hasDynamicHelp": false,
|
|
719
|
+
"multiple": false,
|
|
720
|
+
"type": "option"
|
|
606
721
|
},
|
|
607
|
-
"
|
|
608
|
-
"description": "
|
|
609
|
-
"
|
|
610
|
-
"enable"
|
|
611
|
-
],
|
|
612
|
-
"name": "disable",
|
|
722
|
+
"json": {
|
|
723
|
+
"description": "Output as JSON",
|
|
724
|
+
"name": "json",
|
|
613
725
|
"allowNo": false,
|
|
614
726
|
"type": "boolean"
|
|
615
727
|
}
|
|
616
728
|
},
|
|
617
729
|
"hasDynamicHelp": false,
|
|
618
730
|
"hiddenAliases": [],
|
|
619
|
-
"id": "
|
|
731
|
+
"id": "close:org-issue",
|
|
620
732
|
"pluginAlias": "centy",
|
|
621
733
|
"pluginName": "centy",
|
|
622
734
|
"pluginType": "core",
|
|
@@ -626,8 +738,8 @@
|
|
|
626
738
|
"relativePath": [
|
|
627
739
|
"dist",
|
|
628
740
|
"commands",
|
|
629
|
-
"
|
|
630
|
-
"
|
|
741
|
+
"close",
|
|
742
|
+
"org-issue.js"
|
|
631
743
|
]
|
|
632
744
|
},
|
|
633
745
|
"create:doc": {
|
|
@@ -705,7 +817,8 @@
|
|
|
705
817
|
"<%= config.bin %> create issue",
|
|
706
818
|
"<%= config.bin %> create issue --title \"Bug in login\" --priority high",
|
|
707
819
|
"<%= config.bin %> create issue -t \"Add feature\" -d \"Implement dark mode\"",
|
|
708
|
-
"<%= config.bin %> create issue -t \"Add feature\" --project centy-daemon"
|
|
820
|
+
"<%= config.bin %> create issue -t \"Add feature\" --project centy-daemon",
|
|
821
|
+
"<%= config.bin %> create issue --title \"WIP feature\" --draft"
|
|
709
822
|
],
|
|
710
823
|
"flags": {
|
|
711
824
|
"title": {
|
|
@@ -746,6 +859,12 @@
|
|
|
746
859
|
"multiple": false,
|
|
747
860
|
"type": "option"
|
|
748
861
|
},
|
|
862
|
+
"draft": {
|
|
863
|
+
"description": "Create as draft",
|
|
864
|
+
"name": "draft",
|
|
865
|
+
"allowNo": false,
|
|
866
|
+
"type": "boolean"
|
|
867
|
+
},
|
|
749
868
|
"project": {
|
|
750
869
|
"description": "Project name or path (defaults to current directory)",
|
|
751
870
|
"name": "project",
|
|
@@ -1102,6 +1221,51 @@
|
|
|
1102
1221
|
"user.js"
|
|
1103
1222
|
]
|
|
1104
1223
|
},
|
|
1224
|
+
"daemon:autostart": {
|
|
1225
|
+
"aliases": [],
|
|
1226
|
+
"args": {},
|
|
1227
|
+
"description": "Configure daemon to start automatically on boot",
|
|
1228
|
+
"examples": [
|
|
1229
|
+
"<%= config.bin %> daemon autostart",
|
|
1230
|
+
"<%= config.bin %> daemon autostart --enable",
|
|
1231
|
+
"<%= config.bin %> daemon autostart --disable"
|
|
1232
|
+
],
|
|
1233
|
+
"flags": {
|
|
1234
|
+
"enable": {
|
|
1235
|
+
"description": "Enable autostart on boot",
|
|
1236
|
+
"exclusive": [
|
|
1237
|
+
"disable"
|
|
1238
|
+
],
|
|
1239
|
+
"name": "enable",
|
|
1240
|
+
"allowNo": false,
|
|
1241
|
+
"type": "boolean"
|
|
1242
|
+
},
|
|
1243
|
+
"disable": {
|
|
1244
|
+
"description": "Disable autostart on boot",
|
|
1245
|
+
"exclusive": [
|
|
1246
|
+
"enable"
|
|
1247
|
+
],
|
|
1248
|
+
"name": "disable",
|
|
1249
|
+
"allowNo": false,
|
|
1250
|
+
"type": "boolean"
|
|
1251
|
+
}
|
|
1252
|
+
},
|
|
1253
|
+
"hasDynamicHelp": false,
|
|
1254
|
+
"hiddenAliases": [],
|
|
1255
|
+
"id": "daemon:autostart",
|
|
1256
|
+
"pluginAlias": "centy",
|
|
1257
|
+
"pluginName": "centy",
|
|
1258
|
+
"pluginType": "core",
|
|
1259
|
+
"strict": true,
|
|
1260
|
+
"enableJsonFlag": false,
|
|
1261
|
+
"isESM": true,
|
|
1262
|
+
"relativePath": [
|
|
1263
|
+
"dist",
|
|
1264
|
+
"commands",
|
|
1265
|
+
"daemon",
|
|
1266
|
+
"autostart.js"
|
|
1267
|
+
]
|
|
1268
|
+
},
|
|
1105
1269
|
"delete:asset": {
|
|
1106
1270
|
"aliases": [],
|
|
1107
1271
|
"args": {
|
|
@@ -1499,6 +1663,126 @@
|
|
|
1499
1663
|
"user.js"
|
|
1500
1664
|
]
|
|
1501
1665
|
},
|
|
1666
|
+
"duplicate:doc": {
|
|
1667
|
+
"aliases": [],
|
|
1668
|
+
"args": {
|
|
1669
|
+
"slug": {
|
|
1670
|
+
"description": "Doc slug",
|
|
1671
|
+
"name": "slug",
|
|
1672
|
+
"required": true
|
|
1673
|
+
}
|
|
1674
|
+
},
|
|
1675
|
+
"description": "Duplicate a doc (same project or different project)",
|
|
1676
|
+
"examples": [
|
|
1677
|
+
"<%= config.bin %> duplicate doc my-doc",
|
|
1678
|
+
"<%= config.bin %> duplicate doc readme --new-slug readme-v2",
|
|
1679
|
+
"<%= config.bin %> duplicate doc api-guide --to /path/to/other/project",
|
|
1680
|
+
"<%= config.bin %> duplicate doc spec --to ../other --new-slug spec-copy --title \"Spec Copy\""
|
|
1681
|
+
],
|
|
1682
|
+
"flags": {
|
|
1683
|
+
"to": {
|
|
1684
|
+
"char": "t",
|
|
1685
|
+
"description": "Target project path (defaults to same project if not specified)",
|
|
1686
|
+
"name": "to",
|
|
1687
|
+
"hasDynamicHelp": false,
|
|
1688
|
+
"multiple": false,
|
|
1689
|
+
"type": "option"
|
|
1690
|
+
},
|
|
1691
|
+
"new-slug": {
|
|
1692
|
+
"char": "s",
|
|
1693
|
+
"description": "Slug for the duplicate (defaults to \"{slug}-copy\")",
|
|
1694
|
+
"name": "new-slug",
|
|
1695
|
+
"hasDynamicHelp": false,
|
|
1696
|
+
"multiple": false,
|
|
1697
|
+
"type": "option"
|
|
1698
|
+
},
|
|
1699
|
+
"title": {
|
|
1700
|
+
"description": "Title for the duplicate (defaults to \"Copy of {original}\")",
|
|
1701
|
+
"name": "title",
|
|
1702
|
+
"hasDynamicHelp": false,
|
|
1703
|
+
"multiple": false,
|
|
1704
|
+
"type": "option"
|
|
1705
|
+
},
|
|
1706
|
+
"project": {
|
|
1707
|
+
"description": "Project name or path (defaults to current directory)",
|
|
1708
|
+
"name": "project",
|
|
1709
|
+
"hasDynamicHelp": false,
|
|
1710
|
+
"multiple": false,
|
|
1711
|
+
"type": "option"
|
|
1712
|
+
}
|
|
1713
|
+
},
|
|
1714
|
+
"hasDynamicHelp": false,
|
|
1715
|
+
"hiddenAliases": [],
|
|
1716
|
+
"id": "duplicate:doc",
|
|
1717
|
+
"pluginAlias": "centy",
|
|
1718
|
+
"pluginName": "centy",
|
|
1719
|
+
"pluginType": "core",
|
|
1720
|
+
"strict": true,
|
|
1721
|
+
"enableJsonFlag": false,
|
|
1722
|
+
"isESM": true,
|
|
1723
|
+
"relativePath": [
|
|
1724
|
+
"dist",
|
|
1725
|
+
"commands",
|
|
1726
|
+
"duplicate",
|
|
1727
|
+
"doc.js"
|
|
1728
|
+
]
|
|
1729
|
+
},
|
|
1730
|
+
"duplicate:issue": {
|
|
1731
|
+
"aliases": [],
|
|
1732
|
+
"args": {
|
|
1733
|
+
"id": {
|
|
1734
|
+
"description": "Issue ID (UUID) or display number",
|
|
1735
|
+
"name": "id",
|
|
1736
|
+
"required": true
|
|
1737
|
+
}
|
|
1738
|
+
},
|
|
1739
|
+
"description": "Duplicate an issue (same project or different project)",
|
|
1740
|
+
"examples": [
|
|
1741
|
+
"<%= config.bin %> duplicate issue 1",
|
|
1742
|
+
"<%= config.bin %> duplicate issue 1 --title \"New feature branch\"",
|
|
1743
|
+
"<%= config.bin %> duplicate issue abc123-uuid --to /path/to/other/project",
|
|
1744
|
+
"<%= config.bin %> duplicate issue 5 --to ../other --title \"Copy for testing\""
|
|
1745
|
+
],
|
|
1746
|
+
"flags": {
|
|
1747
|
+
"to": {
|
|
1748
|
+
"char": "t",
|
|
1749
|
+
"description": "Target project path (defaults to same project if not specified)",
|
|
1750
|
+
"name": "to",
|
|
1751
|
+
"hasDynamicHelp": false,
|
|
1752
|
+
"multiple": false,
|
|
1753
|
+
"type": "option"
|
|
1754
|
+
},
|
|
1755
|
+
"title": {
|
|
1756
|
+
"description": "Title for the duplicate (defaults to \"Copy of {original}\")",
|
|
1757
|
+
"name": "title",
|
|
1758
|
+
"hasDynamicHelp": false,
|
|
1759
|
+
"multiple": false,
|
|
1760
|
+
"type": "option"
|
|
1761
|
+
},
|
|
1762
|
+
"project": {
|
|
1763
|
+
"description": "Project name or path (defaults to current directory)",
|
|
1764
|
+
"name": "project",
|
|
1765
|
+
"hasDynamicHelp": false,
|
|
1766
|
+
"multiple": false,
|
|
1767
|
+
"type": "option"
|
|
1768
|
+
}
|
|
1769
|
+
},
|
|
1770
|
+
"hasDynamicHelp": false,
|
|
1771
|
+
"hiddenAliases": [],
|
|
1772
|
+
"id": "duplicate:issue",
|
|
1773
|
+
"pluginAlias": "centy",
|
|
1774
|
+
"pluginName": "centy",
|
|
1775
|
+
"pluginType": "core",
|
|
1776
|
+
"strict": true,
|
|
1777
|
+
"enableJsonFlag": false,
|
|
1778
|
+
"isESM": true,
|
|
1779
|
+
"relativePath": [
|
|
1780
|
+
"dist",
|
|
1781
|
+
"commands",
|
|
1782
|
+
"duplicate",
|
|
1783
|
+
"issue.js"
|
|
1784
|
+
]
|
|
1785
|
+
},
|
|
1502
1786
|
"get:asset": {
|
|
1503
1787
|
"aliases": [
|
|
1504
1788
|
"show:asset"
|
|
@@ -1641,7 +1925,9 @@
|
|
|
1641
1925
|
"<%= config.bin %> get issue abc12345-1234-1234-1234-123456789abc --global",
|
|
1642
1926
|
"<%= config.bin %> get issue abc12345-1234-1234-1234-123456789abc -g --json",
|
|
1643
1927
|
"<%= config.bin %> get issue 1 --project centy-daemon",
|
|
1644
|
-
"<%= config.bin %> get issue 1 --project /path/to/project"
|
|
1928
|
+
"<%= config.bin %> get issue 1 --project /path/to/project",
|
|
1929
|
+
"<%= config.bin %> issue 1 --action plan",
|
|
1930
|
+
"<%= config.bin %> issue 1 -a implement"
|
|
1645
1931
|
],
|
|
1646
1932
|
"flags": {
|
|
1647
1933
|
"json": {
|
|
@@ -1663,6 +1949,18 @@
|
|
|
1663
1949
|
"hasDynamicHelp": false,
|
|
1664
1950
|
"multiple": false,
|
|
1665
1951
|
"type": "option"
|
|
1952
|
+
},
|
|
1953
|
+
"action": {
|
|
1954
|
+
"char": "a",
|
|
1955
|
+
"description": "Spawn AI agent with action (plan or implement)",
|
|
1956
|
+
"name": "action",
|
|
1957
|
+
"hasDynamicHelp": false,
|
|
1958
|
+
"multiple": false,
|
|
1959
|
+
"options": [
|
|
1960
|
+
"plan",
|
|
1961
|
+
"implement"
|
|
1962
|
+
],
|
|
1963
|
+
"type": "option"
|
|
1666
1964
|
}
|
|
1667
1965
|
},
|
|
1668
1966
|
"hasDynamicHelp": false,
|
|
@@ -2125,7 +2423,9 @@
|
|
|
2125
2423
|
"<%= config.bin %> list issues",
|
|
2126
2424
|
"<%= config.bin %> list issues --status open",
|
|
2127
2425
|
"<%= config.bin %> list issues --priority 1",
|
|
2128
|
-
"<%= config.bin %> list issues --project centy-daemon"
|
|
2426
|
+
"<%= config.bin %> list issues --project centy-daemon",
|
|
2427
|
+
"<%= config.bin %> list issues --draft",
|
|
2428
|
+
"<%= config.bin %> list issues --no-draft"
|
|
2129
2429
|
],
|
|
2130
2430
|
"flags": {
|
|
2131
2431
|
"status": {
|
|
@@ -2150,6 +2450,12 @@
|
|
|
2150
2450
|
"allowNo": false,
|
|
2151
2451
|
"type": "boolean"
|
|
2152
2452
|
},
|
|
2453
|
+
"draft": {
|
|
2454
|
+
"description": "Filter by draft status (--draft for drafts only, --no-draft for non-drafts)",
|
|
2455
|
+
"name": "draft",
|
|
2456
|
+
"allowNo": true,
|
|
2457
|
+
"type": "boolean"
|
|
2458
|
+
},
|
|
2153
2459
|
"project": {
|
|
2154
2460
|
"description": "Project name or path (defaults to current directory)",
|
|
2155
2461
|
"name": "project",
|
|
@@ -2455,6 +2761,112 @@
|
|
|
2455
2761
|
"users.js"
|
|
2456
2762
|
]
|
|
2457
2763
|
},
|
|
2764
|
+
"move:doc": {
|
|
2765
|
+
"aliases": [],
|
|
2766
|
+
"args": {
|
|
2767
|
+
"slug": {
|
|
2768
|
+
"description": "Doc slug",
|
|
2769
|
+
"name": "slug",
|
|
2770
|
+
"required": true
|
|
2771
|
+
}
|
|
2772
|
+
},
|
|
2773
|
+
"description": "Move a doc to a different project",
|
|
2774
|
+
"examples": [
|
|
2775
|
+
"<%= config.bin %> move doc my-doc --to /path/to/target/project",
|
|
2776
|
+
"<%= config.bin %> move doc readme --to ../other-project --new-slug new-readme",
|
|
2777
|
+
"<%= config.bin %> move doc api-guide --to ~/projects/target --project ./source"
|
|
2778
|
+
],
|
|
2779
|
+
"flags": {
|
|
2780
|
+
"to": {
|
|
2781
|
+
"char": "t",
|
|
2782
|
+
"description": "Target project path",
|
|
2783
|
+
"name": "to",
|
|
2784
|
+
"required": true,
|
|
2785
|
+
"hasDynamicHelp": false,
|
|
2786
|
+
"multiple": false,
|
|
2787
|
+
"type": "option"
|
|
2788
|
+
},
|
|
2789
|
+
"new-slug": {
|
|
2790
|
+
"char": "s",
|
|
2791
|
+
"description": "New slug for the doc (if slug already exists in target)",
|
|
2792
|
+
"name": "new-slug",
|
|
2793
|
+
"hasDynamicHelp": false,
|
|
2794
|
+
"multiple": false,
|
|
2795
|
+
"type": "option"
|
|
2796
|
+
},
|
|
2797
|
+
"project": {
|
|
2798
|
+
"description": "Project name or path (defaults to current directory)",
|
|
2799
|
+
"name": "project",
|
|
2800
|
+
"hasDynamicHelp": false,
|
|
2801
|
+
"multiple": false,
|
|
2802
|
+
"type": "option"
|
|
2803
|
+
}
|
|
2804
|
+
},
|
|
2805
|
+
"hasDynamicHelp": false,
|
|
2806
|
+
"hiddenAliases": [],
|
|
2807
|
+
"id": "move:doc",
|
|
2808
|
+
"pluginAlias": "centy",
|
|
2809
|
+
"pluginName": "centy",
|
|
2810
|
+
"pluginType": "core",
|
|
2811
|
+
"strict": true,
|
|
2812
|
+
"enableJsonFlag": false,
|
|
2813
|
+
"isESM": true,
|
|
2814
|
+
"relativePath": [
|
|
2815
|
+
"dist",
|
|
2816
|
+
"commands",
|
|
2817
|
+
"move",
|
|
2818
|
+
"doc.js"
|
|
2819
|
+
]
|
|
2820
|
+
},
|
|
2821
|
+
"move:issue": {
|
|
2822
|
+
"aliases": [],
|
|
2823
|
+
"args": {
|
|
2824
|
+
"id": {
|
|
2825
|
+
"description": "Issue ID (UUID) or display number",
|
|
2826
|
+
"name": "id",
|
|
2827
|
+
"required": true
|
|
2828
|
+
}
|
|
2829
|
+
},
|
|
2830
|
+
"description": "Move an issue to a different project",
|
|
2831
|
+
"examples": [
|
|
2832
|
+
"<%= config.bin %> move issue 1 --to /path/to/target/project",
|
|
2833
|
+
"<%= config.bin %> move issue abc123-uuid --to ../other-project",
|
|
2834
|
+
"<%= config.bin %> move issue 5 --to ~/projects/target --project ./source"
|
|
2835
|
+
],
|
|
2836
|
+
"flags": {
|
|
2837
|
+
"to": {
|
|
2838
|
+
"char": "t",
|
|
2839
|
+
"description": "Target project path",
|
|
2840
|
+
"name": "to",
|
|
2841
|
+
"required": true,
|
|
2842
|
+
"hasDynamicHelp": false,
|
|
2843
|
+
"multiple": false,
|
|
2844
|
+
"type": "option"
|
|
2845
|
+
},
|
|
2846
|
+
"project": {
|
|
2847
|
+
"description": "Project name or path (defaults to current directory)",
|
|
2848
|
+
"name": "project",
|
|
2849
|
+
"hasDynamicHelp": false,
|
|
2850
|
+
"multiple": false,
|
|
2851
|
+
"type": "option"
|
|
2852
|
+
}
|
|
2853
|
+
},
|
|
2854
|
+
"hasDynamicHelp": false,
|
|
2855
|
+
"hiddenAliases": [],
|
|
2856
|
+
"id": "move:issue",
|
|
2857
|
+
"pluginAlias": "centy",
|
|
2858
|
+
"pluginName": "centy",
|
|
2859
|
+
"pluginType": "core",
|
|
2860
|
+
"strict": true,
|
|
2861
|
+
"enableJsonFlag": false,
|
|
2862
|
+
"isESM": true,
|
|
2863
|
+
"relativePath": [
|
|
2864
|
+
"dist",
|
|
2865
|
+
"commands",
|
|
2866
|
+
"move",
|
|
2867
|
+
"issue.js"
|
|
2868
|
+
]
|
|
2869
|
+
},
|
|
2458
2870
|
"project:archive": {
|
|
2459
2871
|
"aliases": [],
|
|
2460
2872
|
"args": {
|
|
@@ -2945,6 +3357,12 @@
|
|
|
2945
3357
|
"multiple": false,
|
|
2946
3358
|
"type": "option"
|
|
2947
3359
|
},
|
|
3360
|
+
"draft": {
|
|
3361
|
+
"description": "Mark as draft (use --no-draft to unmark)",
|
|
3362
|
+
"name": "draft",
|
|
3363
|
+
"allowNo": true,
|
|
3364
|
+
"type": "boolean"
|
|
3365
|
+
},
|
|
2948
3366
|
"project": {
|
|
2949
3367
|
"description": "Project name or path (defaults to current directory)",
|
|
2950
3368
|
"name": "project",
|
|
@@ -3319,5 +3737,5 @@
|
|
|
3319
3737
|
]
|
|
3320
3738
|
}
|
|
3321
3739
|
},
|
|
3322
|
-
"version": "0.0.
|
|
3740
|
+
"version": "0.0.27"
|
|
3323
3741
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "centy",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.27",
|
|
4
4
|
"description": "CLI for managing project issues and docs via code in the .centy folder",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -44,7 +44,8 @@
|
|
|
44
44
|
"target": "./dist/commands"
|
|
45
45
|
},
|
|
46
46
|
"hooks": {
|
|
47
|
-
"prerun": "./dist/hooks/prerun.js"
|
|
47
|
+
"prerun": "./dist/hooks/prerun.js",
|
|
48
|
+
"postrun": "./dist/hooks/postrun.js"
|
|
48
49
|
},
|
|
49
50
|
"plugins": [
|
|
50
51
|
"@oclif/plugin-help"
|
|
@@ -57,6 +58,8 @@
|
|
|
57
58
|
"@cspell/dict-he": "^4.0.5",
|
|
58
59
|
"@types/node": "^24.10.1",
|
|
59
60
|
"@types/react": "^19.2.7",
|
|
61
|
+
"@types/update-notifier": "^6.0.8",
|
|
62
|
+
"@types/uuid": "^11.0.0",
|
|
60
63
|
"@vitest/coverage-v8": "^4.0.15",
|
|
61
64
|
"bun-types": "^1.3.3",
|
|
62
65
|
"cspell": "^9.4.0",
|
|
@@ -84,7 +87,9 @@
|
|
|
84
87
|
"@opentui/react": "^0.1.56",
|
|
85
88
|
"clipboardy": "^5.0.1",
|
|
86
89
|
"react": "^19.2.1",
|
|
87
|
-
"tar": "^7.5.2"
|
|
90
|
+
"tar": "^7.5.2",
|
|
91
|
+
"update-notifier": "^7.3.1",
|
|
92
|
+
"uuid": "^13.0.0"
|
|
88
93
|
},
|
|
89
94
|
"scripts": {
|
|
90
95
|
"build": "pnpm run build:tsc && pnpm run manifest",
|
package/proto/centy.proto
CHANGED
|
@@ -323,6 +323,7 @@ message CreateIssueRequest {
|
|
|
323
323
|
string status = 5; // default: "open"
|
|
324
324
|
map<string, string> custom_fields = 6;
|
|
325
325
|
string template = 7; // Optional template name (without .md extension)
|
|
326
|
+
bool draft = 8; // Create as draft (default: false)
|
|
326
327
|
}
|
|
327
328
|
|
|
328
329
|
message CreateIssueResponse {
|
|
@@ -381,6 +382,7 @@ message IssueMetadata {
|
|
|
381
382
|
string priority_label = 7; // Human-readable label (e.g., "high", "P1")
|
|
382
383
|
bool compacted = 8; // Whether issue has been compacted into features
|
|
383
384
|
string compacted_at = 9; // ISO timestamp when compacted (empty if not)
|
|
385
|
+
bool draft = 10; // Whether this issue is a draft
|
|
384
386
|
}
|
|
385
387
|
|
|
386
388
|
message GetIssueRequest {
|
|
@@ -419,6 +421,7 @@ message ListIssuesRequest {
|
|
|
419
421
|
// Optional filters
|
|
420
422
|
string status = 2; // Filter by status (empty = all)
|
|
421
423
|
int32 priority = 3; // Filter by priority (0 = all)
|
|
424
|
+
optional bool draft = 4; // Filter by draft status (absent = all, true = drafts only, false = non-drafts only)
|
|
422
425
|
}
|
|
423
426
|
|
|
424
427
|
message ListIssuesResponse {
|
|
@@ -436,6 +439,7 @@ message UpdateIssueRequest {
|
|
|
436
439
|
string status = 5;
|
|
437
440
|
int32 priority = 6; // 0 = don't update, otherwise 1-N
|
|
438
441
|
map<string, string> custom_fields = 7;
|
|
442
|
+
optional bool draft = 8; // Update draft status (absent = don't update)
|
|
439
443
|
}
|
|
440
444
|
|
|
441
445
|
message UpdateIssueResponse {
|