centy 0.0.24 → 0.0.25

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (147) hide show
  1. package/dist/commands/add/plan.d.ts +18 -0
  2. package/dist/commands/add/plan.d.ts.map +1 -0
  3. package/dist/commands/add/plan.js +87 -0
  4. package/dist/commands/add/plan.js.map +1 -0
  5. package/dist/commands/assign/issue.d.ts +19 -0
  6. package/dist/commands/assign/issue.d.ts.map +1 -0
  7. package/dist/commands/assign/issue.js +79 -0
  8. package/dist/commands/assign/issue.js.map +1 -0
  9. package/dist/commands/create/user.d.ts +18 -0
  10. package/dist/commands/create/user.d.ts.map +1 -0
  11. package/dist/commands/create/user.js +85 -0
  12. package/dist/commands/create/user.js.map +1 -0
  13. package/dist/commands/delete/plan.d.ts +17 -0
  14. package/dist/commands/delete/plan.d.ts.map +1 -0
  15. package/dist/commands/delete/plan.js +74 -0
  16. package/dist/commands/delete/plan.js.map +1 -0
  17. package/dist/commands/delete/user.d.ts +17 -0
  18. package/dist/commands/delete/user.d.ts.map +1 -0
  19. package/dist/commands/delete/user.js +73 -0
  20. package/dist/commands/delete/user.js.map +1 -0
  21. package/dist/commands/get/plan.d.ts +18 -0
  22. package/dist/commands/get/plan.d.ts.map +1 -0
  23. package/dist/commands/get/plan.js +68 -0
  24. package/dist/commands/get/plan.js.map +1 -0
  25. package/dist/commands/get/user.d.ts +17 -0
  26. package/dist/commands/get/user.d.ts.map +1 -0
  27. package/dist/commands/get/user.js +75 -0
  28. package/dist/commands/get/user.js.map +1 -0
  29. package/dist/commands/init.d.ts +7 -0
  30. package/dist/commands/init.d.ts.map +1 -1
  31. package/dist/commands/init.js +43 -1
  32. package/dist/commands/init.js.map +1 -1
  33. package/dist/commands/list/users.d.ts +15 -0
  34. package/dist/commands/list/users.d.ts.map +1 -0
  35. package/dist/commands/list/users.js +67 -0
  36. package/dist/commands/list/users.js.map +1 -0
  37. package/dist/commands/project/title.d.ts +19 -0
  38. package/dist/commands/project/title.d.ts.map +1 -0
  39. package/dist/commands/project/title.js +76 -0
  40. package/dist/commands/project/title.js.map +1 -0
  41. package/dist/commands/sync/users.d.ts +17 -0
  42. package/dist/commands/sync/users.d.ts.map +1 -0
  43. package/dist/commands/sync/users.js +105 -0
  44. package/dist/commands/sync/users.js.map +1 -0
  45. package/dist/commands/unassign/issue.d.ts +19 -0
  46. package/dist/commands/unassign/issue.d.ts.map +1 -0
  47. package/dist/commands/unassign/issue.js +79 -0
  48. package/dist/commands/unassign/issue.js.map +1 -0
  49. package/dist/commands/update/user.d.ts +20 -0
  50. package/dist/commands/update/user.d.ts.map +1 -0
  51. package/dist/commands/update/user.js +88 -0
  52. package/dist/commands/update/user.js.map +1 -0
  53. package/dist/daemon/daemon-assign-issue.d.ts +6 -0
  54. package/dist/daemon/daemon-assign-issue.d.ts.map +1 -0
  55. package/dist/daemon/daemon-assign-issue.js +17 -0
  56. package/dist/daemon/daemon-assign-issue.js.map +1 -0
  57. package/dist/daemon/daemon-create-user.d.ts +6 -0
  58. package/dist/daemon/daemon-create-user.d.ts.map +1 -0
  59. package/dist/daemon/daemon-create-user.js +17 -0
  60. package/dist/daemon/daemon-create-user.js.map +1 -0
  61. package/dist/daemon/daemon-delete-plan.d.ts +6 -0
  62. package/dist/daemon/daemon-delete-plan.d.ts.map +1 -0
  63. package/dist/daemon/daemon-delete-plan.js +17 -0
  64. package/dist/daemon/daemon-delete-plan.js.map +1 -0
  65. package/dist/daemon/daemon-delete-user.d.ts +6 -0
  66. package/dist/daemon/daemon-delete-user.d.ts.map +1 -0
  67. package/dist/daemon/daemon-delete-user.js +17 -0
  68. package/dist/daemon/daemon-delete-user.js.map +1 -0
  69. package/dist/daemon/daemon-get-plan.d.ts +6 -0
  70. package/dist/daemon/daemon-get-plan.d.ts.map +1 -0
  71. package/dist/daemon/daemon-get-plan.js +17 -0
  72. package/dist/daemon/daemon-get-plan.js.map +1 -0
  73. package/dist/daemon/daemon-get-user.d.ts +6 -0
  74. package/dist/daemon/daemon-get-user.d.ts.map +1 -0
  75. package/dist/daemon/daemon-get-user.js +17 -0
  76. package/dist/daemon/daemon-get-user.js.map +1 -0
  77. package/dist/daemon/daemon-list-users.d.ts +6 -0
  78. package/dist/daemon/daemon-list-users.d.ts.map +1 -0
  79. package/dist/daemon/daemon-list-users.js +17 -0
  80. package/dist/daemon/daemon-list-users.js.map +1 -0
  81. package/dist/daemon/daemon-set-project-title.d.ts +7 -0
  82. package/dist/daemon/daemon-set-project-title.d.ts.map +1 -0
  83. package/dist/daemon/daemon-set-project-title.js +18 -0
  84. package/dist/daemon/daemon-set-project-title.js.map +1 -0
  85. package/dist/daemon/daemon-set-project-user-title.d.ts +7 -0
  86. package/dist/daemon/daemon-set-project-user-title.d.ts.map +1 -0
  87. package/dist/daemon/daemon-set-project-user-title.js +18 -0
  88. package/dist/daemon/daemon-set-project-user-title.js.map +1 -0
  89. package/dist/daemon/daemon-sync-users.d.ts +6 -0
  90. package/dist/daemon/daemon-sync-users.d.ts.map +1 -0
  91. package/dist/daemon/daemon-sync-users.js +17 -0
  92. package/dist/daemon/daemon-sync-users.js.map +1 -0
  93. package/dist/daemon/daemon-unassign-issue.d.ts +6 -0
  94. package/dist/daemon/daemon-unassign-issue.d.ts.map +1 -0
  95. package/dist/daemon/daemon-unassign-issue.js +17 -0
  96. package/dist/daemon/daemon-unassign-issue.js.map +1 -0
  97. package/dist/daemon/daemon-update-plan.d.ts +6 -0
  98. package/dist/daemon/daemon-update-plan.d.ts.map +1 -0
  99. package/dist/daemon/daemon-update-plan.js +17 -0
  100. package/dist/daemon/daemon-update-plan.js.map +1 -0
  101. package/dist/daemon/daemon-update-user.d.ts +6 -0
  102. package/dist/daemon/daemon-update-user.d.ts.map +1 -0
  103. package/dist/daemon/daemon-update-user.js +17 -0
  104. package/dist/daemon/daemon-update-user.js.map +1 -0
  105. package/dist/daemon/load-proto.d.ts +15 -1
  106. package/dist/daemon/load-proto.d.ts.map +1 -1
  107. package/dist/daemon/load-proto.js.map +1 -1
  108. package/dist/daemon/types.d.ts +169 -0
  109. package/dist/daemon/types.d.ts.map +1 -1
  110. package/dist/lib/init/init.d.ts +7 -0
  111. package/dist/lib/init/init.d.ts.map +1 -1
  112. package/dist/lib/init/init.js +51 -1
  113. package/dist/lib/init/init.js.map +1 -1
  114. package/dist/lib/install-daemon/github-api.d.ts.map +1 -1
  115. package/dist/lib/install-daemon/github-api.js +50 -39
  116. package/dist/lib/install-daemon/github-api.js.map +1 -1
  117. package/dist/tui/components/domain/AssetList.js +1 -3
  118. package/dist/tui/components/domain/AssetList.js.map +1 -1
  119. package/dist/tui/components/domain/ConfigPanel.js +1 -3
  120. package/dist/tui/components/domain/ConfigPanel.js.map +1 -1
  121. package/dist/tui/components/domain/DocCreate.d.ts.map +1 -1
  122. package/dist/tui/components/domain/DocCreate.js +1 -3
  123. package/dist/tui/components/domain/DocCreate.js.map +1 -1
  124. package/dist/tui/components/domain/IssueCreate.js +1 -7
  125. package/dist/tui/components/domain/IssueCreate.js.map +1 -1
  126. package/dist/tui/components/domain/IssueEdit.d.ts.map +1 -1
  127. package/dist/tui/components/domain/IssueEdit.js +1 -9
  128. package/dist/tui/components/domain/IssueEdit.js.map +1 -1
  129. package/dist/tui/components/domain/IssueList.js +1 -1
  130. package/dist/tui/components/domain/IssueList.js.map +1 -1
  131. package/dist/tui/components/domain/PRCreate.d.ts.map +1 -1
  132. package/dist/tui/components/domain/PRCreate.js +1 -13
  133. package/dist/tui/components/domain/PRCreate.js.map +1 -1
  134. package/dist/tui/components/domain/PREdit.d.ts.map +1 -1
  135. package/dist/tui/components/domain/PREdit.js +1 -13
  136. package/dist/tui/components/domain/PREdit.js.map +1 -1
  137. package/dist/tui/components/domain/PRList.js +1 -1
  138. package/dist/tui/components/domain/PRList.js.map +1 -1
  139. package/dist/tui/components/domain/ProjectList.js +1 -3
  140. package/dist/tui/components/domain/ProjectList.js.map +1 -1
  141. package/dist/tui/components/layout/Sidebar.js +1 -1
  142. package/dist/tui/components/layout/Sidebar.js.map +1 -1
  143. package/dist/types/init-options.d.ts +14 -0
  144. package/dist/types/init-options.d.ts.map +1 -1
  145. package/oclif.manifest.json +721 -24
  146. package/package.json +2 -1
  147. package/proto/centy.proto +226 -0
@@ -133,6 +133,52 @@
133
133
  "name": "force",
134
134
  "allowNo": false,
135
135
  "type": "boolean"
136
+ },
137
+ "priority-levels": {
138
+ "description": "Number of priority levels (1-10, default: 3)",
139
+ "name": "priority-levels",
140
+ "hasDynamicHelp": false,
141
+ "multiple": false,
142
+ "type": "option"
143
+ },
144
+ "default-state": {
145
+ "description": "Default state for new issues (default: \"open\")",
146
+ "name": "default-state",
147
+ "hasDynamicHelp": false,
148
+ "multiple": false,
149
+ "type": "option"
150
+ },
151
+ "allowed-states": {
152
+ "description": "Comma-separated list of allowed states",
153
+ "name": "allowed-states",
154
+ "hasDynamicHelp": false,
155
+ "multiple": false,
156
+ "type": "option"
157
+ },
158
+ "version": {
159
+ "description": "Project version (semver)",
160
+ "name": "version",
161
+ "hasDynamicHelp": false,
162
+ "multiple": false,
163
+ "type": "option"
164
+ },
165
+ "llm-auto-close": {
166
+ "description": "Auto-close issues when LLM completes work",
167
+ "name": "llm-auto-close",
168
+ "allowNo": true,
169
+ "type": "boolean"
170
+ },
171
+ "llm-update-status": {
172
+ "description": "Update status to in-progress when LLM starts",
173
+ "name": "llm-update-status",
174
+ "allowNo": true,
175
+ "type": "boolean"
176
+ },
177
+ "llm-allow-direct-edits": {
178
+ "description": "Allow LLM to directly edit issue files",
179
+ "name": "llm-allow-direct-edits",
180
+ "allowNo": true,
181
+ "type": "boolean"
136
182
  }
137
183
  },
138
184
  "hasDynamicHelp": false,
@@ -436,6 +482,154 @@
436
482
  "asset.js"
437
483
  ]
438
484
  },
485
+ "add:plan": {
486
+ "aliases": [
487
+ "update:plan",
488
+ "set:plan"
489
+ ],
490
+ "args": {
491
+ "issueId": {
492
+ "description": "Issue ID or display number",
493
+ "name": "issueId",
494
+ "required": true
495
+ }
496
+ },
497
+ "description": "Add or update an issue's plan",
498
+ "examples": [
499
+ "<%= config.bin %> add plan 1 --file ./plan.md",
500
+ "<%= config.bin %> add plan abc123 --file ./plan.md",
501
+ "echo \"# Plan\" | <%= config.bin %> add plan 1",
502
+ "<%= config.bin %> add plan 1 --project centy-daemon --file ./plan.md"
503
+ ],
504
+ "flags": {
505
+ "file": {
506
+ "char": "f",
507
+ "description": "Path to the plan file (reads from stdin if not provided)",
508
+ "name": "file",
509
+ "hasDynamicHelp": false,
510
+ "multiple": false,
511
+ "type": "option"
512
+ },
513
+ "project": {
514
+ "description": "Project name or path (defaults to current directory)",
515
+ "name": "project",
516
+ "hasDynamicHelp": false,
517
+ "multiple": false,
518
+ "type": "option"
519
+ }
520
+ },
521
+ "hasDynamicHelp": false,
522
+ "hiddenAliases": [],
523
+ "id": "add:plan",
524
+ "pluginAlias": "centy",
525
+ "pluginName": "centy",
526
+ "pluginType": "core",
527
+ "strict": true,
528
+ "enableJsonFlag": false,
529
+ "isESM": true,
530
+ "relativePath": [
531
+ "dist",
532
+ "commands",
533
+ "add",
534
+ "plan.js"
535
+ ]
536
+ },
537
+ "assign:issue": {
538
+ "aliases": [],
539
+ "args": {
540
+ "issueId": {
541
+ "description": "Issue ID (UUID) or display number",
542
+ "name": "issueId",
543
+ "required": true
544
+ },
545
+ "userIds": {
546
+ "description": "User IDs to assign (space-separated)",
547
+ "name": "userIds",
548
+ "required": true
549
+ }
550
+ },
551
+ "description": "Assign users to an issue",
552
+ "examples": [
553
+ "<%= config.bin %> assign issue 1 john-doe",
554
+ "<%= config.bin %> assign issue abc123-uuid alice bob",
555
+ "<%= config.bin %> assign issue 1 john-doe --project centy-daemon"
556
+ ],
557
+ "flags": {
558
+ "json": {
559
+ "description": "Output as JSON",
560
+ "name": "json",
561
+ "allowNo": false,
562
+ "type": "boolean"
563
+ },
564
+ "project": {
565
+ "description": "Project name or path (defaults to current directory)",
566
+ "name": "project",
567
+ "hasDynamicHelp": false,
568
+ "multiple": false,
569
+ "type": "option"
570
+ }
571
+ },
572
+ "hasDynamicHelp": false,
573
+ "hiddenAliases": [],
574
+ "id": "assign:issue",
575
+ "pluginAlias": "centy",
576
+ "pluginName": "centy",
577
+ "pluginType": "core",
578
+ "strict": false,
579
+ "enableJsonFlag": false,
580
+ "isESM": true,
581
+ "relativePath": [
582
+ "dist",
583
+ "commands",
584
+ "assign",
585
+ "issue.js"
586
+ ]
587
+ },
588
+ "daemon:autostart": {
589
+ "aliases": [],
590
+ "args": {},
591
+ "description": "Configure daemon to start automatically on boot",
592
+ "examples": [
593
+ "<%= config.bin %> daemon autostart",
594
+ "<%= config.bin %> daemon autostart --enable",
595
+ "<%= config.bin %> daemon autostart --disable"
596
+ ],
597
+ "flags": {
598
+ "enable": {
599
+ "description": "Enable autostart on boot",
600
+ "exclusive": [
601
+ "disable"
602
+ ],
603
+ "name": "enable",
604
+ "allowNo": false,
605
+ "type": "boolean"
606
+ },
607
+ "disable": {
608
+ "description": "Disable autostart on boot",
609
+ "exclusive": [
610
+ "enable"
611
+ ],
612
+ "name": "disable",
613
+ "allowNo": false,
614
+ "type": "boolean"
615
+ }
616
+ },
617
+ "hasDynamicHelp": false,
618
+ "hiddenAliases": [],
619
+ "id": "daemon:autostart",
620
+ "pluginAlias": "centy",
621
+ "pluginName": "centy",
622
+ "pluginType": "core",
623
+ "strict": true,
624
+ "enableJsonFlag": false,
625
+ "isESM": true,
626
+ "relativePath": [
627
+ "dist",
628
+ "commands",
629
+ "daemon",
630
+ "autostart.js"
631
+ ]
632
+ },
439
633
  "create:doc": {
440
634
  "aliases": [],
441
635
  "args": {},
@@ -834,6 +1028,80 @@
834
1028
  "pr.js"
835
1029
  ]
836
1030
  },
1031
+ "create:user": {
1032
+ "aliases": [],
1033
+ "args": {},
1034
+ "description": "Create a new user in the project",
1035
+ "examples": [
1036
+ "<%= config.bin %> create user --name \"John Doe\"",
1037
+ "<%= config.bin %> create user --id john-doe --name \"John Doe\" --email john@example.com",
1038
+ "<%= config.bin %> create user -n \"Alice\" -g alice-dev -g alice-work",
1039
+ "<%= config.bin %> create user --name \"Bob\" --project centy-daemon"
1040
+ ],
1041
+ "flags": {
1042
+ "id": {
1043
+ "char": "i",
1044
+ "description": "User ID (slug format, auto-generated from name if not provided)",
1045
+ "name": "id",
1046
+ "hasDynamicHelp": false,
1047
+ "multiple": false,
1048
+ "type": "option"
1049
+ },
1050
+ "name": {
1051
+ "char": "n",
1052
+ "description": "Display name (required)",
1053
+ "name": "name",
1054
+ "required": true,
1055
+ "hasDynamicHelp": false,
1056
+ "multiple": false,
1057
+ "type": "option"
1058
+ },
1059
+ "email": {
1060
+ "char": "e",
1061
+ "description": "Email address",
1062
+ "name": "email",
1063
+ "hasDynamicHelp": false,
1064
+ "multiple": false,
1065
+ "type": "option"
1066
+ },
1067
+ "git-username": {
1068
+ "char": "g",
1069
+ "description": "Git username (can be specified multiple times)",
1070
+ "name": "git-username",
1071
+ "hasDynamicHelp": false,
1072
+ "multiple": true,
1073
+ "type": "option"
1074
+ },
1075
+ "json": {
1076
+ "description": "Output as JSON",
1077
+ "name": "json",
1078
+ "allowNo": false,
1079
+ "type": "boolean"
1080
+ },
1081
+ "project": {
1082
+ "description": "Project name or path (defaults to current directory)",
1083
+ "name": "project",
1084
+ "hasDynamicHelp": false,
1085
+ "multiple": false,
1086
+ "type": "option"
1087
+ }
1088
+ },
1089
+ "hasDynamicHelp": false,
1090
+ "hiddenAliases": [],
1091
+ "id": "create:user",
1092
+ "pluginAlias": "centy",
1093
+ "pluginName": "centy",
1094
+ "pluginType": "core",
1095
+ "strict": true,
1096
+ "enableJsonFlag": false,
1097
+ "isESM": true,
1098
+ "relativePath": [
1099
+ "dist",
1100
+ "commands",
1101
+ "create",
1102
+ "user.js"
1103
+ ]
1104
+ },
837
1105
  "delete:asset": {
838
1106
  "aliases": [],
839
1107
  "args": {
@@ -1088,6 +1356,54 @@
1088
1356
  "org.js"
1089
1357
  ]
1090
1358
  },
1359
+ "delete:plan": {
1360
+ "aliases": [],
1361
+ "args": {
1362
+ "issueId": {
1363
+ "description": "Issue ID or display number",
1364
+ "name": "issueId",
1365
+ "required": true
1366
+ }
1367
+ },
1368
+ "description": "Delete an issue's plan",
1369
+ "examples": [
1370
+ "<%= config.bin %> delete plan 1",
1371
+ "<%= config.bin %> delete plan abc123",
1372
+ "<%= config.bin %> delete plan 1 --force",
1373
+ "<%= config.bin %> delete plan 1 --project centy-daemon"
1374
+ ],
1375
+ "flags": {
1376
+ "force": {
1377
+ "char": "f",
1378
+ "description": "Skip confirmation prompt",
1379
+ "name": "force",
1380
+ "allowNo": false,
1381
+ "type": "boolean"
1382
+ },
1383
+ "project": {
1384
+ "description": "Project name or path (defaults to current directory)",
1385
+ "name": "project",
1386
+ "hasDynamicHelp": false,
1387
+ "multiple": false,
1388
+ "type": "option"
1389
+ }
1390
+ },
1391
+ "hasDynamicHelp": false,
1392
+ "hiddenAliases": [],
1393
+ "id": "delete:plan",
1394
+ "pluginAlias": "centy",
1395
+ "pluginName": "centy",
1396
+ "pluginType": "core",
1397
+ "strict": true,
1398
+ "enableJsonFlag": false,
1399
+ "isESM": true,
1400
+ "relativePath": [
1401
+ "dist",
1402
+ "commands",
1403
+ "delete",
1404
+ "plan.js"
1405
+ ]
1406
+ },
1091
1407
  "delete:pr": {
1092
1408
  "aliases": [],
1093
1409
  "args": {
@@ -1136,6 +1452,53 @@
1136
1452
  "pr.js"
1137
1453
  ]
1138
1454
  },
1455
+ "delete:user": {
1456
+ "aliases": [],
1457
+ "args": {
1458
+ "id": {
1459
+ "description": "User ID",
1460
+ "name": "id",
1461
+ "required": true
1462
+ }
1463
+ },
1464
+ "description": "Delete a user",
1465
+ "examples": [
1466
+ "<%= config.bin %> delete user john-doe",
1467
+ "<%= config.bin %> delete user john-doe --force",
1468
+ "<%= config.bin %> delete user john-doe --project centy-daemon"
1469
+ ],
1470
+ "flags": {
1471
+ "force": {
1472
+ "char": "f",
1473
+ "description": "Skip confirmation prompt",
1474
+ "name": "force",
1475
+ "allowNo": false,
1476
+ "type": "boolean"
1477
+ },
1478
+ "project": {
1479
+ "description": "Project name or path (defaults to current directory)",
1480
+ "name": "project",
1481
+ "hasDynamicHelp": false,
1482
+ "multiple": false,
1483
+ "type": "option"
1484
+ }
1485
+ },
1486
+ "hasDynamicHelp": false,
1487
+ "hiddenAliases": [],
1488
+ "id": "delete:user",
1489
+ "pluginAlias": "centy",
1490
+ "pluginName": "centy",
1491
+ "pluginType": "core",
1492
+ "strict": true,
1493
+ "enableJsonFlag": false,
1494
+ "isESM": true,
1495
+ "relativePath": [
1496
+ "dist",
1497
+ "commands",
1498
+ "delete",
1499
+ "user.js"
1500
+ ]
1501
+ },
1139
1502
  "get:asset": {
1140
1503
  "aliases": [
1141
1504
  "show:asset"
@@ -1407,6 +1770,57 @@
1407
1770
  "org.js"
1408
1771
  ]
1409
1772
  },
1773
+ "get:plan": {
1774
+ "aliases": [
1775
+ "show:plan"
1776
+ ],
1777
+ "args": {
1778
+ "issueId": {
1779
+ "description": "Issue ID or display number",
1780
+ "name": "issueId",
1781
+ "required": true
1782
+ }
1783
+ },
1784
+ "description": "Get an issue's plan",
1785
+ "examples": [
1786
+ "<%= config.bin %> get plan 1",
1787
+ "<%= config.bin %> get plan abc123",
1788
+ "<%= config.bin %> get plan 1 --output ./plan.md",
1789
+ "<%= config.bin %> get plan 1 --project centy-daemon"
1790
+ ],
1791
+ "flags": {
1792
+ "output": {
1793
+ "char": "o",
1794
+ "description": "Output file path (prints to stdout by default)",
1795
+ "name": "output",
1796
+ "hasDynamicHelp": false,
1797
+ "multiple": false,
1798
+ "type": "option"
1799
+ },
1800
+ "project": {
1801
+ "description": "Project name or path (defaults to current directory)",
1802
+ "name": "project",
1803
+ "hasDynamicHelp": false,
1804
+ "multiple": false,
1805
+ "type": "option"
1806
+ }
1807
+ },
1808
+ "hasDynamicHelp": false,
1809
+ "hiddenAliases": [],
1810
+ "id": "get:plan",
1811
+ "pluginAlias": "centy",
1812
+ "pluginName": "centy",
1813
+ "pluginType": "core",
1814
+ "strict": true,
1815
+ "enableJsonFlag": false,
1816
+ "isESM": true,
1817
+ "relativePath": [
1818
+ "dist",
1819
+ "commands",
1820
+ "get",
1821
+ "plan.js"
1822
+ ]
1823
+ },
1410
1824
  "get:pr": {
1411
1825
  "aliases": [
1412
1826
  "show:pr"
@@ -1506,38 +1920,39 @@
1506
1920
  "project.js"
1507
1921
  ]
1508
1922
  },
1509
- "daemon:autostart": {
1923
+ "get:user": {
1510
1924
  "aliases": [],
1511
- "args": {},
1512
- "description": "Configure daemon to start automatically on boot",
1925
+ "args": {
1926
+ "id": {
1927
+ "description": "User ID",
1928
+ "name": "id",
1929
+ "required": true
1930
+ }
1931
+ },
1932
+ "description": "Get a user by ID",
1513
1933
  "examples": [
1514
- "<%= config.bin %> daemon autostart",
1515
- "<%= config.bin %> daemon autostart --enable",
1516
- "<%= config.bin %> daemon autostart --disable"
1934
+ "<%= config.bin %> get user john-doe",
1935
+ "<%= config.bin %> get user john-doe --json",
1936
+ "<%= config.bin %> get user john-doe --project centy-daemon"
1517
1937
  ],
1518
1938
  "flags": {
1519
- "enable": {
1520
- "description": "Enable autostart on boot",
1521
- "exclusive": [
1522
- "disable"
1523
- ],
1524
- "name": "enable",
1939
+ "json": {
1940
+ "description": "Output as JSON",
1941
+ "name": "json",
1525
1942
  "allowNo": false,
1526
1943
  "type": "boolean"
1527
1944
  },
1528
- "disable": {
1529
- "description": "Disable autostart on boot",
1530
- "exclusive": [
1531
- "enable"
1532
- ],
1533
- "name": "disable",
1534
- "allowNo": false,
1535
- "type": "boolean"
1945
+ "project": {
1946
+ "description": "Project name or path (defaults to current directory)",
1947
+ "name": "project",
1948
+ "hasDynamicHelp": false,
1949
+ "multiple": false,
1950
+ "type": "option"
1536
1951
  }
1537
1952
  },
1538
1953
  "hasDynamicHelp": false,
1539
1954
  "hiddenAliases": [],
1540
- "id": "daemon:autostart",
1955
+ "id": "get:user",
1541
1956
  "pluginAlias": "centy",
1542
1957
  "pluginName": "centy",
1543
1958
  "pluginType": "core",
@@ -1547,8 +1962,8 @@
1547
1962
  "relativePath": [
1548
1963
  "dist",
1549
1964
  "commands",
1550
- "daemon",
1551
- "autostart.js"
1965
+ "get",
1966
+ "user.js"
1552
1967
  ]
1553
1968
  },
1554
1969
  "install:daemon": {
@@ -1991,6 +2406,55 @@
1991
2406
  "prs.js"
1992
2407
  ]
1993
2408
  },
2409
+ "list:users": {
2410
+ "aliases": [],
2411
+ "args": {},
2412
+ "description": "List all users in the project",
2413
+ "examples": [
2414
+ "<%= config.bin %> list users",
2415
+ "<%= config.bin %> list users --json",
2416
+ "<%= config.bin %> list users --git-username johndoe",
2417
+ "<%= config.bin %> list users --project centy-daemon"
2418
+ ],
2419
+ "flags": {
2420
+ "git-username": {
2421
+ "char": "g",
2422
+ "description": "Filter by git username",
2423
+ "name": "git-username",
2424
+ "hasDynamicHelp": false,
2425
+ "multiple": false,
2426
+ "type": "option"
2427
+ },
2428
+ "json": {
2429
+ "description": "Output as JSON",
2430
+ "name": "json",
2431
+ "allowNo": false,
2432
+ "type": "boolean"
2433
+ },
2434
+ "project": {
2435
+ "description": "Project name or path (defaults to current directory)",
2436
+ "name": "project",
2437
+ "hasDynamicHelp": false,
2438
+ "multiple": false,
2439
+ "type": "option"
2440
+ }
2441
+ },
2442
+ "hasDynamicHelp": false,
2443
+ "hiddenAliases": [],
2444
+ "id": "list:users",
2445
+ "pluginAlias": "centy",
2446
+ "pluginName": "centy",
2447
+ "pluginType": "core",
2448
+ "strict": true,
2449
+ "enableJsonFlag": false,
2450
+ "isESM": true,
2451
+ "relativePath": [
2452
+ "dist",
2453
+ "commands",
2454
+ "list",
2455
+ "users.js"
2456
+ ]
2457
+ },
1994
2458
  "project:archive": {
1995
2459
  "aliases": [],
1996
2460
  "args": {
@@ -2126,6 +2590,69 @@
2126
2590
  "org.js"
2127
2591
  ]
2128
2592
  },
2593
+ "project:title": {
2594
+ "aliases": [],
2595
+ "args": {
2596
+ "title": {
2597
+ "description": "Custom title for the project (omit to clear)",
2598
+ "name": "title",
2599
+ "required": false
2600
+ }
2601
+ },
2602
+ "description": "Set a custom title for a project",
2603
+ "examples": [
2604
+ "<%= config.bin %> project title \"My Awesome Project\"",
2605
+ "<%= config.bin %> project title \"Work Project\" --shared",
2606
+ "<%= config.bin %> project title --clear",
2607
+ "<%= config.bin %> project title --clear --shared",
2608
+ "<%= config.bin %> project title \"Custom Name\" --path /path/to/project"
2609
+ ],
2610
+ "flags": {
2611
+ "path": {
2612
+ "char": "p",
2613
+ "description": "Path to the project (defaults to current directory)",
2614
+ "name": "path",
2615
+ "hasDynamicHelp": false,
2616
+ "multiple": false,
2617
+ "type": "option"
2618
+ },
2619
+ "shared": {
2620
+ "char": "s",
2621
+ "description": "Set project-scope title (visible to all, stored in .centy/project.json)",
2622
+ "name": "shared",
2623
+ "allowNo": false,
2624
+ "type": "boolean"
2625
+ },
2626
+ "clear": {
2627
+ "char": "c",
2628
+ "description": "Clear the custom title",
2629
+ "name": "clear",
2630
+ "allowNo": false,
2631
+ "type": "boolean"
2632
+ },
2633
+ "json": {
2634
+ "description": "Output as JSON",
2635
+ "name": "json",
2636
+ "allowNo": false,
2637
+ "type": "boolean"
2638
+ }
2639
+ },
2640
+ "hasDynamicHelp": false,
2641
+ "hiddenAliases": [],
2642
+ "id": "project:title",
2643
+ "pluginAlias": "centy",
2644
+ "pluginName": "centy",
2645
+ "pluginType": "core",
2646
+ "strict": true,
2647
+ "enableJsonFlag": false,
2648
+ "isESM": true,
2649
+ "relativePath": [
2650
+ "dist",
2651
+ "commands",
2652
+ "project",
2653
+ "title.js"
2654
+ ]
2655
+ },
2129
2656
  "register:project": {
2130
2657
  "aliases": [],
2131
2658
  "args": {
@@ -2166,6 +2693,105 @@
2166
2693
  "project.js"
2167
2694
  ]
2168
2695
  },
2696
+ "sync:users": {
2697
+ "aliases": [],
2698
+ "args": {},
2699
+ "description": "Sync users from git history",
2700
+ "examples": [
2701
+ "<%= config.bin %> sync users",
2702
+ "<%= config.bin %> sync users --dry-run",
2703
+ "<%= config.bin %> sync users --json",
2704
+ "<%= config.bin %> sync users --project centy-daemon"
2705
+ ],
2706
+ "flags": {
2707
+ "dry-run": {
2708
+ "char": "d",
2709
+ "description": "Show what would be done without making changes",
2710
+ "name": "dry-run",
2711
+ "allowNo": false,
2712
+ "type": "boolean"
2713
+ },
2714
+ "json": {
2715
+ "description": "Output as JSON",
2716
+ "name": "json",
2717
+ "allowNo": false,
2718
+ "type": "boolean"
2719
+ },
2720
+ "project": {
2721
+ "description": "Project name or path (defaults to current directory)",
2722
+ "name": "project",
2723
+ "hasDynamicHelp": false,
2724
+ "multiple": false,
2725
+ "type": "option"
2726
+ }
2727
+ },
2728
+ "hasDynamicHelp": false,
2729
+ "hiddenAliases": [],
2730
+ "id": "sync:users",
2731
+ "pluginAlias": "centy",
2732
+ "pluginName": "centy",
2733
+ "pluginType": "core",
2734
+ "strict": true,
2735
+ "enableJsonFlag": false,
2736
+ "isESM": true,
2737
+ "relativePath": [
2738
+ "dist",
2739
+ "commands",
2740
+ "sync",
2741
+ "users.js"
2742
+ ]
2743
+ },
2744
+ "unassign:issue": {
2745
+ "aliases": [],
2746
+ "args": {
2747
+ "issueId": {
2748
+ "description": "Issue ID (UUID) or display number",
2749
+ "name": "issueId",
2750
+ "required": true
2751
+ },
2752
+ "userIds": {
2753
+ "description": "User IDs to unassign (space-separated)",
2754
+ "name": "userIds",
2755
+ "required": true
2756
+ }
2757
+ },
2758
+ "description": "Unassign users from an issue",
2759
+ "examples": [
2760
+ "<%= config.bin %> unassign issue 1 john-doe",
2761
+ "<%= config.bin %> unassign issue abc123-uuid alice bob",
2762
+ "<%= config.bin %> unassign issue 1 john-doe --project centy-daemon"
2763
+ ],
2764
+ "flags": {
2765
+ "json": {
2766
+ "description": "Output as JSON",
2767
+ "name": "json",
2768
+ "allowNo": false,
2769
+ "type": "boolean"
2770
+ },
2771
+ "project": {
2772
+ "description": "Project name or path (defaults to current directory)",
2773
+ "name": "project",
2774
+ "hasDynamicHelp": false,
2775
+ "multiple": false,
2776
+ "type": "option"
2777
+ }
2778
+ },
2779
+ "hasDynamicHelp": false,
2780
+ "hiddenAliases": [],
2781
+ "id": "unassign:issue",
2782
+ "pluginAlias": "centy",
2783
+ "pluginName": "centy",
2784
+ "pluginType": "core",
2785
+ "strict": false,
2786
+ "enableJsonFlag": false,
2787
+ "isESM": true,
2788
+ "relativePath": [
2789
+ "dist",
2790
+ "commands",
2791
+ "unassign",
2792
+ "issue.js"
2793
+ ]
2794
+ },
2169
2795
  "untrack:project": {
2170
2796
  "aliases": [],
2171
2797
  "args": {
@@ -2620,7 +3246,78 @@
2620
3246
  "update",
2621
3247
  "pr.js"
2622
3248
  ]
3249
+ },
3250
+ "update:user": {
3251
+ "aliases": [],
3252
+ "args": {
3253
+ "id": {
3254
+ "description": "User ID",
3255
+ "name": "id",
3256
+ "required": true
3257
+ }
3258
+ },
3259
+ "description": "Update a user",
3260
+ "examples": [
3261
+ "<%= config.bin %> update user john-doe --name \"John D.\"",
3262
+ "<%= config.bin %> update user john-doe --email john.new@example.com",
3263
+ "<%= config.bin %> update user john-doe --git-username johndoe --git-username john-work",
3264
+ "<%= config.bin %> update user john-doe --name \"John\" --project centy-daemon"
3265
+ ],
3266
+ "flags": {
3267
+ "name": {
3268
+ "char": "n",
3269
+ "description": "New display name",
3270
+ "name": "name",
3271
+ "hasDynamicHelp": false,
3272
+ "multiple": false,
3273
+ "type": "option"
3274
+ },
3275
+ "email": {
3276
+ "char": "e",
3277
+ "description": "New email address",
3278
+ "name": "email",
3279
+ "hasDynamicHelp": false,
3280
+ "multiple": false,
3281
+ "type": "option"
3282
+ },
3283
+ "git-username": {
3284
+ "char": "g",
3285
+ "description": "Git username (replaces all existing, can be specified multiple times)",
3286
+ "name": "git-username",
3287
+ "hasDynamicHelp": false,
3288
+ "multiple": true,
3289
+ "type": "option"
3290
+ },
3291
+ "json": {
3292
+ "description": "Output as JSON",
3293
+ "name": "json",
3294
+ "allowNo": false,
3295
+ "type": "boolean"
3296
+ },
3297
+ "project": {
3298
+ "description": "Project name or path (defaults to current directory)",
3299
+ "name": "project",
3300
+ "hasDynamicHelp": false,
3301
+ "multiple": false,
3302
+ "type": "option"
3303
+ }
3304
+ },
3305
+ "hasDynamicHelp": false,
3306
+ "hiddenAliases": [],
3307
+ "id": "update:user",
3308
+ "pluginAlias": "centy",
3309
+ "pluginName": "centy",
3310
+ "pluginType": "core",
3311
+ "strict": true,
3312
+ "enableJsonFlag": false,
3313
+ "isESM": true,
3314
+ "relativePath": [
3315
+ "dist",
3316
+ "commands",
3317
+ "update",
3318
+ "user.js"
3319
+ ]
2623
3320
  }
2624
3321
  },
2625
- "version": "0.0.24"
3322
+ "version": "0.0.25"
2626
3323
  }