centy 0.6.0 → 0.7.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.
Files changed (51) hide show
  1. package/dist/commands/create.d.ts +21 -0
  2. package/dist/commands/create.d.ts.map +1 -0
  3. package/dist/commands/create.js +95 -0
  4. package/dist/commands/create.js.map +1 -0
  5. package/dist/commands/get.d.ts.map +1 -1
  6. package/dist/commands/get.js +1 -7
  7. package/dist/commands/get.js.map +1 -1
  8. package/dist/commands/{create/item-type.d.ts → item-type/create.d.ts} +2 -2
  9. package/dist/commands/item-type/create.d.ts.map +1 -0
  10. package/dist/commands/{create/item-type.js → item-type/create.js} +5 -5
  11. package/dist/commands/item-type/create.js.map +1 -0
  12. package/dist/commands/{create/org.d.ts → org/create.d.ts} +2 -3
  13. package/dist/commands/org/create.d.ts.map +1 -0
  14. package/dist/commands/{create/org.js → org/create.js} +6 -9
  15. package/dist/commands/org/create.js.map +1 -0
  16. package/dist/commands/{create/user.d.ts → user/create.d.ts} +2 -2
  17. package/dist/commands/user/create.d.ts.map +1 -0
  18. package/dist/commands/{create/user.js → user/create.js} +7 -7
  19. package/dist/commands/user/create.js.map +1 -0
  20. package/dist/daemon/daemon-create-item.d.ts +6 -0
  21. package/dist/daemon/daemon-create-item.d.ts.map +1 -0
  22. package/dist/daemon/daemon-create-item.js +9 -0
  23. package/dist/daemon/daemon-create-item.js.map +1 -0
  24. package/dist/utils/parse-custom-fields.d.ts +5 -0
  25. package/dist/utils/parse-custom-fields.d.ts.map +1 -0
  26. package/dist/utils/parse-custom-fields.js +19 -0
  27. package/dist/utils/parse-custom-fields.js.map +1 -0
  28. package/dist/utils/to-plural.d.ts +5 -0
  29. package/dist/utils/to-plural.d.ts.map +1 -0
  30. package/dist/utils/to-plural.js +11 -0
  31. package/dist/utils/to-plural.js.map +1 -0
  32. package/oclif.manifest.json +465 -538
  33. package/package.json +1 -1
  34. package/dist/commands/create/doc.d.ts +0 -17
  35. package/dist/commands/create/doc.d.ts.map +0 -1
  36. package/dist/commands/create/doc.js +0 -69
  37. package/dist/commands/create/doc.js.map +0 -1
  38. package/dist/commands/create/issue.d.ts +0 -19
  39. package/dist/commands/create/issue.d.ts.map +0 -1
  40. package/dist/commands/create/issue.js +0 -71
  41. package/dist/commands/create/issue.js.map +0 -1
  42. package/dist/commands/create/item-type.d.ts.map +0 -1
  43. package/dist/commands/create/item-type.js.map +0 -1
  44. package/dist/commands/create/org.d.ts.map +0 -1
  45. package/dist/commands/create/org.js.map +0 -1
  46. package/dist/commands/create/user.d.ts.map +0 -1
  47. package/dist/commands/create/user.js.map +0 -1
  48. package/dist/lib/create-issue/index.d.ts +0 -2
  49. package/dist/lib/create-issue/index.d.ts.map +0 -1
  50. package/dist/lib/create-issue/index.js +0 -2
  51. package/dist/lib/create-issue/index.js.map +0 -1
@@ -155,6 +155,90 @@
155
155
  "config.js"
156
156
  ]
157
157
  },
158
+ "create": {
159
+ "aliases": [],
160
+ "args": {
161
+ "type": {
162
+ "description": "Item type (e.g., issue, doc, epic, or custom type)",
163
+ "name": "type",
164
+ "required": true
165
+ }
166
+ },
167
+ "description": "Create a new item of any type",
168
+ "examples": [
169
+ "<%= config.bin %> create issue --title \"Bug in login\" --priority 1",
170
+ "<%= config.bin %> create doc --title \"Getting Started\" --body \"# Guide\"",
171
+ "<%= config.bin %> create epic --title \"Auth overhaul\" --status open",
172
+ "<%= config.bin %> create bug --title \"Crash on startup\"",
173
+ "<%= config.bin %> create task --title \"Review PR\" --custom-field \"assignee=alice\""
174
+ ],
175
+ "flags": {
176
+ "title": {
177
+ "char": "t",
178
+ "description": "Item title",
179
+ "name": "title",
180
+ "required": true,
181
+ "hasDynamicHelp": false,
182
+ "multiple": false,
183
+ "type": "option"
184
+ },
185
+ "body": {
186
+ "char": "b",
187
+ "description": "Item body / description (markdown)",
188
+ "name": "body",
189
+ "default": "",
190
+ "hasDynamicHelp": false,
191
+ "multiple": false,
192
+ "type": "option"
193
+ },
194
+ "status": {
195
+ "char": "s",
196
+ "description": "Initial status (empty = use type default)",
197
+ "name": "status",
198
+ "default": "",
199
+ "hasDynamicHelp": false,
200
+ "multiple": false,
201
+ "type": "option"
202
+ },
203
+ "priority": {
204
+ "char": "p",
205
+ "description": "Priority level (0 = use default)",
206
+ "name": "priority",
207
+ "default": 0,
208
+ "hasDynamicHelp": false,
209
+ "multiple": false,
210
+ "type": "option"
211
+ },
212
+ "custom-field": {
213
+ "description": "Custom field as key=value (repeatable)",
214
+ "name": "custom-field",
215
+ "hasDynamicHelp": false,
216
+ "multiple": true,
217
+ "type": "option"
218
+ },
219
+ "project": {
220
+ "description": "Project name or path (defaults to current directory)",
221
+ "name": "project",
222
+ "hasDynamicHelp": false,
223
+ "multiple": false,
224
+ "type": "option"
225
+ }
226
+ },
227
+ "hasDynamicHelp": false,
228
+ "hiddenAliases": [],
229
+ "id": "create",
230
+ "pluginAlias": "centy",
231
+ "pluginName": "centy",
232
+ "pluginType": "core",
233
+ "strict": true,
234
+ "enableJsonFlag": false,
235
+ "isESM": true,
236
+ "relativePath": [
237
+ "dist",
238
+ "commands",
239
+ "create.js"
240
+ ]
241
+ },
158
242
  "get": {
159
243
  "aliases": [],
160
244
  "args": {
@@ -814,38 +898,56 @@
814
898
  "issue.js"
815
899
  ]
816
900
  },
817
- "daemon:autostart": {
901
+ "delete:asset": {
818
902
  "aliases": [],
819
- "args": {},
820
- "description": "Configure daemon to start automatically on boot",
903
+ "args": {
904
+ "filename": {
905
+ "description": "Asset filename",
906
+ "name": "filename",
907
+ "required": true
908
+ }
909
+ },
910
+ "description": "Delete an asset",
821
911
  "examples": [
822
- "<%= config.bin %> daemon autostart",
823
- "<%= config.bin %> daemon autostart --enable",
824
- "<%= config.bin %> daemon autostart --disable"
912
+ "<%= config.bin %> delete asset screenshot.png --issue 1",
913
+ "<%= config.bin %> delete asset logo.svg --shared",
914
+ "<%= config.bin %> delete asset old-image.png --issue 1 --force",
915
+ "<%= config.bin %> delete asset screenshot.png --issue 1 --project centy-daemon"
825
916
  ],
826
917
  "flags": {
827
- "enable": {
828
- "description": "Enable autostart on boot",
829
- "exclusive": [
830
- "disable"
831
- ],
832
- "name": "enable",
918
+ "issue": {
919
+ "char": "i",
920
+ "description": "Issue ID or display number",
921
+ "name": "issue",
922
+ "hasDynamicHelp": false,
923
+ "multiple": false,
924
+ "type": "option"
925
+ },
926
+ "shared": {
927
+ "char": "s",
928
+ "description": "Delete a shared asset",
929
+ "name": "shared",
833
930
  "allowNo": false,
834
931
  "type": "boolean"
835
932
  },
836
- "disable": {
837
- "description": "Disable autostart on boot",
838
- "exclusive": [
839
- "enable"
840
- ],
841
- "name": "disable",
933
+ "force": {
934
+ "char": "f",
935
+ "description": "Skip confirmation prompt",
936
+ "name": "force",
842
937
  "allowNo": false,
843
938
  "type": "boolean"
939
+ },
940
+ "project": {
941
+ "description": "Project name or path (defaults to current directory)",
942
+ "name": "project",
943
+ "hasDynamicHelp": false,
944
+ "multiple": false,
945
+ "type": "option"
844
946
  }
845
947
  },
846
948
  "hasDynamicHelp": false,
847
949
  "hiddenAliases": [],
848
- "id": "daemon:autostart",
950
+ "id": "delete:asset",
849
951
  "pluginAlias": "centy",
850
952
  "pluginName": "centy",
851
953
  "pluginType": "core",
@@ -855,84 +957,32 @@
855
957
  "relativePath": [
856
958
  "dist",
857
959
  "commands",
858
- "daemon",
859
- "autostart.js"
960
+ "delete",
961
+ "asset.js"
860
962
  ]
861
963
  },
862
- "daemon:status": {
964
+ "delete:doc": {
863
965
  "aliases": [],
864
- "args": {},
865
- "description": "Check whether the centy daemon is running",
866
- "examples": [
867
- "<%= config.bin %> daemon status",
868
- "<%= config.bin %> daemon status --json"
869
- ],
870
- "flags": {
871
- "json": {
872
- "description": "Output as JSON",
873
- "name": "json",
874
- "allowNo": false,
875
- "type": "boolean"
966
+ "args": {
967
+ "slug": {
968
+ "description": "Doc slug",
969
+ "name": "slug",
970
+ "required": true
876
971
  }
877
972
  },
878
- "hasDynamicHelp": false,
879
- "hiddenAliases": [],
880
- "id": "daemon:status",
881
- "pluginAlias": "centy",
882
- "pluginName": "centy",
883
- "pluginType": "core",
884
- "strict": true,
885
- "enableJsonFlag": false,
886
- "isESM": true,
887
- "relativePath": [
888
- "dist",
889
- "commands",
890
- "daemon",
891
- "status.js"
892
- ]
893
- },
894
- "create:doc": {
895
- "aliases": [],
896
- "args": {},
897
- "description": "Create a new documentation file",
973
+ "description": "Delete a documentation file",
898
974
  "examples": [
899
- "<%= config.bin %> create doc --title \"Getting Started\"",
900
- "<%= config.bin %> create doc -t \"API Reference\" -c \"# API\n\nDocumentation here\"",
901
- "<%= config.bin %> create doc --title \"Guide\" --slug my-guide",
902
- "<%= config.bin %> create doc --title \"Guide\" --project centy-daemon"
975
+ "<%= config.bin %> delete doc getting-started",
976
+ "<%= config.bin %> delete doc api-reference --force",
977
+ "<%= config.bin %> delete doc api-reference --project centy-daemon"
903
978
  ],
904
979
  "flags": {
905
- "title": {
906
- "char": "t",
907
- "description": "Doc title",
908
- "name": "title",
909
- "required": true,
910
- "hasDynamicHelp": false,
911
- "multiple": false,
912
- "type": "option"
913
- },
914
- "content": {
915
- "char": "c",
916
- "description": "Doc content (markdown)",
917
- "name": "content",
918
- "default": "",
919
- "hasDynamicHelp": false,
920
- "multiple": false,
921
- "type": "option"
922
- },
923
- "slug": {
924
- "description": "Custom slug (auto-generated from title if not provided)",
925
- "name": "slug",
926
- "hasDynamicHelp": false,
927
- "multiple": false,
928
- "type": "option"
929
- },
930
- "template": {
931
- "description": "Template name to use",
932
- "name": "template",
933
- "hasDynamicHelp": false,
934
- "multiple": false,
935
- "type": "option"
980
+ "force": {
981
+ "char": "f",
982
+ "description": "Skip confirmation prompt",
983
+ "name": "force",
984
+ "allowNo": false,
985
+ "type": "boolean"
936
986
  },
937
987
  "project": {
938
988
  "description": "Project name or path (defaults to current directory)",
@@ -944,7 +994,7 @@
944
994
  },
945
995
  "hasDynamicHelp": false,
946
996
  "hiddenAliases": [],
947
- "id": "create:doc",
997
+ "id": "delete:doc",
948
998
  "pluginAlias": "centy",
949
999
  "pluginName": "centy",
950
1000
  "pluginType": "core",
@@ -954,70 +1004,31 @@
954
1004
  "relativePath": [
955
1005
  "dist",
956
1006
  "commands",
957
- "create",
1007
+ "delete",
958
1008
  "doc.js"
959
1009
  ]
960
1010
  },
961
- "create:issue": {
1011
+ "delete:issue": {
962
1012
  "aliases": [],
963
- "args": {},
964
- "description": "Create a new issue in the .centy folder",
1013
+ "args": {
1014
+ "id": {
1015
+ "description": "Issue ID (UUID) or display number",
1016
+ "name": "id",
1017
+ "required": true
1018
+ }
1019
+ },
1020
+ "description": "Delete an issue",
965
1021
  "examples": [
966
- "<%= config.bin %> create issue",
967
- "<%= config.bin %> create issue --title \"Bug in login\" --priority high",
968
- "<%= config.bin %> create issue -t \"Add feature\" -d \"Implement dark mode\"",
969
- "<%= config.bin %> create issue -t \"Add feature\" --project centy-daemon",
970
- "<%= config.bin %> create issue --title \"WIP feature\" --draft",
971
- "<%= config.bin %> create issue --title \"Cross-org bug\" --org"
1022
+ "<%= config.bin %> delete issue 1",
1023
+ "<%= config.bin %> delete issue abc123-uuid",
1024
+ "<%= config.bin %> delete issue 1 --force",
1025
+ "<%= config.bin %> delete issue 1 --project centy-daemon"
972
1026
  ],
973
1027
  "flags": {
974
- "title": {
975
- "char": "t",
976
- "description": "Issue title",
977
- "name": "title",
978
- "hasDynamicHelp": false,
979
- "multiple": false,
980
- "type": "option"
981
- },
982
- "description": {
983
- "char": "d",
984
- "description": "Issue description",
985
- "name": "description",
986
- "hasDynamicHelp": false,
987
- "multiple": false,
988
- "type": "option"
989
- },
990
- "priority": {
991
- "char": "p",
992
- "description": "Priority level (low/medium/high)",
993
- "name": "priority",
994
- "hasDynamicHelp": false,
995
- "multiple": false,
996
- "options": [
997
- "low",
998
- "medium",
999
- "high"
1000
- ],
1001
- "type": "option"
1002
- },
1003
- "status": {
1004
- "char": "s",
1005
- "description": "Initial status",
1006
- "name": "status",
1007
- "default": "open",
1008
- "hasDynamicHelp": false,
1009
- "multiple": false,
1010
- "type": "option"
1011
- },
1012
- "draft": {
1013
- "description": "Create as draft",
1014
- "name": "draft",
1015
- "allowNo": false,
1016
- "type": "boolean"
1017
- },
1018
- "org": {
1019
- "description": "Create as an org-wide issue",
1020
- "name": "org",
1028
+ "force": {
1029
+ "char": "f",
1030
+ "description": "Skip confirmation prompt",
1031
+ "name": "force",
1021
1032
  "allowNo": false,
1022
1033
  "type": "boolean"
1023
1034
  },
@@ -1031,7 +1042,7 @@
1031
1042
  },
1032
1043
  "hasDynamicHelp": false,
1033
1044
  "hiddenAliases": [],
1034
- "id": "create:issue",
1045
+ "id": "delete:issue",
1035
1046
  "pluginAlias": "centy",
1036
1047
  "pluginName": "centy",
1037
1048
  "pluginType": "core",
@@ -1041,149 +1052,38 @@
1041
1052
  "relativePath": [
1042
1053
  "dist",
1043
1054
  "commands",
1044
- "create",
1055
+ "delete",
1045
1056
  "issue.js"
1046
1057
  ]
1047
1058
  },
1048
- "create:item-type": {
1049
- "aliases": [],
1050
- "args": {},
1051
- "description": "Create a new custom item type",
1052
- "examples": [
1053
- "<%= config.bin %> create item-type --name \"Bug\" --plural \"bugs\" --identifier uuid --statuses open,in-progress,closed --default-status open --priority-levels 3 --features display-number,status,priority,move,duplicate",
1054
- "<%= config.bin %> create item-type --name \"Task\" --plural \"tasks\" --identifier slug --statuses todo,doing,done --default-status todo --features status,priority"
1055
- ],
1056
- "flags": {
1057
- "name": {
1058
- "char": "n",
1059
- "description": "Singular display name (e.g., \"Bug\", \"Task\", \"Epic\")",
1060
- "name": "name",
1061
- "required": true,
1062
- "hasDynamicHelp": false,
1063
- "multiple": false,
1064
- "type": "option"
1065
- },
1066
- "plural": {
1067
- "description": "Folder/type key, lowercase alphanumeric + hyphens (e.g., \"bugs\")",
1068
- "name": "plural",
1069
- "required": true,
1070
- "hasDynamicHelp": false,
1071
- "multiple": false,
1072
- "type": "option"
1073
- },
1074
- "identifier": {
1075
- "description": "Identifier type for items",
1076
- "name": "identifier",
1077
- "required": true,
1078
- "hasDynamicHelp": false,
1079
- "multiple": false,
1080
- "options": [
1081
- "uuid",
1082
- "slug"
1083
- ],
1084
- "type": "option"
1085
- },
1086
- "statuses": {
1087
- "description": "Comma-separated list of allowed statuses",
1088
- "name": "statuses",
1089
- "required": true,
1090
- "hasDynamicHelp": false,
1091
- "multiple": false,
1092
- "type": "option"
1093
- },
1094
- "default-status": {
1095
- "description": "Default status for new items (must be in statuses list)",
1096
- "name": "default-status",
1097
- "required": true,
1098
- "hasDynamicHelp": false,
1099
- "multiple": false,
1100
- "type": "option"
1101
- },
1102
- "priority-levels": {
1103
- "description": "Number of priority levels (0 = none)",
1104
- "name": "priority-levels",
1105
- "default": 0,
1106
- "hasDynamicHelp": false,
1107
- "multiple": false,
1108
- "type": "option"
1109
- },
1110
- "features": {
1111
- "char": "f",
1112
- "description": "Comma-separated features (display-number, status, priority, assets, org-sync, move, duplicate)",
1113
- "name": "features",
1114
- "hasDynamicHelp": false,
1115
- "multiple": false,
1116
- "type": "option"
1117
- },
1118
- "project": {
1119
- "description": "Project name or path (defaults to current directory)",
1120
- "name": "project",
1121
- "hasDynamicHelp": false,
1122
- "multiple": false,
1123
- "type": "option"
1124
- }
1125
- },
1126
- "hasDynamicHelp": false,
1127
- "hiddenAliases": [],
1128
- "id": "create:item-type",
1129
- "pluginAlias": "centy",
1130
- "pluginName": "centy",
1131
- "pluginType": "core",
1132
- "strict": true,
1133
- "enableJsonFlag": false,
1134
- "isESM": true,
1135
- "relativePath": [
1136
- "dist",
1137
- "commands",
1138
- "create",
1139
- "item-type.js"
1140
- ]
1141
- },
1142
- "create:org": {
1059
+ "delete:org": {
1143
1060
  "aliases": [
1144
- "create:organization"
1061
+ "delete:organization"
1145
1062
  ],
1146
1063
  "args": {
1147
- "name": {
1148
- "description": "Organization display name",
1149
- "name": "name",
1064
+ "slug": {
1065
+ "description": "Organization slug",
1066
+ "name": "slug",
1150
1067
  "required": true
1151
1068
  }
1152
1069
  },
1153
- "description": "Create a new organization to group projects",
1070
+ "description": "Delete an organization (must have no projects assigned)",
1154
1071
  "examples": [
1155
- "<%= config.bin %> create org \"My Company\"",
1156
- "<%= config.bin %> create org \"Centy.io\" --slug centy-io",
1157
- "<%= config.bin %> create org \"My Org\" --description \"Official projects\"",
1158
- "<%= config.bin %> create organization \"Work Projects\""
1072
+ "<%= config.bin %> delete org my-org",
1073
+ "<%= config.bin %> delete organization old-org"
1159
1074
  ],
1160
1075
  "flags": {
1161
- "slug": {
1162
- "char": "s",
1163
- "description": "Custom slug (auto-generated from name if not provided)",
1164
- "name": "slug",
1165
- "hasDynamicHelp": false,
1166
- "multiple": false,
1167
- "type": "option"
1168
- },
1169
- "description": {
1170
- "char": "d",
1171
- "description": "Organization description",
1172
- "name": "description",
1173
- "hasDynamicHelp": false,
1174
- "multiple": false,
1175
- "type": "option"
1176
- },
1177
- "json": {
1178
- "description": "Output as JSON",
1179
- "name": "json",
1076
+ "force": {
1077
+ "char": "f",
1078
+ "description": "Skip confirmation prompt",
1079
+ "name": "force",
1180
1080
  "allowNo": false,
1181
1081
  "type": "boolean"
1182
1082
  }
1183
1083
  },
1184
1084
  "hasDynamicHelp": false,
1185
1085
  "hiddenAliases": [],
1186
- "id": "create:org",
1086
+ "id": "delete:org",
1187
1087
  "pluginAlias": "centy",
1188
1088
  "pluginName": "centy",
1189
1089
  "pluginType": "core",
@@ -1193,57 +1093,30 @@
1193
1093
  "relativePath": [
1194
1094
  "dist",
1195
1095
  "commands",
1196
- "create",
1096
+ "delete",
1197
1097
  "org.js"
1198
1098
  ]
1199
1099
  },
1200
- "create:user": {
1100
+ "delete:user": {
1201
1101
  "aliases": [],
1202
- "args": {},
1203
- "description": "Create a new user in the project",
1102
+ "args": {
1103
+ "id": {
1104
+ "description": "User ID",
1105
+ "name": "id",
1106
+ "required": true
1107
+ }
1108
+ },
1109
+ "description": "Delete a user",
1204
1110
  "examples": [
1205
- "<%= config.bin %> create user --name \"John Doe\"",
1206
- "<%= config.bin %> create user --id john-doe --name \"John Doe\" --email john@example.com",
1207
- "<%= config.bin %> create user -n \"Alice\" -g alice-dev -g alice-work",
1208
- "<%= config.bin %> create user --name \"Bob\" --project centy-daemon"
1111
+ "<%= config.bin %> delete user john-doe",
1112
+ "<%= config.bin %> delete user john-doe --force",
1113
+ "<%= config.bin %> delete user john-doe --project centy-daemon"
1209
1114
  ],
1210
1115
  "flags": {
1211
- "id": {
1212
- "char": "i",
1213
- "description": "User ID (slug format, auto-generated from name if not provided)",
1214
- "name": "id",
1215
- "hasDynamicHelp": false,
1216
- "multiple": false,
1217
- "type": "option"
1218
- },
1219
- "name": {
1220
- "char": "n",
1221
- "description": "Display name (required)",
1222
- "name": "name",
1223
- "required": true,
1224
- "hasDynamicHelp": false,
1225
- "multiple": false,
1226
- "type": "option"
1227
- },
1228
- "email": {
1229
- "char": "e",
1230
- "description": "Email address",
1231
- "name": "email",
1232
- "hasDynamicHelp": false,
1233
- "multiple": false,
1234
- "type": "option"
1235
- },
1236
- "git-username": {
1237
- "char": "g",
1238
- "description": "Git username (can be specified multiple times)",
1239
- "name": "git-username",
1240
- "hasDynamicHelp": false,
1241
- "multiple": true,
1242
- "type": "option"
1243
- },
1244
- "json": {
1245
- "description": "Output as JSON",
1246
- "name": "json",
1116
+ "force": {
1117
+ "char": "f",
1118
+ "description": "Skip confirmation prompt",
1119
+ "name": "force",
1247
1120
  "allowNo": false,
1248
1121
  "type": "boolean"
1249
1122
  },
@@ -1257,7 +1130,7 @@
1257
1130
  },
1258
1131
  "hasDynamicHelp": false,
1259
1132
  "hiddenAliases": [],
1260
- "id": "create:user",
1133
+ "id": "delete:user",
1261
1134
  "pluginAlias": "centy",
1262
1135
  "pluginName": "centy",
1263
1136
  "pluginType": "core",
@@ -1267,7 +1140,7 @@
1267
1140
  "relativePath": [
1268
1141
  "dist",
1269
1142
  "commands",
1270
- "create",
1143
+ "delete",
1271
1144
  "user.js"
1272
1145
  ]
1273
1146
  },
@@ -1391,192 +1264,38 @@
1391
1264
  "issue.js"
1392
1265
  ]
1393
1266
  },
1394
- "delete:asset": {
1395
- "aliases": [],
1396
- "args": {
1397
- "filename": {
1398
- "description": "Asset filename",
1399
- "name": "filename",
1400
- "required": true
1401
- }
1402
- },
1403
- "description": "Delete an asset",
1404
- "examples": [
1405
- "<%= config.bin %> delete asset screenshot.png --issue 1",
1406
- "<%= config.bin %> delete asset logo.svg --shared",
1407
- "<%= config.bin %> delete asset old-image.png --issue 1 --force",
1408
- "<%= config.bin %> delete asset screenshot.png --issue 1 --project centy-daemon"
1409
- ],
1410
- "flags": {
1411
- "issue": {
1412
- "char": "i",
1413
- "description": "Issue ID or display number",
1414
- "name": "issue",
1415
- "hasDynamicHelp": false,
1416
- "multiple": false,
1417
- "type": "option"
1418
- },
1419
- "shared": {
1420
- "char": "s",
1421
- "description": "Delete a shared asset",
1422
- "name": "shared",
1423
- "allowNo": false,
1424
- "type": "boolean"
1425
- },
1426
- "force": {
1427
- "char": "f",
1428
- "description": "Skip confirmation prompt",
1429
- "name": "force",
1430
- "allowNo": false,
1431
- "type": "boolean"
1432
- },
1433
- "project": {
1434
- "description": "Project name or path (defaults to current directory)",
1435
- "name": "project",
1436
- "hasDynamicHelp": false,
1437
- "multiple": false,
1438
- "type": "option"
1439
- }
1440
- },
1441
- "hasDynamicHelp": false,
1442
- "hiddenAliases": [],
1443
- "id": "delete:asset",
1444
- "pluginAlias": "centy",
1445
- "pluginName": "centy",
1446
- "pluginType": "core",
1447
- "strict": true,
1448
- "enableJsonFlag": false,
1449
- "isESM": true,
1450
- "relativePath": [
1451
- "dist",
1452
- "commands",
1453
- "delete",
1454
- "asset.js"
1455
- ]
1456
- },
1457
- "delete:doc": {
1458
- "aliases": [],
1459
- "args": {
1460
- "slug": {
1461
- "description": "Doc slug",
1462
- "name": "slug",
1463
- "required": true
1464
- }
1465
- },
1466
- "description": "Delete a documentation file",
1467
- "examples": [
1468
- "<%= config.bin %> delete doc getting-started",
1469
- "<%= config.bin %> delete doc api-reference --force",
1470
- "<%= config.bin %> delete doc api-reference --project centy-daemon"
1471
- ],
1472
- "flags": {
1473
- "force": {
1474
- "char": "f",
1475
- "description": "Skip confirmation prompt",
1476
- "name": "force",
1477
- "allowNo": false,
1478
- "type": "boolean"
1479
- },
1480
- "project": {
1481
- "description": "Project name or path (defaults to current directory)",
1482
- "name": "project",
1483
- "hasDynamicHelp": false,
1484
- "multiple": false,
1485
- "type": "option"
1486
- }
1487
- },
1488
- "hasDynamicHelp": false,
1489
- "hiddenAliases": [],
1490
- "id": "delete:doc",
1491
- "pluginAlias": "centy",
1492
- "pluginName": "centy",
1493
- "pluginType": "core",
1494
- "strict": true,
1495
- "enableJsonFlag": false,
1496
- "isESM": true,
1497
- "relativePath": [
1498
- "dist",
1499
- "commands",
1500
- "delete",
1501
- "doc.js"
1502
- ]
1503
- },
1504
- "delete:issue": {
1267
+ "daemon:autostart": {
1505
1268
  "aliases": [],
1506
- "args": {
1507
- "id": {
1508
- "description": "Issue ID (UUID) or display number",
1509
- "name": "id",
1510
- "required": true
1511
- }
1512
- },
1513
- "description": "Delete an issue",
1269
+ "args": {},
1270
+ "description": "Configure daemon to start automatically on boot",
1514
1271
  "examples": [
1515
- "<%= config.bin %> delete issue 1",
1516
- "<%= config.bin %> delete issue abc123-uuid",
1517
- "<%= config.bin %> delete issue 1 --force",
1518
- "<%= config.bin %> delete issue 1 --project centy-daemon"
1272
+ "<%= config.bin %> daemon autostart",
1273
+ "<%= config.bin %> daemon autostart --enable",
1274
+ "<%= config.bin %> daemon autostart --disable"
1519
1275
  ],
1520
1276
  "flags": {
1521
- "force": {
1522
- "char": "f",
1523
- "description": "Skip confirmation prompt",
1524
- "name": "force",
1277
+ "enable": {
1278
+ "description": "Enable autostart on boot",
1279
+ "exclusive": [
1280
+ "disable"
1281
+ ],
1282
+ "name": "enable",
1525
1283
  "allowNo": false,
1526
1284
  "type": "boolean"
1527
1285
  },
1528
- "project": {
1529
- "description": "Project name or path (defaults to current directory)",
1530
- "name": "project",
1531
- "hasDynamicHelp": false,
1532
- "multiple": false,
1533
- "type": "option"
1534
- }
1535
- },
1536
- "hasDynamicHelp": false,
1537
- "hiddenAliases": [],
1538
- "id": "delete:issue",
1539
- "pluginAlias": "centy",
1540
- "pluginName": "centy",
1541
- "pluginType": "core",
1542
- "strict": true,
1543
- "enableJsonFlag": false,
1544
- "isESM": true,
1545
- "relativePath": [
1546
- "dist",
1547
- "commands",
1548
- "delete",
1549
- "issue.js"
1550
- ]
1551
- },
1552
- "delete:org": {
1553
- "aliases": [
1554
- "delete:organization"
1555
- ],
1556
- "args": {
1557
- "slug": {
1558
- "description": "Organization slug",
1559
- "name": "slug",
1560
- "required": true
1561
- }
1562
- },
1563
- "description": "Delete an organization (must have no projects assigned)",
1564
- "examples": [
1565
- "<%= config.bin %> delete org my-org",
1566
- "<%= config.bin %> delete organization old-org"
1567
- ],
1568
- "flags": {
1569
- "force": {
1570
- "char": "f",
1571
- "description": "Skip confirmation prompt",
1572
- "name": "force",
1286
+ "disable": {
1287
+ "description": "Disable autostart on boot",
1288
+ "exclusive": [
1289
+ "enable"
1290
+ ],
1291
+ "name": "disable",
1573
1292
  "allowNo": false,
1574
1293
  "type": "boolean"
1575
1294
  }
1576
1295
  },
1577
1296
  "hasDynamicHelp": false,
1578
1297
  "hiddenAliases": [],
1579
- "id": "delete:org",
1298
+ "id": "daemon:autostart",
1580
1299
  "pluginAlias": "centy",
1581
1300
  "pluginName": "centy",
1582
1301
  "pluginType": "core",
@@ -1586,44 +1305,29 @@
1586
1305
  "relativePath": [
1587
1306
  "dist",
1588
1307
  "commands",
1589
- "delete",
1590
- "org.js"
1308
+ "daemon",
1309
+ "autostart.js"
1591
1310
  ]
1592
1311
  },
1593
- "delete:user": {
1312
+ "daemon:status": {
1594
1313
  "aliases": [],
1595
- "args": {
1596
- "id": {
1597
- "description": "User ID",
1598
- "name": "id",
1599
- "required": true
1600
- }
1601
- },
1602
- "description": "Delete a user",
1314
+ "args": {},
1315
+ "description": "Check whether the centy daemon is running",
1603
1316
  "examples": [
1604
- "<%= config.bin %> delete user john-doe",
1605
- "<%= config.bin %> delete user john-doe --force",
1606
- "<%= config.bin %> delete user john-doe --project centy-daemon"
1317
+ "<%= config.bin %> daemon status",
1318
+ "<%= config.bin %> daemon status --json"
1607
1319
  ],
1608
1320
  "flags": {
1609
- "force": {
1610
- "char": "f",
1611
- "description": "Skip confirmation prompt",
1612
- "name": "force",
1321
+ "json": {
1322
+ "description": "Output as JSON",
1323
+ "name": "json",
1613
1324
  "allowNo": false,
1614
1325
  "type": "boolean"
1615
- },
1616
- "project": {
1617
- "description": "Project name or path (defaults to current directory)",
1618
- "name": "project",
1619
- "hasDynamicHelp": false,
1620
- "multiple": false,
1621
- "type": "option"
1622
1326
  }
1623
1327
  },
1624
1328
  "hasDynamicHelp": false,
1625
1329
  "hiddenAliases": [],
1626
- "id": "delete:user",
1330
+ "id": "daemon:status",
1627
1331
  "pluginAlias": "centy",
1628
1332
  "pluginName": "centy",
1629
1333
  "pluginType": "core",
@@ -1633,8 +1337,8 @@
1633
1337
  "relativePath": [
1634
1338
  "dist",
1635
1339
  "commands",
1636
- "delete",
1637
- "user.js"
1340
+ "daemon",
1341
+ "status.js"
1638
1342
  ]
1639
1343
  },
1640
1344
  "get:asset": {
@@ -1783,6 +1487,100 @@
1783
1487
  "project.js"
1784
1488
  ]
1785
1489
  },
1490
+ "item-type:create": {
1491
+ "aliases": [],
1492
+ "args": {},
1493
+ "description": "Create a new custom item type",
1494
+ "examples": [
1495
+ "<%= config.bin %> item-type create --name \"Bug\" --plural \"bugs\" --identifier uuid --statuses open,in-progress,closed --default-status open --priority-levels 3 --features display-number,status,priority,move,duplicate",
1496
+ "<%= config.bin %> item-type create --name \"Task\" --plural \"tasks\" --identifier slug --statuses todo,doing,done --default-status todo --features status,priority"
1497
+ ],
1498
+ "flags": {
1499
+ "name": {
1500
+ "char": "n",
1501
+ "description": "Singular display name (e.g., \"Bug\", \"Task\", \"Epic\")",
1502
+ "name": "name",
1503
+ "required": true,
1504
+ "hasDynamicHelp": false,
1505
+ "multiple": false,
1506
+ "type": "option"
1507
+ },
1508
+ "plural": {
1509
+ "description": "Folder/type key, lowercase alphanumeric + hyphens (e.g., \"bugs\")",
1510
+ "name": "plural",
1511
+ "required": true,
1512
+ "hasDynamicHelp": false,
1513
+ "multiple": false,
1514
+ "type": "option"
1515
+ },
1516
+ "identifier": {
1517
+ "description": "Identifier type for items",
1518
+ "name": "identifier",
1519
+ "required": true,
1520
+ "hasDynamicHelp": false,
1521
+ "multiple": false,
1522
+ "options": [
1523
+ "uuid",
1524
+ "slug"
1525
+ ],
1526
+ "type": "option"
1527
+ },
1528
+ "statuses": {
1529
+ "description": "Comma-separated list of allowed statuses",
1530
+ "name": "statuses",
1531
+ "required": true,
1532
+ "hasDynamicHelp": false,
1533
+ "multiple": false,
1534
+ "type": "option"
1535
+ },
1536
+ "default-status": {
1537
+ "description": "Default status for new items (must be in statuses list)",
1538
+ "name": "default-status",
1539
+ "required": true,
1540
+ "hasDynamicHelp": false,
1541
+ "multiple": false,
1542
+ "type": "option"
1543
+ },
1544
+ "priority-levels": {
1545
+ "description": "Number of priority levels (0 = none)",
1546
+ "name": "priority-levels",
1547
+ "default": 0,
1548
+ "hasDynamicHelp": false,
1549
+ "multiple": false,
1550
+ "type": "option"
1551
+ },
1552
+ "features": {
1553
+ "char": "f",
1554
+ "description": "Comma-separated features (display-number, status, priority, assets, org-sync, move, duplicate)",
1555
+ "name": "features",
1556
+ "hasDynamicHelp": false,
1557
+ "multiple": false,
1558
+ "type": "option"
1559
+ },
1560
+ "project": {
1561
+ "description": "Project name or path (defaults to current directory)",
1562
+ "name": "project",
1563
+ "hasDynamicHelp": false,
1564
+ "multiple": false,
1565
+ "type": "option"
1566
+ }
1567
+ },
1568
+ "hasDynamicHelp": false,
1569
+ "hiddenAliases": [],
1570
+ "id": "item-type:create",
1571
+ "pluginAlias": "centy",
1572
+ "pluginName": "centy",
1573
+ "pluginType": "core",
1574
+ "strict": true,
1575
+ "enableJsonFlag": false,
1576
+ "isESM": true,
1577
+ "relativePath": [
1578
+ "dist",
1579
+ "commands",
1580
+ "item-type",
1581
+ "create.js"
1582
+ ]
1583
+ },
1786
1584
  "list:assets": {
1787
1585
  "aliases": [
1788
1586
  "asset:list"
@@ -2259,33 +2057,48 @@
2259
2057
  "issue.js"
2260
2058
  ]
2261
2059
  },
2262
- "register:project": {
2060
+ "org:create": {
2263
2061
  "aliases": [],
2264
2062
  "args": {
2265
- "path": {
2266
- "description": "Path to the project (defaults to current directory)",
2267
- "name": "path",
2268
- "required": false
2063
+ "name": {
2064
+ "description": "Organization display name",
2065
+ "name": "name",
2066
+ "required": true
2269
2067
  }
2270
2068
  },
2271
- "description": "Register a project for tracking",
2069
+ "description": "Create a new organization to group projects",
2272
2070
  "examples": [
2273
- "<%= config.bin %> register project",
2274
- "<%= config.bin %> register project /path/to/project",
2275
- "<%= config.bin %> register project --no-init"
2071
+ "<%= config.bin %> org create \"My Company\"",
2072
+ "<%= config.bin %> org create \"Centy.io\" --slug centy-io",
2073
+ "<%= config.bin %> org create \"My Org\" --description \"Official projects\""
2276
2074
  ],
2277
2075
  "flags": {
2278
- "init": {
2279
- "char": "i",
2280
- "description": "Initialize .centy folder if not already initialized",
2281
- "name": "init",
2282
- "allowNo": true,
2076
+ "slug": {
2077
+ "char": "s",
2078
+ "description": "Custom slug (auto-generated from name if not provided)",
2079
+ "name": "slug",
2080
+ "hasDynamicHelp": false,
2081
+ "multiple": false,
2082
+ "type": "option"
2083
+ },
2084
+ "description": {
2085
+ "char": "d",
2086
+ "description": "Organization description",
2087
+ "name": "description",
2088
+ "hasDynamicHelp": false,
2089
+ "multiple": false,
2090
+ "type": "option"
2091
+ },
2092
+ "json": {
2093
+ "description": "Output as JSON",
2094
+ "name": "json",
2095
+ "allowNo": false,
2283
2096
  "type": "boolean"
2284
2097
  }
2285
2098
  },
2286
2099
  "hasDynamicHelp": false,
2287
2100
  "hiddenAliases": [],
2288
- "id": "register:project",
2101
+ "id": "org:create",
2289
2102
  "pluginAlias": "centy",
2290
2103
  "pluginName": "centy",
2291
2104
  "pluginType": "core",
@@ -2295,8 +2108,8 @@
2295
2108
  "relativePath": [
2296
2109
  "dist",
2297
2110
  "commands",
2298
- "register",
2299
- "project.js"
2111
+ "org",
2112
+ "create.js"
2300
2113
  ]
2301
2114
  },
2302
2115
  "project:archive": {
@@ -2497,6 +2310,46 @@
2497
2310
  "title.js"
2498
2311
  ]
2499
2312
  },
2313
+ "register:project": {
2314
+ "aliases": [],
2315
+ "args": {
2316
+ "path": {
2317
+ "description": "Path to the project (defaults to current directory)",
2318
+ "name": "path",
2319
+ "required": false
2320
+ }
2321
+ },
2322
+ "description": "Register a project for tracking",
2323
+ "examples": [
2324
+ "<%= config.bin %> register project",
2325
+ "<%= config.bin %> register project /path/to/project",
2326
+ "<%= config.bin %> register project --no-init"
2327
+ ],
2328
+ "flags": {
2329
+ "init": {
2330
+ "char": "i",
2331
+ "description": "Initialize .centy folder if not already initialized",
2332
+ "name": "init",
2333
+ "allowNo": true,
2334
+ "type": "boolean"
2335
+ }
2336
+ },
2337
+ "hasDynamicHelp": false,
2338
+ "hiddenAliases": [],
2339
+ "id": "register:project",
2340
+ "pluginAlias": "centy",
2341
+ "pluginName": "centy",
2342
+ "pluginType": "core",
2343
+ "strict": true,
2344
+ "enableJsonFlag": false,
2345
+ "isESM": true,
2346
+ "relativePath": [
2347
+ "dist",
2348
+ "commands",
2349
+ "register",
2350
+ "project.js"
2351
+ ]
2352
+ },
2500
2353
  "sync:users": {
2501
2354
  "aliases": [],
2502
2355
  "args": {},
@@ -2872,6 +2725,80 @@
2872
2725
  "user.js"
2873
2726
  ]
2874
2727
  },
2728
+ "user:create": {
2729
+ "aliases": [],
2730
+ "args": {},
2731
+ "description": "Create a new user in the project",
2732
+ "examples": [
2733
+ "<%= config.bin %> user create --name \"John Doe\"",
2734
+ "<%= config.bin %> user create --id john-doe --name \"John Doe\" --email john@example.com",
2735
+ "<%= config.bin %> user create -n \"Alice\" -g alice-dev -g alice-work",
2736
+ "<%= config.bin %> user create --name \"Bob\" --project centy-daemon"
2737
+ ],
2738
+ "flags": {
2739
+ "id": {
2740
+ "char": "i",
2741
+ "description": "User ID (slug format, auto-generated from name if not provided)",
2742
+ "name": "id",
2743
+ "hasDynamicHelp": false,
2744
+ "multiple": false,
2745
+ "type": "option"
2746
+ },
2747
+ "name": {
2748
+ "char": "n",
2749
+ "description": "Display name (required)",
2750
+ "name": "name",
2751
+ "required": true,
2752
+ "hasDynamicHelp": false,
2753
+ "multiple": false,
2754
+ "type": "option"
2755
+ },
2756
+ "email": {
2757
+ "char": "e",
2758
+ "description": "Email address",
2759
+ "name": "email",
2760
+ "hasDynamicHelp": false,
2761
+ "multiple": false,
2762
+ "type": "option"
2763
+ },
2764
+ "git-username": {
2765
+ "char": "g",
2766
+ "description": "Git username (can be specified multiple times)",
2767
+ "name": "git-username",
2768
+ "hasDynamicHelp": false,
2769
+ "multiple": true,
2770
+ "type": "option"
2771
+ },
2772
+ "json": {
2773
+ "description": "Output as JSON",
2774
+ "name": "json",
2775
+ "allowNo": false,
2776
+ "type": "boolean"
2777
+ },
2778
+ "project": {
2779
+ "description": "Project name or path (defaults to current directory)",
2780
+ "name": "project",
2781
+ "hasDynamicHelp": false,
2782
+ "multiple": false,
2783
+ "type": "option"
2784
+ }
2785
+ },
2786
+ "hasDynamicHelp": false,
2787
+ "hiddenAliases": [],
2788
+ "id": "user:create",
2789
+ "pluginAlias": "centy",
2790
+ "pluginName": "centy",
2791
+ "pluginType": "core",
2792
+ "strict": true,
2793
+ "enableJsonFlag": false,
2794
+ "isESM": true,
2795
+ "relativePath": [
2796
+ "dist",
2797
+ "commands",
2798
+ "user",
2799
+ "create.js"
2800
+ ]
2801
+ },
2875
2802
  "workspace:cleanup": {
2876
2803
  "aliases": [],
2877
2804
  "args": {},
@@ -3035,5 +2962,5 @@
3035
2962
  ]
3036
2963
  }
3037
2964
  },
3038
- "version": "0.6.0"
2965
+ "version": "0.7.1"
3039
2966
  }