devvami 1.5.0 โ 1.5.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/README.md +65 -0
- package/oclif.manifest.json +249 -249
- package/package.json +1 -1
- package/src/commands/sync-config-ai/index.js +124 -10
- package/src/formatters/ai-config.js +100 -12
- package/src/services/ai-config-store.js +43 -12
- package/src/services/ai-env-deployer.js +216 -10
- package/src/services/ai-env-scanner.js +752 -11
- package/src/types.js +35 -3
- package/src/utils/tui/form.js +195 -17
- package/src/utils/tui/tab-tui.js +353 -64
package/README.md
CHANGED
|
@@ -32,6 +32,12 @@ Devvami gives you a unified CLI to manage your entire development workflow:
|
|
|
32
32
|
| ๐ **Docs** | Search and read repository documentation |
|
|
33
33
|
| ๐ **Search** | Search code across repositories |
|
|
34
34
|
| ๐ฉบ **Health Check** | Diagnose your development environment |
|
|
35
|
+
| ๐๏ธ **Dotfiles** | Manage dotfiles with chezmoi and age encryption |
|
|
36
|
+
| ๐ค **AI Config** | Sync AI tool configurations across environments |
|
|
37
|
+
| ๐ฌ **Prompts** | Browse, download, and run AI prompts locally |
|
|
38
|
+
| ๐ก๏ธ **Vulnerabilities** | Scan and search CVEs in your dependencies |
|
|
39
|
+
| ๐ **Logs** | Browse and query CloudWatch log groups |
|
|
40
|
+
| ๐ **Security** | Set up credential protection tools (aws-vault, GPG) |
|
|
35
41
|
|
|
36
42
|
All from your terminal. No context switching.
|
|
37
43
|
|
|
@@ -136,6 +142,64 @@ dvmi docs search # Search docs
|
|
|
136
142
|
dvmi docs projects # List documented projects
|
|
137
143
|
```
|
|
138
144
|
|
|
145
|
+
### Dotfiles
|
|
146
|
+
|
|
147
|
+
```bash
|
|
148
|
+
dvmi dotfiles setup # Configure chezmoi with age encryption
|
|
149
|
+
dvmi dotfiles add # Add files to chezmoi management (auto-encrypts sensitive files)
|
|
150
|
+
dvmi dotfiles status # Show managed files, encryption state, and sync health
|
|
151
|
+
dvmi dotfiles sync # Sync dotfiles with remote repository (push/pull)
|
|
152
|
+
```
|
|
153
|
+
|
|
154
|
+
### Prompts
|
|
155
|
+
|
|
156
|
+
```bash
|
|
157
|
+
dvmi prompts list # List prompts from your personal repository
|
|
158
|
+
dvmi prompts browse # Browse prompts from skills.sh or awesome-copilot
|
|
159
|
+
dvmi prompts download # Download a prompt to .prompts/
|
|
160
|
+
dvmi prompts run # Execute a local prompt with a configured AI tool
|
|
161
|
+
dvmi prompts install-speckit # Install spec-kit and run specify init
|
|
162
|
+
```
|
|
163
|
+
|
|
164
|
+
### Vulnerabilities
|
|
165
|
+
|
|
166
|
+
```bash
|
|
167
|
+
dvmi vuln scan # Scan current directory for known vulnerabilities
|
|
168
|
+
dvmi vuln search # Search for recent CVEs by keyword
|
|
169
|
+
dvmi vuln detail <CVE-ID> # View full details for a specific CVE
|
|
170
|
+
```
|
|
171
|
+
|
|
172
|
+
### Logs
|
|
173
|
+
|
|
174
|
+
```bash
|
|
175
|
+
dvmi logs # Browse and query CloudWatch log groups interactively
|
|
176
|
+
```
|
|
177
|
+
|
|
178
|
+
### Security
|
|
179
|
+
|
|
180
|
+
```bash
|
|
181
|
+
dvmi security setup # Interactive wizard to set up credential protection tools
|
|
182
|
+
```
|
|
183
|
+
|
|
184
|
+
### AI Config
|
|
185
|
+
|
|
186
|
+
```bash
|
|
187
|
+
dvmi sync-config-ai # Manage AI tool configurations across environments via TUI
|
|
188
|
+
dvmi sync-config-ai --json # Output current state as structured JSON (CI / scripting)
|
|
189
|
+
```
|
|
190
|
+
|
|
191
|
+
The TUI shows 6 tabs โ **Environments** (read-only detection) + one tab per category (**MCPs**, **Commands**, **Rules**, **Skills**, **Agents**). Each category tab has two sections:
|
|
192
|
+
|
|
193
|
+
- **Native** โ items already in each tool's config that dvmi doesn't manage yet (press `i` to import)
|
|
194
|
+
- **Managed** โ entries you've added via dvmi; synced across all target environments automatically
|
|
195
|
+
|
|
196
|
+
MCP server forms adapt to the selected transport type: **stdio** shows Command and Args fields, **sse/streamable-http** shows a URL field, and irrelevant fields are hidden automatically. Environment variables (e.g. API keys) can be set via a dedicated editor in `KEY=VALUE` format. Args are entered one per line for proper support of arguments containing spaces. Transport-specific validation ensures stdio entries have a command and SSE/streamable-http entries have a URL before saving.
|
|
197
|
+
|
|
198
|
+
|
|
199
|
+
Supports 10 AI environments: VS Code Copilot, Claude Code, OpenCode, Gemini CLI, GitHub Copilot CLI, Cursor, Windsurf, Continue.dev, Zed, Amazon Q.
|
|
200
|
+
|
|
201
|
+
Key bindings: `n` create ยท `Enter` edit ยท `d` toggle active ยท `Del` delete ยท `r` reveal env vars ยท `i` import native ยท `Tab` switch section ยท `q` exit
|
|
202
|
+
|
|
139
203
|
### Other
|
|
140
204
|
|
|
141
205
|
```bash
|
|
@@ -143,6 +207,7 @@ dvmi auth login # Login to GitHub/AWS
|
|
|
143
207
|
dvmi search # Search code across repos
|
|
144
208
|
dvmi changelog # Generate changelog from commits
|
|
145
209
|
dvmi open # Open resources in browser
|
|
210
|
+
dvmi welcome # Show the dvmi mission dashboard
|
|
146
211
|
```
|
|
147
212
|
|
|
148
213
|
---
|
package/oclif.manifest.json
CHANGED
|
@@ -608,211 +608,6 @@
|
|
|
608
608
|
"repo.js"
|
|
609
609
|
]
|
|
610
610
|
},
|
|
611
|
-
"docs:list": {
|
|
612
|
-
"aliases": [],
|
|
613
|
-
"args": {},
|
|
614
|
-
"description": "Lista i file di documentazione del repository",
|
|
615
|
-
"examples": [
|
|
616
|
-
"<%= config.bin %> docs list",
|
|
617
|
-
"<%= config.bin %> docs list --repo my-service",
|
|
618
|
-
"<%= config.bin %> docs list --search \"arch\"",
|
|
619
|
-
"<%= config.bin %> docs list --json"
|
|
620
|
-
],
|
|
621
|
-
"flags": {
|
|
622
|
-
"json": {
|
|
623
|
-
"description": "Format output as json.",
|
|
624
|
-
"helpGroup": "GLOBAL",
|
|
625
|
-
"name": "json",
|
|
626
|
-
"allowNo": false,
|
|
627
|
-
"type": "boolean"
|
|
628
|
-
},
|
|
629
|
-
"repo": {
|
|
630
|
-
"char": "r",
|
|
631
|
-
"description": "Nome del repository (default: repo nella directory corrente)",
|
|
632
|
-
"name": "repo",
|
|
633
|
-
"hasDynamicHelp": false,
|
|
634
|
-
"multiple": false,
|
|
635
|
-
"type": "option"
|
|
636
|
-
},
|
|
637
|
-
"search": {
|
|
638
|
-
"char": "s",
|
|
639
|
-
"description": "Filtra per nome o percorso (case-insensitive)",
|
|
640
|
-
"name": "search",
|
|
641
|
-
"hasDynamicHelp": false,
|
|
642
|
-
"multiple": false,
|
|
643
|
-
"type": "option"
|
|
644
|
-
}
|
|
645
|
-
},
|
|
646
|
-
"hasDynamicHelp": false,
|
|
647
|
-
"hiddenAliases": [],
|
|
648
|
-
"id": "docs:list",
|
|
649
|
-
"pluginAlias": "devvami",
|
|
650
|
-
"pluginName": "devvami",
|
|
651
|
-
"pluginType": "core",
|
|
652
|
-
"strict": true,
|
|
653
|
-
"enableJsonFlag": true,
|
|
654
|
-
"isESM": true,
|
|
655
|
-
"relativePath": [
|
|
656
|
-
"src",
|
|
657
|
-
"commands",
|
|
658
|
-
"docs",
|
|
659
|
-
"list.js"
|
|
660
|
-
]
|
|
661
|
-
},
|
|
662
|
-
"docs:projects": {
|
|
663
|
-
"aliases": [],
|
|
664
|
-
"args": {},
|
|
665
|
-
"description": "Mostra la documentazione disponibile per ogni repository dell'organizzazione",
|
|
666
|
-
"examples": [
|
|
667
|
-
"<%= config.bin %> docs projects",
|
|
668
|
-
"<%= config.bin %> docs projects --search \"service\"",
|
|
669
|
-
"<%= config.bin %> docs projects --json"
|
|
670
|
-
],
|
|
671
|
-
"flags": {
|
|
672
|
-
"json": {
|
|
673
|
-
"description": "Format output as json.",
|
|
674
|
-
"helpGroup": "GLOBAL",
|
|
675
|
-
"name": "json",
|
|
676
|
-
"allowNo": false,
|
|
677
|
-
"type": "boolean"
|
|
678
|
-
},
|
|
679
|
-
"search": {
|
|
680
|
-
"char": "s",
|
|
681
|
-
"description": "Filtra per nome repository (case-insensitive)",
|
|
682
|
-
"name": "search",
|
|
683
|
-
"hasDynamicHelp": false,
|
|
684
|
-
"multiple": false,
|
|
685
|
-
"type": "option"
|
|
686
|
-
}
|
|
687
|
-
},
|
|
688
|
-
"hasDynamicHelp": false,
|
|
689
|
-
"hiddenAliases": [],
|
|
690
|
-
"id": "docs:projects",
|
|
691
|
-
"pluginAlias": "devvami",
|
|
692
|
-
"pluginName": "devvami",
|
|
693
|
-
"pluginType": "core",
|
|
694
|
-
"strict": true,
|
|
695
|
-
"enableJsonFlag": true,
|
|
696
|
-
"isESM": true,
|
|
697
|
-
"relativePath": [
|
|
698
|
-
"src",
|
|
699
|
-
"commands",
|
|
700
|
-
"docs",
|
|
701
|
-
"projects.js"
|
|
702
|
-
]
|
|
703
|
-
},
|
|
704
|
-
"docs:read": {
|
|
705
|
-
"aliases": [],
|
|
706
|
-
"args": {
|
|
707
|
-
"file": {
|
|
708
|
-
"description": "Percorso del file da leggere (default: README)",
|
|
709
|
-
"name": "file",
|
|
710
|
-
"required": false
|
|
711
|
-
}
|
|
712
|
-
},
|
|
713
|
-
"description": "Leggi un file di documentazione del repository nel terminale",
|
|
714
|
-
"examples": [
|
|
715
|
-
"<%= config.bin %> docs read",
|
|
716
|
-
"<%= config.bin %> docs read --repo my-service",
|
|
717
|
-
"<%= config.bin %> docs read docs/architecture.md",
|
|
718
|
-
"<%= config.bin %> docs read openapi.yaml",
|
|
719
|
-
"<%= config.bin %> docs read openapi.yaml --raw",
|
|
720
|
-
"<%= config.bin %> docs read --render",
|
|
721
|
-
"<%= config.bin %> docs read --json"
|
|
722
|
-
],
|
|
723
|
-
"flags": {
|
|
724
|
-
"json": {
|
|
725
|
-
"description": "Format output as json.",
|
|
726
|
-
"helpGroup": "GLOBAL",
|
|
727
|
-
"name": "json",
|
|
728
|
-
"allowNo": false,
|
|
729
|
-
"type": "boolean"
|
|
730
|
-
},
|
|
731
|
-
"repo": {
|
|
732
|
-
"char": "r",
|
|
733
|
-
"description": "Nome del repository (default: repo nella directory corrente)",
|
|
734
|
-
"name": "repo",
|
|
735
|
-
"hasDynamicHelp": false,
|
|
736
|
-
"multiple": false,
|
|
737
|
-
"type": "option"
|
|
738
|
-
},
|
|
739
|
-
"raw": {
|
|
740
|
-
"description": "Mostra contenuto grezzo senza parsing speciale",
|
|
741
|
-
"name": "raw",
|
|
742
|
-
"allowNo": false,
|
|
743
|
-
"type": "boolean"
|
|
744
|
-
},
|
|
745
|
-
"render": {
|
|
746
|
-
"description": "Apri i diagrammi Mermaid nel browser via mermaid.live",
|
|
747
|
-
"name": "render",
|
|
748
|
-
"allowNo": false,
|
|
749
|
-
"type": "boolean"
|
|
750
|
-
}
|
|
751
|
-
},
|
|
752
|
-
"hasDynamicHelp": false,
|
|
753
|
-
"hiddenAliases": [],
|
|
754
|
-
"id": "docs:read",
|
|
755
|
-
"pluginAlias": "devvami",
|
|
756
|
-
"pluginName": "devvami",
|
|
757
|
-
"pluginType": "core",
|
|
758
|
-
"strict": true,
|
|
759
|
-
"enableJsonFlag": true,
|
|
760
|
-
"isESM": true,
|
|
761
|
-
"relativePath": [
|
|
762
|
-
"src",
|
|
763
|
-
"commands",
|
|
764
|
-
"docs",
|
|
765
|
-
"read.js"
|
|
766
|
-
]
|
|
767
|
-
},
|
|
768
|
-
"docs:search": {
|
|
769
|
-
"aliases": [],
|
|
770
|
-
"args": {
|
|
771
|
-
"term": {
|
|
772
|
-
"description": "Termine di ricerca (case-insensitive)",
|
|
773
|
-
"name": "term",
|
|
774
|
-
"required": true
|
|
775
|
-
}
|
|
776
|
-
},
|
|
777
|
-
"description": "Cerca testo nella documentazione del repository",
|
|
778
|
-
"examples": [
|
|
779
|
-
"<%= config.bin %> docs search \"authentication\"",
|
|
780
|
-
"<%= config.bin %> docs search \"deploy\" --repo my-service",
|
|
781
|
-
"<%= config.bin %> docs search \"endpoint\" --json"
|
|
782
|
-
],
|
|
783
|
-
"flags": {
|
|
784
|
-
"json": {
|
|
785
|
-
"description": "Format output as json.",
|
|
786
|
-
"helpGroup": "GLOBAL",
|
|
787
|
-
"name": "json",
|
|
788
|
-
"allowNo": false,
|
|
789
|
-
"type": "boolean"
|
|
790
|
-
},
|
|
791
|
-
"repo": {
|
|
792
|
-
"char": "r",
|
|
793
|
-
"description": "Nome del repository (default: repo nella directory corrente)",
|
|
794
|
-
"name": "repo",
|
|
795
|
-
"hasDynamicHelp": false,
|
|
796
|
-
"multiple": false,
|
|
797
|
-
"type": "option"
|
|
798
|
-
}
|
|
799
|
-
},
|
|
800
|
-
"hasDynamicHelp": false,
|
|
801
|
-
"hiddenAliases": [],
|
|
802
|
-
"id": "docs:search",
|
|
803
|
-
"pluginAlias": "devvami",
|
|
804
|
-
"pluginName": "devvami",
|
|
805
|
-
"pluginType": "core",
|
|
806
|
-
"strict": true,
|
|
807
|
-
"enableJsonFlag": true,
|
|
808
|
-
"isESM": true,
|
|
809
|
-
"relativePath": [
|
|
810
|
-
"src",
|
|
811
|
-
"commands",
|
|
812
|
-
"docs",
|
|
813
|
-
"search.js"
|
|
814
|
-
]
|
|
815
|
-
},
|
|
816
611
|
"dotfiles:add": {
|
|
817
612
|
"aliases": [],
|
|
818
613
|
"args": {
|
|
@@ -1023,15 +818,15 @@
|
|
|
1023
818
|
"sync.js"
|
|
1024
819
|
]
|
|
1025
820
|
},
|
|
1026
|
-
"
|
|
821
|
+
"docs:list": {
|
|
1027
822
|
"aliases": [],
|
|
1028
823
|
"args": {},
|
|
1029
|
-
"description": "
|
|
824
|
+
"description": "Lista i file di documentazione del repository",
|
|
1030
825
|
"examples": [
|
|
1031
|
-
"<%= config.bin %>
|
|
1032
|
-
"<%= config.bin %>
|
|
1033
|
-
"<%= config.bin %>
|
|
1034
|
-
"<%= config.bin %>
|
|
826
|
+
"<%= config.bin %> docs list",
|
|
827
|
+
"<%= config.bin %> docs list --repo my-service",
|
|
828
|
+
"<%= config.bin %> docs list --search \"arch\"",
|
|
829
|
+
"<%= config.bin %> docs list --json"
|
|
1035
830
|
],
|
|
1036
831
|
"flags": {
|
|
1037
832
|
"json": {
|
|
@@ -1041,43 +836,172 @@
|
|
|
1041
836
|
"allowNo": false,
|
|
1042
837
|
"type": "boolean"
|
|
1043
838
|
},
|
|
1044
|
-
"
|
|
1045
|
-
"char": "
|
|
1046
|
-
"description": "
|
|
1047
|
-
"name": "
|
|
839
|
+
"repo": {
|
|
840
|
+
"char": "r",
|
|
841
|
+
"description": "Nome del repository (default: repo nella directory corrente)",
|
|
842
|
+
"name": "repo",
|
|
1048
843
|
"hasDynamicHelp": false,
|
|
1049
844
|
"multiple": false,
|
|
1050
845
|
"type": "option"
|
|
1051
846
|
},
|
|
1052
|
-
"
|
|
1053
|
-
"char": "
|
|
1054
|
-
"description": "
|
|
1055
|
-
"name": "
|
|
1056
|
-
"default": "",
|
|
847
|
+
"search": {
|
|
848
|
+
"char": "s",
|
|
849
|
+
"description": "Filtra per nome o percorso (case-insensitive)",
|
|
850
|
+
"name": "search",
|
|
1057
851
|
"hasDynamicHelp": false,
|
|
1058
852
|
"multiple": false,
|
|
1059
853
|
"type": "option"
|
|
854
|
+
}
|
|
855
|
+
},
|
|
856
|
+
"hasDynamicHelp": false,
|
|
857
|
+
"hiddenAliases": [],
|
|
858
|
+
"id": "docs:list",
|
|
859
|
+
"pluginAlias": "devvami",
|
|
860
|
+
"pluginName": "devvami",
|
|
861
|
+
"pluginType": "core",
|
|
862
|
+
"strict": true,
|
|
863
|
+
"enableJsonFlag": true,
|
|
864
|
+
"isESM": true,
|
|
865
|
+
"relativePath": [
|
|
866
|
+
"src",
|
|
867
|
+
"commands",
|
|
868
|
+
"docs",
|
|
869
|
+
"list.js"
|
|
870
|
+
]
|
|
871
|
+
},
|
|
872
|
+
"docs:projects": {
|
|
873
|
+
"aliases": [],
|
|
874
|
+
"args": {},
|
|
875
|
+
"description": "Mostra la documentazione disponibile per ogni repository dell'organizzazione",
|
|
876
|
+
"examples": [
|
|
877
|
+
"<%= config.bin %> docs projects",
|
|
878
|
+
"<%= config.bin %> docs projects --search \"service\"",
|
|
879
|
+
"<%= config.bin %> docs projects --json"
|
|
880
|
+
],
|
|
881
|
+
"flags": {
|
|
882
|
+
"json": {
|
|
883
|
+
"description": "Format output as json.",
|
|
884
|
+
"helpGroup": "GLOBAL",
|
|
885
|
+
"name": "json",
|
|
886
|
+
"allowNo": false,
|
|
887
|
+
"type": "boolean"
|
|
1060
888
|
},
|
|
1061
|
-
"
|
|
1062
|
-
"
|
|
1063
|
-
"
|
|
1064
|
-
"
|
|
889
|
+
"search": {
|
|
890
|
+
"char": "s",
|
|
891
|
+
"description": "Filtra per nome repository (case-insensitive)",
|
|
892
|
+
"name": "search",
|
|
1065
893
|
"hasDynamicHelp": false,
|
|
1066
894
|
"multiple": false,
|
|
1067
895
|
"type": "option"
|
|
896
|
+
}
|
|
897
|
+
},
|
|
898
|
+
"hasDynamicHelp": false,
|
|
899
|
+
"hiddenAliases": [],
|
|
900
|
+
"id": "docs:projects",
|
|
901
|
+
"pluginAlias": "devvami",
|
|
902
|
+
"pluginName": "devvami",
|
|
903
|
+
"pluginType": "core",
|
|
904
|
+
"strict": true,
|
|
905
|
+
"enableJsonFlag": true,
|
|
906
|
+
"isESM": true,
|
|
907
|
+
"relativePath": [
|
|
908
|
+
"src",
|
|
909
|
+
"commands",
|
|
910
|
+
"docs",
|
|
911
|
+
"projects.js"
|
|
912
|
+
]
|
|
913
|
+
},
|
|
914
|
+
"docs:read": {
|
|
915
|
+
"aliases": [],
|
|
916
|
+
"args": {
|
|
917
|
+
"file": {
|
|
918
|
+
"description": "Percorso del file da leggere (default: README)",
|
|
919
|
+
"name": "file",
|
|
920
|
+
"required": false
|
|
921
|
+
}
|
|
922
|
+
},
|
|
923
|
+
"description": "Leggi un file di documentazione del repository nel terminale",
|
|
924
|
+
"examples": [
|
|
925
|
+
"<%= config.bin %> docs read",
|
|
926
|
+
"<%= config.bin %> docs read --repo my-service",
|
|
927
|
+
"<%= config.bin %> docs read docs/architecture.md",
|
|
928
|
+
"<%= config.bin %> docs read openapi.yaml",
|
|
929
|
+
"<%= config.bin %> docs read openapi.yaml --raw",
|
|
930
|
+
"<%= config.bin %> docs read --render",
|
|
931
|
+
"<%= config.bin %> docs read --json"
|
|
932
|
+
],
|
|
933
|
+
"flags": {
|
|
934
|
+
"json": {
|
|
935
|
+
"description": "Format output as json.",
|
|
936
|
+
"helpGroup": "GLOBAL",
|
|
937
|
+
"name": "json",
|
|
938
|
+
"allowNo": false,
|
|
939
|
+
"type": "boolean"
|
|
1068
940
|
},
|
|
1069
|
-
"
|
|
1070
|
-
"
|
|
1071
|
-
"
|
|
1072
|
-
"
|
|
941
|
+
"repo": {
|
|
942
|
+
"char": "r",
|
|
943
|
+
"description": "Nome del repository (default: repo nella directory corrente)",
|
|
944
|
+
"name": "repo",
|
|
1073
945
|
"hasDynamicHelp": false,
|
|
1074
946
|
"multiple": false,
|
|
1075
947
|
"type": "option"
|
|
1076
948
|
},
|
|
1077
|
-
"
|
|
949
|
+
"raw": {
|
|
950
|
+
"description": "Mostra contenuto grezzo senza parsing speciale",
|
|
951
|
+
"name": "raw",
|
|
952
|
+
"allowNo": false,
|
|
953
|
+
"type": "boolean"
|
|
954
|
+
},
|
|
955
|
+
"render": {
|
|
956
|
+
"description": "Apri i diagrammi Mermaid nel browser via mermaid.live",
|
|
957
|
+
"name": "render",
|
|
958
|
+
"allowNo": false,
|
|
959
|
+
"type": "boolean"
|
|
960
|
+
}
|
|
961
|
+
},
|
|
962
|
+
"hasDynamicHelp": false,
|
|
963
|
+
"hiddenAliases": [],
|
|
964
|
+
"id": "docs:read",
|
|
965
|
+
"pluginAlias": "devvami",
|
|
966
|
+
"pluginName": "devvami",
|
|
967
|
+
"pluginType": "core",
|
|
968
|
+
"strict": true,
|
|
969
|
+
"enableJsonFlag": true,
|
|
970
|
+
"isESM": true,
|
|
971
|
+
"relativePath": [
|
|
972
|
+
"src",
|
|
973
|
+
"commands",
|
|
974
|
+
"docs",
|
|
975
|
+
"read.js"
|
|
976
|
+
]
|
|
977
|
+
},
|
|
978
|
+
"docs:search": {
|
|
979
|
+
"aliases": [],
|
|
980
|
+
"args": {
|
|
981
|
+
"term": {
|
|
982
|
+
"description": "Termine di ricerca (case-insensitive)",
|
|
983
|
+
"name": "term",
|
|
984
|
+
"required": true
|
|
985
|
+
}
|
|
986
|
+
},
|
|
987
|
+
"description": "Cerca testo nella documentazione del repository",
|
|
988
|
+
"examples": [
|
|
989
|
+
"<%= config.bin %> docs search \"authentication\"",
|
|
990
|
+
"<%= config.bin %> docs search \"deploy\" --repo my-service",
|
|
991
|
+
"<%= config.bin %> docs search \"endpoint\" --json"
|
|
992
|
+
],
|
|
993
|
+
"flags": {
|
|
994
|
+
"json": {
|
|
995
|
+
"description": "Format output as json.",
|
|
996
|
+
"helpGroup": "GLOBAL",
|
|
997
|
+
"name": "json",
|
|
998
|
+
"allowNo": false,
|
|
999
|
+
"type": "boolean"
|
|
1000
|
+
},
|
|
1001
|
+
"repo": {
|
|
1078
1002
|
"char": "r",
|
|
1079
|
-
"description": "
|
|
1080
|
-
"name": "
|
|
1003
|
+
"description": "Nome del repository (default: repo nella directory corrente)",
|
|
1004
|
+
"name": "repo",
|
|
1081
1005
|
"hasDynamicHelp": false,
|
|
1082
1006
|
"multiple": false,
|
|
1083
1007
|
"type": "option"
|
|
@@ -1085,7 +1009,7 @@
|
|
|
1085
1009
|
},
|
|
1086
1010
|
"hasDynamicHelp": false,
|
|
1087
1011
|
"hiddenAliases": [],
|
|
1088
|
-
"id": "
|
|
1012
|
+
"id": "docs:search",
|
|
1089
1013
|
"pluginAlias": "devvami",
|
|
1090
1014
|
"pluginName": "devvami",
|
|
1091
1015
|
"pluginType": "core",
|
|
@@ -1095,8 +1019,8 @@
|
|
|
1095
1019
|
"relativePath": [
|
|
1096
1020
|
"src",
|
|
1097
1021
|
"commands",
|
|
1098
|
-
"
|
|
1099
|
-
"
|
|
1022
|
+
"docs",
|
|
1023
|
+
"search.js"
|
|
1100
1024
|
]
|
|
1101
1025
|
},
|
|
1102
1026
|
"pipeline:logs": {
|
|
@@ -1241,6 +1165,82 @@
|
|
|
1241
1165
|
"status.js"
|
|
1242
1166
|
]
|
|
1243
1167
|
},
|
|
1168
|
+
"logs": {
|
|
1169
|
+
"aliases": [],
|
|
1170
|
+
"args": {},
|
|
1171
|
+
"description": "Browse and query CloudWatch log groups interactively",
|
|
1172
|
+
"examples": [
|
|
1173
|
+
"<%= config.bin %> logs",
|
|
1174
|
+
"<%= config.bin %> logs --group /aws/lambda/my-fn",
|
|
1175
|
+
"<%= config.bin %> logs --group /aws/lambda/my-fn --filter \"ERROR\" --since 24h",
|
|
1176
|
+
"<%= config.bin %> logs --group /aws/lambda/my-fn --limit 50 --json"
|
|
1177
|
+
],
|
|
1178
|
+
"flags": {
|
|
1179
|
+
"json": {
|
|
1180
|
+
"description": "Format output as json.",
|
|
1181
|
+
"helpGroup": "GLOBAL",
|
|
1182
|
+
"name": "json",
|
|
1183
|
+
"allowNo": false,
|
|
1184
|
+
"type": "boolean"
|
|
1185
|
+
},
|
|
1186
|
+
"group": {
|
|
1187
|
+
"char": "g",
|
|
1188
|
+
"description": "Log group name โ bypasses interactive picker",
|
|
1189
|
+
"name": "group",
|
|
1190
|
+
"hasDynamicHelp": false,
|
|
1191
|
+
"multiple": false,
|
|
1192
|
+
"type": "option"
|
|
1193
|
+
},
|
|
1194
|
+
"filter": {
|
|
1195
|
+
"char": "f",
|
|
1196
|
+
"description": "CloudWatch filter pattern (empty = all events)",
|
|
1197
|
+
"name": "filter",
|
|
1198
|
+
"default": "",
|
|
1199
|
+
"hasDynamicHelp": false,
|
|
1200
|
+
"multiple": false,
|
|
1201
|
+
"type": "option"
|
|
1202
|
+
},
|
|
1203
|
+
"since": {
|
|
1204
|
+
"description": "Time window: 1h, 24h, 7d",
|
|
1205
|
+
"name": "since",
|
|
1206
|
+
"default": "1h",
|
|
1207
|
+
"hasDynamicHelp": false,
|
|
1208
|
+
"multiple": false,
|
|
1209
|
+
"type": "option"
|
|
1210
|
+
},
|
|
1211
|
+
"limit": {
|
|
1212
|
+
"description": "Max log events to return (1โ10000)",
|
|
1213
|
+
"name": "limit",
|
|
1214
|
+
"default": 100,
|
|
1215
|
+
"hasDynamicHelp": false,
|
|
1216
|
+
"multiple": false,
|
|
1217
|
+
"type": "option"
|
|
1218
|
+
},
|
|
1219
|
+
"region": {
|
|
1220
|
+
"char": "r",
|
|
1221
|
+
"description": "AWS region (defaults to project config awsRegion)",
|
|
1222
|
+
"name": "region",
|
|
1223
|
+
"hasDynamicHelp": false,
|
|
1224
|
+
"multiple": false,
|
|
1225
|
+
"type": "option"
|
|
1226
|
+
}
|
|
1227
|
+
},
|
|
1228
|
+
"hasDynamicHelp": false,
|
|
1229
|
+
"hiddenAliases": [],
|
|
1230
|
+
"id": "logs",
|
|
1231
|
+
"pluginAlias": "devvami",
|
|
1232
|
+
"pluginName": "devvami",
|
|
1233
|
+
"pluginType": "core",
|
|
1234
|
+
"strict": true,
|
|
1235
|
+
"enableJsonFlag": true,
|
|
1236
|
+
"isESM": true,
|
|
1237
|
+
"relativePath": [
|
|
1238
|
+
"src",
|
|
1239
|
+
"commands",
|
|
1240
|
+
"logs",
|
|
1241
|
+
"index.js"
|
|
1242
|
+
]
|
|
1243
|
+
},
|
|
1244
1244
|
"pr:create": {
|
|
1245
1245
|
"aliases": [],
|
|
1246
1246
|
"args": {},
|
|
@@ -1742,13 +1742,13 @@
|
|
|
1742
1742
|
"list.js"
|
|
1743
1743
|
]
|
|
1744
1744
|
},
|
|
1745
|
-
"
|
|
1745
|
+
"security:setup": {
|
|
1746
1746
|
"aliases": [],
|
|
1747
1747
|
"args": {},
|
|
1748
|
-
"description": "
|
|
1748
|
+
"description": "Interactive wizard to install and configure credential protection tools (aws-vault, pass, GPG, Git Credential Manager, macOS Keychain)",
|
|
1749
1749
|
"examples": [
|
|
1750
|
-
"<%= config.bin %>
|
|
1751
|
-
"<%= config.bin %>
|
|
1750
|
+
"<%= config.bin %> security setup",
|
|
1751
|
+
"<%= config.bin %> security setup --json"
|
|
1752
1752
|
],
|
|
1753
1753
|
"flags": {
|
|
1754
1754
|
"json": {
|
|
@@ -1768,7 +1768,7 @@
|
|
|
1768
1768
|
},
|
|
1769
1769
|
"hasDynamicHelp": false,
|
|
1770
1770
|
"hiddenAliases": [],
|
|
1771
|
-
"id": "
|
|
1771
|
+
"id": "security:setup",
|
|
1772
1772
|
"pluginAlias": "devvami",
|
|
1773
1773
|
"pluginName": "devvami",
|
|
1774
1774
|
"pluginType": "core",
|
|
@@ -1778,17 +1778,17 @@
|
|
|
1778
1778
|
"relativePath": [
|
|
1779
1779
|
"src",
|
|
1780
1780
|
"commands",
|
|
1781
|
-
"
|
|
1782
|
-
"
|
|
1781
|
+
"security",
|
|
1782
|
+
"setup.js"
|
|
1783
1783
|
]
|
|
1784
1784
|
},
|
|
1785
|
-
"
|
|
1785
|
+
"sync-config-ai": {
|
|
1786
1786
|
"aliases": [],
|
|
1787
1787
|
"args": {},
|
|
1788
|
-
"description": "
|
|
1788
|
+
"description": "Manage AI coding tool configurations across environments via TUI",
|
|
1789
1789
|
"examples": [
|
|
1790
|
-
"<%= config.bin %>
|
|
1791
|
-
"<%= config.bin %>
|
|
1790
|
+
"<%= config.bin %> sync-config-ai",
|
|
1791
|
+
"<%= config.bin %> sync-config-ai --json"
|
|
1792
1792
|
],
|
|
1793
1793
|
"flags": {
|
|
1794
1794
|
"json": {
|
|
@@ -1808,7 +1808,7 @@
|
|
|
1808
1808
|
},
|
|
1809
1809
|
"hasDynamicHelp": false,
|
|
1810
1810
|
"hiddenAliases": [],
|
|
1811
|
-
"id": "
|
|
1811
|
+
"id": "sync-config-ai",
|
|
1812
1812
|
"pluginAlias": "devvami",
|
|
1813
1813
|
"pluginName": "devvami",
|
|
1814
1814
|
"pluginType": "core",
|
|
@@ -1818,8 +1818,8 @@
|
|
|
1818
1818
|
"relativePath": [
|
|
1819
1819
|
"src",
|
|
1820
1820
|
"commands",
|
|
1821
|
-
"
|
|
1822
|
-
"
|
|
1821
|
+
"sync-config-ai",
|
|
1822
|
+
"index.js"
|
|
1823
1823
|
]
|
|
1824
1824
|
},
|
|
1825
1825
|
"tasks:assigned": {
|
|
@@ -2160,5 +2160,5 @@
|
|
|
2160
2160
|
]
|
|
2161
2161
|
}
|
|
2162
2162
|
},
|
|
2163
|
-
"version": "1.5.
|
|
2163
|
+
"version": "1.5.1"
|
|
2164
2164
|
}
|