devvami 1.0.0 → 1.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/oclif.manifest.json +331 -67
- package/package.json +5 -1
- package/src/commands/init.js +30 -1
- package/src/commands/open.js +1 -1
- package/src/commands/prompts/browse.js +164 -0
- package/src/commands/prompts/download.js +154 -0
- package/src/commands/prompts/install-speckit.js +97 -0
- package/src/commands/prompts/list.js +107 -0
- package/src/commands/prompts/run.js +189 -0
- package/src/commands/upgrade.js +5 -0
- package/src/formatters/prompts.js +159 -0
- package/src/help.js +23 -8
- package/src/services/awesome-copilot.js +123 -0
- package/src/services/clickup.js +15 -1
- package/src/services/config.js +2 -1
- package/src/services/github.js +2 -1
- package/src/services/prompts.js +326 -0
- package/src/services/skills-sh.js +81 -0
- package/src/services/speckit.js +76 -0
- package/src/types.js +34 -0
- package/src/utils/frontmatter.js +52 -0
package/oclif.manifest.json
CHANGED
|
@@ -703,6 +703,185 @@
|
|
|
703
703
|
"search.js"
|
|
704
704
|
]
|
|
705
705
|
},
|
|
706
|
+
"pr:create": {
|
|
707
|
+
"aliases": [],
|
|
708
|
+
"args": {},
|
|
709
|
+
"description": "Apri Pull Request precompilata con template, label e reviewer",
|
|
710
|
+
"examples": [
|
|
711
|
+
"<%= config.bin %> pr create",
|
|
712
|
+
"<%= config.bin %> pr create --draft",
|
|
713
|
+
"<%= config.bin %> pr create --title \"My PR\" --dry-run"
|
|
714
|
+
],
|
|
715
|
+
"flags": {
|
|
716
|
+
"json": {
|
|
717
|
+
"description": "Format output as json.",
|
|
718
|
+
"helpGroup": "GLOBAL",
|
|
719
|
+
"name": "json",
|
|
720
|
+
"allowNo": false,
|
|
721
|
+
"type": "boolean"
|
|
722
|
+
},
|
|
723
|
+
"title": {
|
|
724
|
+
"description": "Titolo PR (default: auto-generated)",
|
|
725
|
+
"name": "title",
|
|
726
|
+
"hasDynamicHelp": false,
|
|
727
|
+
"multiple": false,
|
|
728
|
+
"type": "option"
|
|
729
|
+
},
|
|
730
|
+
"draft": {
|
|
731
|
+
"description": "Crea come draft",
|
|
732
|
+
"name": "draft",
|
|
733
|
+
"allowNo": false,
|
|
734
|
+
"type": "boolean"
|
|
735
|
+
},
|
|
736
|
+
"dry-run": {
|
|
737
|
+
"description": "Preview senza eseguire",
|
|
738
|
+
"name": "dry-run",
|
|
739
|
+
"allowNo": false,
|
|
740
|
+
"type": "boolean"
|
|
741
|
+
}
|
|
742
|
+
},
|
|
743
|
+
"hasDynamicHelp": false,
|
|
744
|
+
"hiddenAliases": [],
|
|
745
|
+
"id": "pr:create",
|
|
746
|
+
"pluginAlias": "devvami",
|
|
747
|
+
"pluginName": "devvami",
|
|
748
|
+
"pluginType": "core",
|
|
749
|
+
"strict": true,
|
|
750
|
+
"enableJsonFlag": true,
|
|
751
|
+
"isESM": true,
|
|
752
|
+
"relativePath": [
|
|
753
|
+
"src",
|
|
754
|
+
"commands",
|
|
755
|
+
"pr",
|
|
756
|
+
"create.js"
|
|
757
|
+
]
|
|
758
|
+
},
|
|
759
|
+
"pr:detail": {
|
|
760
|
+
"aliases": [],
|
|
761
|
+
"args": {
|
|
762
|
+
"number": {
|
|
763
|
+
"description": "Numero della PR",
|
|
764
|
+
"name": "number",
|
|
765
|
+
"required": true
|
|
766
|
+
}
|
|
767
|
+
},
|
|
768
|
+
"description": "Dettaglio PR con commenti QA e checklist degli step",
|
|
769
|
+
"examples": [
|
|
770
|
+
"<%= config.bin %> pr detail 42",
|
|
771
|
+
"<%= config.bin %> pr detail 42 --repo devvami/my-api",
|
|
772
|
+
"<%= config.bin %> pr detail 42 --json"
|
|
773
|
+
],
|
|
774
|
+
"flags": {
|
|
775
|
+
"json": {
|
|
776
|
+
"description": "Format output as json.",
|
|
777
|
+
"helpGroup": "GLOBAL",
|
|
778
|
+
"name": "json",
|
|
779
|
+
"allowNo": false,
|
|
780
|
+
"type": "boolean"
|
|
781
|
+
},
|
|
782
|
+
"repo": {
|
|
783
|
+
"description": "Repository nel formato owner/repo (default: rilevato da git remote)",
|
|
784
|
+
"name": "repo",
|
|
785
|
+
"hasDynamicHelp": false,
|
|
786
|
+
"multiple": false,
|
|
787
|
+
"type": "option"
|
|
788
|
+
}
|
|
789
|
+
},
|
|
790
|
+
"hasDynamicHelp": false,
|
|
791
|
+
"hiddenAliases": [],
|
|
792
|
+
"id": "pr:detail",
|
|
793
|
+
"pluginAlias": "devvami",
|
|
794
|
+
"pluginName": "devvami",
|
|
795
|
+
"pluginType": "core",
|
|
796
|
+
"strict": true,
|
|
797
|
+
"enableJsonFlag": true,
|
|
798
|
+
"isESM": true,
|
|
799
|
+
"relativePath": [
|
|
800
|
+
"src",
|
|
801
|
+
"commands",
|
|
802
|
+
"pr",
|
|
803
|
+
"detail.js"
|
|
804
|
+
]
|
|
805
|
+
},
|
|
806
|
+
"pr:review": {
|
|
807
|
+
"aliases": [],
|
|
808
|
+
"args": {},
|
|
809
|
+
"description": "Lista PR assegnate a te per la code review",
|
|
810
|
+
"examples": [
|
|
811
|
+
"<%= config.bin %> pr review",
|
|
812
|
+
"<%= config.bin %> pr review --json"
|
|
813
|
+
],
|
|
814
|
+
"flags": {
|
|
815
|
+
"json": {
|
|
816
|
+
"description": "Format output as json.",
|
|
817
|
+
"helpGroup": "GLOBAL",
|
|
818
|
+
"name": "json",
|
|
819
|
+
"allowNo": false,
|
|
820
|
+
"type": "boolean"
|
|
821
|
+
}
|
|
822
|
+
},
|
|
823
|
+
"hasDynamicHelp": false,
|
|
824
|
+
"hiddenAliases": [],
|
|
825
|
+
"id": "pr:review",
|
|
826
|
+
"pluginAlias": "devvami",
|
|
827
|
+
"pluginName": "devvami",
|
|
828
|
+
"pluginType": "core",
|
|
829
|
+
"strict": true,
|
|
830
|
+
"enableJsonFlag": true,
|
|
831
|
+
"isESM": true,
|
|
832
|
+
"relativePath": [
|
|
833
|
+
"src",
|
|
834
|
+
"commands",
|
|
835
|
+
"pr",
|
|
836
|
+
"review.js"
|
|
837
|
+
]
|
|
838
|
+
},
|
|
839
|
+
"pr:status": {
|
|
840
|
+
"aliases": [],
|
|
841
|
+
"args": {},
|
|
842
|
+
"description": "Stato delle tue PR aperte (come autore e come reviewer)",
|
|
843
|
+
"examples": [
|
|
844
|
+
"<%= config.bin %> pr status",
|
|
845
|
+
"<%= config.bin %> pr status --author",
|
|
846
|
+
"<%= config.bin %> pr status --json"
|
|
847
|
+
],
|
|
848
|
+
"flags": {
|
|
849
|
+
"json": {
|
|
850
|
+
"description": "Format output as json.",
|
|
851
|
+
"helpGroup": "GLOBAL",
|
|
852
|
+
"name": "json",
|
|
853
|
+
"allowNo": false,
|
|
854
|
+
"type": "boolean"
|
|
855
|
+
},
|
|
856
|
+
"author": {
|
|
857
|
+
"description": "Solo PR dove sei autore",
|
|
858
|
+
"name": "author",
|
|
859
|
+
"allowNo": false,
|
|
860
|
+
"type": "boolean"
|
|
861
|
+
},
|
|
862
|
+
"reviewer": {
|
|
863
|
+
"description": "Solo PR dove sei reviewer",
|
|
864
|
+
"name": "reviewer",
|
|
865
|
+
"allowNo": false,
|
|
866
|
+
"type": "boolean"
|
|
867
|
+
}
|
|
868
|
+
},
|
|
869
|
+
"hasDynamicHelp": false,
|
|
870
|
+
"hiddenAliases": [],
|
|
871
|
+
"id": "pr:status",
|
|
872
|
+
"pluginAlias": "devvami",
|
|
873
|
+
"pluginName": "devvami",
|
|
874
|
+
"pluginType": "core",
|
|
875
|
+
"strict": true,
|
|
876
|
+
"enableJsonFlag": true,
|
|
877
|
+
"isESM": true,
|
|
878
|
+
"relativePath": [
|
|
879
|
+
"src",
|
|
880
|
+
"commands",
|
|
881
|
+
"pr",
|
|
882
|
+
"status.js"
|
|
883
|
+
]
|
|
884
|
+
},
|
|
706
885
|
"pipeline:logs": {
|
|
707
886
|
"aliases": [],
|
|
708
887
|
"args": {
|
|
@@ -845,14 +1024,26 @@
|
|
|
845
1024
|
"status.js"
|
|
846
1025
|
]
|
|
847
1026
|
},
|
|
848
|
-
"
|
|
1027
|
+
"prompts:browse": {
|
|
849
1028
|
"aliases": [],
|
|
850
|
-
"args": {
|
|
851
|
-
|
|
1029
|
+
"args": {
|
|
1030
|
+
"source": {
|
|
1031
|
+
"description": "Source to browse: skills | awesome",
|
|
1032
|
+
"name": "source",
|
|
1033
|
+
"options": [
|
|
1034
|
+
"skills",
|
|
1035
|
+
"awesome"
|
|
1036
|
+
],
|
|
1037
|
+
"required": true
|
|
1038
|
+
}
|
|
1039
|
+
},
|
|
1040
|
+
"description": "Browse prompts and skills from external sources (skills.sh, awesome-copilot)",
|
|
852
1041
|
"examples": [
|
|
853
|
-
"<%= config.bin %>
|
|
854
|
-
"<%= config.bin %>
|
|
855
|
-
"<%= config.bin %>
|
|
1042
|
+
"<%= config.bin %> prompts browse skills --query refactor",
|
|
1043
|
+
"<%= config.bin %> prompts browse skills --query testing --json",
|
|
1044
|
+
"<%= config.bin %> prompts browse awesome",
|
|
1045
|
+
"<%= config.bin %> prompts browse awesome --category agents",
|
|
1046
|
+
"<%= config.bin %> prompts browse awesome --category instructions --json"
|
|
856
1047
|
],
|
|
857
1048
|
"flags": {
|
|
858
1049
|
"json": {
|
|
@@ -862,29 +1053,27 @@
|
|
|
862
1053
|
"allowNo": false,
|
|
863
1054
|
"type": "boolean"
|
|
864
1055
|
},
|
|
865
|
-
"
|
|
866
|
-
"
|
|
867
|
-
"
|
|
1056
|
+
"query": {
|
|
1057
|
+
"char": "q",
|
|
1058
|
+
"description": "Search query (only applies to skills source)",
|
|
1059
|
+
"name": "query",
|
|
868
1060
|
"hasDynamicHelp": false,
|
|
869
1061
|
"multiple": false,
|
|
870
1062
|
"type": "option"
|
|
871
1063
|
},
|
|
872
|
-
"
|
|
873
|
-
"
|
|
874
|
-
"
|
|
875
|
-
"
|
|
876
|
-
"
|
|
877
|
-
|
|
878
|
-
|
|
879
|
-
"
|
|
880
|
-
"name": "dry-run",
|
|
881
|
-
"allowNo": false,
|
|
882
|
-
"type": "boolean"
|
|
1064
|
+
"category": {
|
|
1065
|
+
"char": "c",
|
|
1066
|
+
"description": "awesome-copilot category (agents, instructions, skills, plugins, hooks, workflows)",
|
|
1067
|
+
"name": "category",
|
|
1068
|
+
"default": "instructions",
|
|
1069
|
+
"hasDynamicHelp": false,
|
|
1070
|
+
"multiple": false,
|
|
1071
|
+
"type": "option"
|
|
883
1072
|
}
|
|
884
1073
|
},
|
|
885
1074
|
"hasDynamicHelp": false,
|
|
886
1075
|
"hiddenAliases": [],
|
|
887
|
-
"id": "
|
|
1076
|
+
"id": "prompts:browse",
|
|
888
1077
|
"pluginAlias": "devvami",
|
|
889
1078
|
"pluginName": "devvami",
|
|
890
1079
|
"pluginType": "core",
|
|
@@ -894,24 +1083,25 @@
|
|
|
894
1083
|
"relativePath": [
|
|
895
1084
|
"src",
|
|
896
1085
|
"commands",
|
|
897
|
-
"
|
|
898
|
-
"
|
|
1086
|
+
"prompts",
|
|
1087
|
+
"browse.js"
|
|
899
1088
|
]
|
|
900
1089
|
},
|
|
901
|
-
"
|
|
1090
|
+
"prompts:download": {
|
|
902
1091
|
"aliases": [],
|
|
903
1092
|
"args": {
|
|
904
|
-
"
|
|
905
|
-
"description": "
|
|
906
|
-
"name": "
|
|
907
|
-
"required":
|
|
1093
|
+
"path": {
|
|
1094
|
+
"description": "Relative path of the prompt in the repository (e.g. coding/refactor-prompt.md)",
|
|
1095
|
+
"name": "path",
|
|
1096
|
+
"required": false
|
|
908
1097
|
}
|
|
909
1098
|
},
|
|
910
|
-
"description": "
|
|
1099
|
+
"description": "Download a prompt from your personal repository to .prompts/",
|
|
911
1100
|
"examples": [
|
|
912
|
-
"<%= config.bin %>
|
|
913
|
-
"<%= config.bin %>
|
|
914
|
-
"<%= config.bin %>
|
|
1101
|
+
"<%= config.bin %> prompts download",
|
|
1102
|
+
"<%= config.bin %> prompts download coding/refactor-prompt.md",
|
|
1103
|
+
"<%= config.bin %> prompts download coding/refactor-prompt.md --overwrite",
|
|
1104
|
+
"<%= config.bin %> prompts download --json"
|
|
915
1105
|
],
|
|
916
1106
|
"flags": {
|
|
917
1107
|
"json": {
|
|
@@ -921,37 +1111,96 @@
|
|
|
921
1111
|
"allowNo": false,
|
|
922
1112
|
"type": "boolean"
|
|
923
1113
|
},
|
|
924
|
-
"
|
|
925
|
-
"description": "
|
|
926
|
-
"name": "
|
|
1114
|
+
"overwrite": {
|
|
1115
|
+
"description": "Overwrite existing local file without prompting",
|
|
1116
|
+
"name": "overwrite",
|
|
1117
|
+
"allowNo": false,
|
|
1118
|
+
"type": "boolean"
|
|
1119
|
+
}
|
|
1120
|
+
},
|
|
1121
|
+
"hasDynamicHelp": false,
|
|
1122
|
+
"hiddenAliases": [],
|
|
1123
|
+
"id": "prompts:download",
|
|
1124
|
+
"pluginAlias": "devvami",
|
|
1125
|
+
"pluginName": "devvami",
|
|
1126
|
+
"pluginType": "core",
|
|
1127
|
+
"strict": true,
|
|
1128
|
+
"enableJsonFlag": true,
|
|
1129
|
+
"isESM": true,
|
|
1130
|
+
"relativePath": [
|
|
1131
|
+
"src",
|
|
1132
|
+
"commands",
|
|
1133
|
+
"prompts",
|
|
1134
|
+
"download.js"
|
|
1135
|
+
]
|
|
1136
|
+
},
|
|
1137
|
+
"prompts:install-speckit": {
|
|
1138
|
+
"aliases": [],
|
|
1139
|
+
"args": {},
|
|
1140
|
+
"description": "Install spec-kit (specify-cli) and run `specify init` to set up Spec-Driven Development",
|
|
1141
|
+
"examples": [
|
|
1142
|
+
"<%= config.bin %> prompts install-speckit",
|
|
1143
|
+
"<%= config.bin %> prompts install-speckit --ai opencode",
|
|
1144
|
+
"<%= config.bin %> prompts install-speckit --force",
|
|
1145
|
+
"<%= config.bin %> prompts install-speckit --reinstall"
|
|
1146
|
+
],
|
|
1147
|
+
"flags": {
|
|
1148
|
+
"ai": {
|
|
1149
|
+
"description": "AI agent to pass to `specify init --ai` (defaults to the aiTool set in `dvmi init`)",
|
|
1150
|
+
"name": "ai",
|
|
927
1151
|
"hasDynamicHelp": false,
|
|
928
1152
|
"multiple": false,
|
|
1153
|
+
"options": [
|
|
1154
|
+
"opencode",
|
|
1155
|
+
"copilot",
|
|
1156
|
+
"claude",
|
|
1157
|
+
"gemini",
|
|
1158
|
+
"cursor-agent",
|
|
1159
|
+
"codex",
|
|
1160
|
+
"windsurf",
|
|
1161
|
+
"kiro-cli",
|
|
1162
|
+
"amp"
|
|
1163
|
+
],
|
|
929
1164
|
"type": "option"
|
|
1165
|
+
},
|
|
1166
|
+
"force": {
|
|
1167
|
+
"char": "f",
|
|
1168
|
+
"description": "Pass --force to `specify init` (safe to run in a non-empty directory)",
|
|
1169
|
+
"name": "force",
|
|
1170
|
+
"allowNo": false,
|
|
1171
|
+
"type": "boolean"
|
|
1172
|
+
},
|
|
1173
|
+
"reinstall": {
|
|
1174
|
+
"description": "Reinstall specify-cli even if it is already installed",
|
|
1175
|
+
"name": "reinstall",
|
|
1176
|
+
"allowNo": false,
|
|
1177
|
+
"type": "boolean"
|
|
930
1178
|
}
|
|
931
1179
|
},
|
|
932
1180
|
"hasDynamicHelp": false,
|
|
933
1181
|
"hiddenAliases": [],
|
|
934
|
-
"id": "
|
|
1182
|
+
"id": "prompts:install-speckit",
|
|
935
1183
|
"pluginAlias": "devvami",
|
|
936
1184
|
"pluginName": "devvami",
|
|
937
1185
|
"pluginType": "core",
|
|
938
1186
|
"strict": true,
|
|
939
|
-
"enableJsonFlag":
|
|
1187
|
+
"enableJsonFlag": false,
|
|
940
1188
|
"isESM": true,
|
|
941
1189
|
"relativePath": [
|
|
942
1190
|
"src",
|
|
943
1191
|
"commands",
|
|
944
|
-
"
|
|
945
|
-
"
|
|
1192
|
+
"prompts",
|
|
1193
|
+
"install-speckit.js"
|
|
946
1194
|
]
|
|
947
1195
|
},
|
|
948
|
-
"
|
|
1196
|
+
"prompts:list": {
|
|
949
1197
|
"aliases": [],
|
|
950
1198
|
"args": {},
|
|
951
|
-
"description": "
|
|
1199
|
+
"description": "List prompts from your personal prompt repository",
|
|
952
1200
|
"examples": [
|
|
953
|
-
"<%= config.bin %>
|
|
954
|
-
"<%= config.bin %>
|
|
1201
|
+
"<%= config.bin %> prompts list",
|
|
1202
|
+
"<%= config.bin %> prompts list --filter refactor",
|
|
1203
|
+
"<%= config.bin %> prompts list --json"
|
|
955
1204
|
],
|
|
956
1205
|
"flags": {
|
|
957
1206
|
"json": {
|
|
@@ -960,11 +1209,19 @@
|
|
|
960
1209
|
"name": "json",
|
|
961
1210
|
"allowNo": false,
|
|
962
1211
|
"type": "boolean"
|
|
1212
|
+
},
|
|
1213
|
+
"filter": {
|
|
1214
|
+
"char": "f",
|
|
1215
|
+
"description": "Filter prompts by title, category, description, or tag (case-insensitive)",
|
|
1216
|
+
"name": "filter",
|
|
1217
|
+
"hasDynamicHelp": false,
|
|
1218
|
+
"multiple": false,
|
|
1219
|
+
"type": "option"
|
|
963
1220
|
}
|
|
964
1221
|
},
|
|
965
1222
|
"hasDynamicHelp": false,
|
|
966
1223
|
"hiddenAliases": [],
|
|
967
|
-
"id": "
|
|
1224
|
+
"id": "prompts:list",
|
|
968
1225
|
"pluginAlias": "devvami",
|
|
969
1226
|
"pluginName": "devvami",
|
|
970
1227
|
"pluginType": "core",
|
|
@@ -974,18 +1231,25 @@
|
|
|
974
1231
|
"relativePath": [
|
|
975
1232
|
"src",
|
|
976
1233
|
"commands",
|
|
977
|
-
"
|
|
978
|
-
"
|
|
1234
|
+
"prompts",
|
|
1235
|
+
"list.js"
|
|
979
1236
|
]
|
|
980
1237
|
},
|
|
981
|
-
"
|
|
1238
|
+
"prompts:run": {
|
|
982
1239
|
"aliases": [],
|
|
983
|
-
"args": {
|
|
984
|
-
|
|
1240
|
+
"args": {
|
|
1241
|
+
"path": {
|
|
1242
|
+
"description": "Relative path of the local prompt (e.g. coding/refactor-prompt.md)",
|
|
1243
|
+
"name": "path",
|
|
1244
|
+
"required": false
|
|
1245
|
+
}
|
|
1246
|
+
},
|
|
1247
|
+
"description": "Execute a local prompt with a configured AI tool",
|
|
985
1248
|
"examples": [
|
|
986
|
-
"<%= config.bin %>
|
|
987
|
-
"<%= config.bin %>
|
|
988
|
-
"<%= config.bin %>
|
|
1249
|
+
"<%= config.bin %> prompts run",
|
|
1250
|
+
"<%= config.bin %> prompts run coding/refactor-prompt.md",
|
|
1251
|
+
"<%= config.bin %> prompts run coding/refactor-prompt.md --tool opencode",
|
|
1252
|
+
"<%= config.bin %> prompts run coding/refactor-prompt.md --json"
|
|
989
1253
|
],
|
|
990
1254
|
"flags": {
|
|
991
1255
|
"json": {
|
|
@@ -995,22 +1259,22 @@
|
|
|
995
1259
|
"allowNo": false,
|
|
996
1260
|
"type": "boolean"
|
|
997
1261
|
},
|
|
998
|
-
"
|
|
999
|
-
"
|
|
1000
|
-
"
|
|
1001
|
-
"
|
|
1002
|
-
"
|
|
1003
|
-
|
|
1004
|
-
|
|
1005
|
-
|
|
1006
|
-
|
|
1007
|
-
|
|
1008
|
-
"type": "
|
|
1262
|
+
"tool": {
|
|
1263
|
+
"char": "t",
|
|
1264
|
+
"description": "AI tool to use (opencode, copilot)",
|
|
1265
|
+
"name": "tool",
|
|
1266
|
+
"hasDynamicHelp": false,
|
|
1267
|
+
"multiple": false,
|
|
1268
|
+
"options": [
|
|
1269
|
+
"opencode",
|
|
1270
|
+
"copilot"
|
|
1271
|
+
],
|
|
1272
|
+
"type": "option"
|
|
1009
1273
|
}
|
|
1010
1274
|
},
|
|
1011
1275
|
"hasDynamicHelp": false,
|
|
1012
1276
|
"hiddenAliases": [],
|
|
1013
|
-
"id": "
|
|
1277
|
+
"id": "prompts:run",
|
|
1014
1278
|
"pluginAlias": "devvami",
|
|
1015
1279
|
"pluginName": "devvami",
|
|
1016
1280
|
"pluginType": "core",
|
|
@@ -1020,8 +1284,8 @@
|
|
|
1020
1284
|
"relativePath": [
|
|
1021
1285
|
"src",
|
|
1022
1286
|
"commands",
|
|
1023
|
-
"
|
|
1024
|
-
"
|
|
1287
|
+
"prompts",
|
|
1288
|
+
"run.js"
|
|
1025
1289
|
]
|
|
1026
1290
|
},
|
|
1027
1291
|
"repo:list": {
|
|
@@ -1234,5 +1498,5 @@
|
|
|
1234
1498
|
]
|
|
1235
1499
|
}
|
|
1236
1500
|
},
|
|
1237
|
-
"version": "1.
|
|
1501
|
+
"version": "1.1.1"
|
|
1238
1502
|
}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "devvami",
|
|
3
3
|
"description": "DevEx CLI for developers and teams — manage repos, PRs, pipelines, tasks, and costs from the terminal",
|
|
4
|
-
"version": "1.
|
|
4
|
+
"version": "1.1.1",
|
|
5
5
|
"author": "",
|
|
6
6
|
"type": "module",
|
|
7
7
|
"bin": {
|
|
@@ -76,6 +76,9 @@
|
|
|
76
76
|
},
|
|
77
77
|
"docs": {
|
|
78
78
|
"description": "📖 Repository documentation"
|
|
79
|
+
},
|
|
80
|
+
"prompts": {
|
|
81
|
+
"description": "🔮 AI prompt hub — browse, download, and run prompts"
|
|
79
82
|
}
|
|
80
83
|
}
|
|
81
84
|
},
|
|
@@ -125,6 +128,7 @@
|
|
|
125
128
|
"commit": "git-cz",
|
|
126
129
|
"release": "semantic-release",
|
|
127
130
|
"release:dry-run": "semantic-release --dry-run",
|
|
131
|
+
"version:sync": "node scripts/sync-version.js",
|
|
128
132
|
"lint": "eslint src/ tests/",
|
|
129
133
|
"lint:fix": "eslint src/ tests/ --fix",
|
|
130
134
|
"format": "prettier --write src/ tests/",
|
package/src/commands/init.js
CHANGED
|
@@ -9,6 +9,8 @@ import { exec, which } from '../services/shell.js'
|
|
|
9
9
|
import { configExists, loadConfig, saveConfig, CONFIG_PATH } from '../services/config.js'
|
|
10
10
|
import { oauthFlow, storeToken, validateToken, getTeams } from '../services/clickup.js'
|
|
11
11
|
|
|
12
|
+
import { SUPPORTED_TOOLS } from '../services/prompts.js'
|
|
13
|
+
|
|
12
14
|
export default class Init extends Command {
|
|
13
15
|
static description = 'Setup completo ambiente di sviluppo locale'
|
|
14
16
|
|
|
@@ -207,7 +209,34 @@ export default class Init extends Command {
|
|
|
207
209
|
}
|
|
208
210
|
}
|
|
209
211
|
|
|
210
|
-
// 6.
|
|
212
|
+
// 6. AI tool selection
|
|
213
|
+
if (isDryRun) {
|
|
214
|
+
steps.push({ name: 'ai-tool', status: 'would configure' })
|
|
215
|
+
} else if (isJson) {
|
|
216
|
+
config = await loadConfig()
|
|
217
|
+
steps.push({
|
|
218
|
+
name: 'ai-tool',
|
|
219
|
+
status: config.aiTool ? 'configured' : 'not_configured',
|
|
220
|
+
aiTool: config.aiTool,
|
|
221
|
+
})
|
|
222
|
+
} else {
|
|
223
|
+
const aiToolChoices = Object.keys(SUPPORTED_TOOLS).map((t) => ({ name: t, value: t }))
|
|
224
|
+
aiToolChoices.push({ name: 'none / skip', value: '' })
|
|
225
|
+
const aiTool = await select({
|
|
226
|
+
message: 'Select your preferred AI tool for `dvmi prompts run`:',
|
|
227
|
+
choices: aiToolChoices,
|
|
228
|
+
})
|
|
229
|
+
if (aiTool) {
|
|
230
|
+
config = { ...config, aiTool }
|
|
231
|
+
await saveConfig(config)
|
|
232
|
+
this.log(chalk.green(`✓ AI tool set to: ${aiTool}`))
|
|
233
|
+
steps.push({ name: 'ai-tool', status: 'configured', aiTool })
|
|
234
|
+
} else {
|
|
235
|
+
steps.push({ name: 'ai-tool', status: 'skipped' })
|
|
236
|
+
}
|
|
237
|
+
}
|
|
238
|
+
|
|
239
|
+
// 7. Shell completions
|
|
211
240
|
steps.push({ name: 'shell-completions', status: 'ok', action: 'install via: dvmi autocomplete' })
|
|
212
241
|
|
|
213
242
|
const result = { steps, configPath: CONFIG_PATH }
|
package/src/commands/open.js
CHANGED