@enjoys/context-engine 1.0.0 → 1.0.2

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 (112) hide show
  1. package/data/commands/adb.json +322 -0
  2. package/data/commands/alembic.json +301 -0
  3. package/data/commands/artisan.json +277 -0
  4. package/data/commands/atlas.json +426 -0
  5. package/data/commands/auth0.json +648 -0
  6. package/data/commands/bat.json +84 -0
  7. package/data/commands/btop.json +59 -0
  8. package/data/commands/bundle.json +321 -0
  9. package/data/commands/composer.json +507 -0
  10. package/data/commands/dart.json +216 -0
  11. package/data/commands/dbmate.json +257 -0
  12. package/data/commands/docker-compose.json +384 -0
  13. package/data/commands/drizzle-kit.json +217 -0
  14. package/data/commands/expo.json +65 -0
  15. package/data/commands/fastlane.json +243 -0
  16. package/data/commands/fd.json +86 -0
  17. package/data/commands/flutter.json +298 -0
  18. package/data/commands/flyway.json +261 -0
  19. package/data/commands/fzf.json +103 -0
  20. package/data/commands/gem.json +267 -0
  21. package/data/commands/htop.json +56 -0
  22. package/data/commands/jq.json +100 -0
  23. package/data/commands/k9s.json +62 -0
  24. package/data/commands/linux.json +3007 -0
  25. package/data/commands/liquibase.json +399 -0
  26. package/data/commands/manifest.json +619 -0
  27. package/data/commands/minikube.json +60 -0
  28. package/data/commands/ng.json +64 -0
  29. package/data/commands/nuxt.json +60 -0
  30. package/data/commands/nvim.json +91 -0
  31. package/data/commands/php.json +157 -0
  32. package/data/commands/pm2.json +259 -0
  33. package/data/commands/pod.json +175 -0
  34. package/data/commands/prisma.json +257 -0
  35. package/data/commands/rails.json +372 -0
  36. package/data/commands/rake.json +360 -0
  37. package/data/commands/react-native.json +57 -0
  38. package/data/commands/rg.json +103 -0
  39. package/data/commands/rspec.json +257 -0
  40. package/data/commands/ruby.json +108 -0
  41. package/data/commands/screen.json +101 -0
  42. package/data/commands/sequelize.json +342 -0
  43. package/data/commands/snyk.json +442 -0
  44. package/data/commands/sonar-scanner.json +219 -0
  45. package/data/commands/stripe.json +314 -0
  46. package/data/commands/symfony.json +449 -0
  47. package/data/commands/tmux.json +197 -0
  48. package/data/commands/top.json +61 -0
  49. package/data/commands/trivy.json +367 -0
  50. package/data/commands/twilio.json +382 -0
  51. package/data/commands/typeorm.json +262 -0
  52. package/data/commands/vim.json +85 -0
  53. package/data/commands/vue.json +60 -0
  54. package/data/commands/wp.json +857 -0
  55. package/data/commands/xcodebuild.json +141 -0
  56. package/data/commands/yq.json +57 -0
  57. package/data/completion/bash.json +1184 -0
  58. package/data/completion/c.json +1067 -0
  59. package/data/completion/cpp.json +824 -0
  60. package/data/completion/csharp.json +860 -0
  61. package/data/completion/dockerfile.json +536 -0
  62. package/data/completion/go.json +1346 -0
  63. package/data/completion/html.json +806 -0
  64. package/data/completion/java.json +1112 -0
  65. package/data/completion/javascript.json +914 -0
  66. package/data/completion/lua.json +968 -0
  67. package/data/completion/php.json +1535 -0
  68. package/data/completion/python.json +1427 -0
  69. package/data/completion/ruby.json +1531 -0
  70. package/data/completion/rust.json +698 -0
  71. package/data/completion/sql.json +887 -0
  72. package/data/completion/toml.json +428 -0
  73. package/data/completion/typescript.json +338 -0
  74. package/data/completion/yaml.json +563 -0
  75. package/data/defination/bash.json +565 -0
  76. package/data/defination/c.json +865 -0
  77. package/data/defination/cpp.json +348 -0
  78. package/data/defination/csharp.json +144 -0
  79. package/data/defination/dockerfile.json +113 -0
  80. package/data/defination/go.json +561 -0
  81. package/data/defination/html.json +559 -0
  82. package/data/defination/java.json +184 -0
  83. package/data/defination/javascript.json +265 -0
  84. package/data/defination/lua.json +181 -0
  85. package/data/defination/php.json +726 -0
  86. package/data/defination/python.json +717 -0
  87. package/data/defination/ruby.json +670 -0
  88. package/data/defination/rust.json +207 -0
  89. package/data/defination/sql.json +473 -0
  90. package/data/defination/toml.json +251 -0
  91. package/data/defination/typescript.json +29 -0
  92. package/data/defination/yaml.json +197 -0
  93. package/data/hover/bash.json +245 -0
  94. package/data/hover/c.json +265 -0
  95. package/data/hover/cpp.json +210 -0
  96. package/data/hover/csharp.json +290 -0
  97. package/data/hover/dockerfile.json +145 -0
  98. package/data/hover/go.json +580 -0
  99. package/data/hover/html.json +250 -0
  100. package/data/hover/java.json +395 -0
  101. package/data/hover/javascript.json +330 -0
  102. package/data/hover/lua.json +265 -0
  103. package/data/hover/php.json +300 -0
  104. package/data/hover/python.json +380 -0
  105. package/data/hover/ruby.json +265 -0
  106. package/data/hover/rust.json +275 -0
  107. package/data/hover/sql.json +230 -0
  108. package/data/hover/toml.json +145 -0
  109. package/data/hover/typescript.json +120 -0
  110. package/data/hover/yaml.json +165 -0
  111. package/data/manifest.json +242 -0
  112. package/package.json +1 -1
@@ -0,0 +1,382 @@
1
+ {
2
+ "name": "twilio",
3
+ "description": "Twilio CLI for managing Twilio cloud communications platform resources including SMS, voice, serverless functions, and more",
4
+ "category": "api-saas",
5
+ "platforms": ["linux", "macos", "windows"],
6
+ "shells": ["bash", "zsh", "fish", "powershell"],
7
+ "subcommands": [
8
+ {
9
+ "name": "login",
10
+ "description": "Authenticate and create a new profile for the Twilio CLI",
11
+ "args": [],
12
+ "options": [
13
+ { "name": "--account-sid", "short": "-a", "description": "Your Twilio Account SID", "type": "string" },
14
+ { "name": "--auth-token", "description": "Your Twilio Auth Token", "type": "string" },
15
+ { "name": "--region", "description": "Twilio region for the profile", "type": "string" },
16
+ { "name": "--force", "short": "-f", "description": "Overwrite existing profile" }
17
+ ],
18
+ "examples": [
19
+ "twilio login",
20
+ "twilio login --account-sid ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
21
+ ]
22
+ },
23
+ {
24
+ "name": "profiles:list",
25
+ "description": "List all stored Twilio CLI profiles",
26
+ "args": [],
27
+ "options": [],
28
+ "examples": ["twilio profiles:list"]
29
+ },
30
+ {
31
+ "name": "profiles:use",
32
+ "description": "Set the active Twilio CLI profile",
33
+ "args": [{ "name": "profile-id", "type": "string", "required": true, "description": "The profile identifier to activate" }],
34
+ "options": [],
35
+ "examples": ["twilio profiles:use my-production"]
36
+ },
37
+ {
38
+ "name": "profiles:create",
39
+ "description": "Create a new profile with account credentials",
40
+ "args": [],
41
+ "options": [
42
+ { "name": "--account-sid", "short": "-a", "description": "Twilio Account SID", "type": "string" },
43
+ { "name": "--auth-token", "description": "Twilio Auth Token", "type": "string" },
44
+ { "name": "--profile", "short": "-p", "description": "Name for the new profile", "type": "string" },
45
+ { "name": "--region", "description": "Twilio region", "type": "string" }
46
+ ],
47
+ "examples": [
48
+ "twilio profiles:create --account-sid ACXXXXXXXX --profile staging"
49
+ ]
50
+ },
51
+ {
52
+ "name": "profiles:remove",
53
+ "description": "Remove a stored CLI profile",
54
+ "args": [{ "name": "profile-id", "type": "string", "required": true, "description": "The profile to remove" }],
55
+ "options": [],
56
+ "examples": ["twilio profiles:remove old-profile"]
57
+ },
58
+ {
59
+ "name": "phone-numbers:list",
60
+ "description": "List Twilio phone numbers on the account",
61
+ "args": [],
62
+ "options": [
63
+ { "name": "--account-sid", "short": "-a", "description": "Account SID to use", "type": "string" },
64
+ { "name": "--profile", "short": "-p", "description": "Profile to use", "type": "string" },
65
+ { "name": "--output-format", "description": "Output format (json, tsv)", "type": "string" },
66
+ { "name": "--properties", "description": "Comma-separated list of properties to display", "type": "string" },
67
+ { "name": "--limit", "description": "Maximum number of results to return", "type": "string" },
68
+ { "name": "--no-limit", "description": "Remove default result limit" }
69
+ ],
70
+ "examples": [
71
+ "twilio phone-numbers:list",
72
+ "twilio phone-numbers:list --output-format json",
73
+ "twilio phone-numbers:list --properties sid,phoneNumber,friendlyName"
74
+ ]
75
+ },
76
+ {
77
+ "name": "phone-numbers:buy",
78
+ "description": "Purchase a new phone number",
79
+ "args": [{ "name": "phone-number", "type": "string", "required": true, "description": "The phone number to purchase in E.164 format" }],
80
+ "options": [
81
+ { "name": "--account-sid", "short": "-a", "description": "Account SID", "type": "string" },
82
+ { "name": "--profile", "short": "-p", "description": "Profile to use", "type": "string" },
83
+ { "name": "--sms-url", "description": "URL to handle incoming SMS", "type": "string" },
84
+ { "name": "--voice-url", "description": "URL to handle incoming calls", "type": "string" },
85
+ { "name": "--friendly-name", "description": "A friendly name for the number", "type": "string" }
86
+ ],
87
+ "examples": [
88
+ "twilio phone-numbers:buy +15551234567",
89
+ "twilio phone-numbers:buy +15551234567 --friendly-name 'Support Line'"
90
+ ]
91
+ },
92
+ {
93
+ "name": "phone-numbers:update",
94
+ "description": "Update the configuration of a phone number",
95
+ "args": [{ "name": "phone-number-sid", "type": "string", "required": true, "description": "The SID of the phone number to update" }],
96
+ "options": [
97
+ { "name": "--sms-url", "description": "URL for incoming SMS", "type": "string" },
98
+ { "name": "--voice-url", "description": "URL for incoming calls", "type": "string" },
99
+ { "name": "--friendly-name", "description": "Friendly name for the number", "type": "string" },
100
+ { "name": "--sms-fallback-url", "description": "Fallback URL for SMS", "type": "string" },
101
+ { "name": "--voice-fallback-url", "description": "Fallback URL for voice", "type": "string" }
102
+ ],
103
+ "examples": [
104
+ "twilio phone-numbers:update PNXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX --friendly-name 'Main Line'"
105
+ ]
106
+ },
107
+ {
108
+ "name": "api:core:messages:create",
109
+ "description": "Send an SMS or MMS message",
110
+ "args": [],
111
+ "options": [
112
+ { "name": "--to", "description": "Recipient phone number in E.164 format", "type": "string" },
113
+ { "name": "--from", "description": "Sender phone number or messaging service SID", "type": "string" },
114
+ { "name": "--body", "description": "The text body of the message", "type": "string" },
115
+ { "name": "--media-url", "description": "URL of media to include (MMS)", "type": "string" },
116
+ { "name": "--status-callback", "description": "URL for delivery status webhooks", "type": "string" },
117
+ { "name": "--messaging-service-sid", "description": "Messaging Service SID to use", "type": "string" },
118
+ { "name": "--output-format", "description": "Output format (json, tsv)", "type": "string" },
119
+ { "name": "--account-sid", "short": "-a", "description": "Account SID", "type": "string" }
120
+ ],
121
+ "examples": [
122
+ "twilio api:core:messages:create --to +15551234567 --from +15559876543 --body 'Hello World'",
123
+ "twilio api:core:messages:create --to +15551234567 --from +15559876543 --body 'Check this out' --media-url https://example.com/image.png"
124
+ ]
125
+ },
126
+ {
127
+ "name": "api:core:messages:list",
128
+ "description": "List SMS/MMS messages on the account",
129
+ "args": [],
130
+ "options": [
131
+ { "name": "--to", "description": "Filter by recipient number", "type": "string" },
132
+ { "name": "--from", "description": "Filter by sender number", "type": "string" },
133
+ { "name": "--date-sent", "description": "Filter by date sent", "type": "string" },
134
+ { "name": "--limit", "description": "Maximum results to return", "type": "string" },
135
+ { "name": "--no-limit", "description": "Remove default result limit" },
136
+ { "name": "--output-format", "description": "Output format (json, tsv)", "type": "string" },
137
+ { "name": "--properties", "description": "Properties to display", "type": "string" }
138
+ ],
139
+ "examples": [
140
+ "twilio api:core:messages:list",
141
+ "twilio api:core:messages:list --from +15559876543 --limit 20",
142
+ "twilio api:core:messages:list --output-format json"
143
+ ]
144
+ },
145
+ {
146
+ "name": "api:core:calls:create",
147
+ "description": "Initiate a new outbound phone call",
148
+ "args": [],
149
+ "options": [
150
+ { "name": "--to", "description": "The phone number to call", "type": "string" },
151
+ { "name": "--from", "description": "The caller ID phone number", "type": "string" },
152
+ { "name": "--url", "description": "TwiML URL to execute when call is answered", "type": "string" },
153
+ { "name": "--twiml", "description": "Inline TwiML instructions", "type": "string" },
154
+ { "name": "--status-callback", "description": "URL for call status webhooks", "type": "string" },
155
+ { "name": "--record", "description": "Whether to record the call" },
156
+ { "name": "--timeout", "description": "Ring timeout in seconds", "type": "string" }
157
+ ],
158
+ "examples": [
159
+ "twilio api:core:calls:create --to +15551234567 --from +15559876543 --url https://handler.twilio.com/twiml/EHxxx",
160
+ "twilio api:core:calls:create --to +15551234567 --from +15559876543 --twiml '<Response><Say>Hello</Say></Response>'"
161
+ ]
162
+ },
163
+ {
164
+ "name": "api:core:calls:list",
165
+ "description": "List calls on the account",
166
+ "args": [],
167
+ "options": [
168
+ { "name": "--to", "description": "Filter by recipient number", "type": "string" },
169
+ { "name": "--from", "description": "Filter by caller number", "type": "string" },
170
+ { "name": "--status", "description": "Filter by call status", "type": "string" },
171
+ { "name": "--start-time", "description": "Filter by start time", "type": "string" },
172
+ { "name": "--limit", "description": "Maximum results", "type": "string" },
173
+ { "name": "--output-format", "description": "Output format (json, tsv)", "type": "string" }
174
+ ],
175
+ "examples": [
176
+ "twilio api:core:calls:list",
177
+ "twilio api:core:calls:list --status completed --limit 50"
178
+ ]
179
+ },
180
+ {
181
+ "name": "api:core:accounts:fetch",
182
+ "description": "Fetch details of the current Twilio account",
183
+ "args": [],
184
+ "options": [
185
+ { "name": "--account-sid", "short": "-a", "description": "Account SID to fetch", "type": "string" },
186
+ { "name": "--output-format", "description": "Output format (json, tsv)", "type": "string" }
187
+ ],
188
+ "examples": ["twilio api:core:accounts:fetch"]
189
+ },
190
+ {
191
+ "name": "api:core:accounts:update",
192
+ "description": "Update the account friendly name or status",
193
+ "args": [],
194
+ "options": [
195
+ { "name": "--friendly-name", "description": "New friendly name", "type": "string" },
196
+ { "name": "--status", "description": "Account status (active, suspended, closed)", "type": "string" }
197
+ ],
198
+ "examples": ["twilio api:core:accounts:update --friendly-name 'Production Account'"]
199
+ },
200
+ {
201
+ "name": "plugins:install",
202
+ "description": "Install a Twilio CLI plugin",
203
+ "args": [{ "name": "plugin", "type": "string", "required": true, "description": "Plugin name or npm package" }],
204
+ "options": [],
205
+ "examples": [
206
+ "twilio plugins:install @twilio-labs/plugin-serverless",
207
+ "twilio plugins:install @twilio-labs/plugin-signal2020"
208
+ ]
209
+ },
210
+ {
211
+ "name": "plugins:available",
212
+ "description": "List available Twilio CLI plugins",
213
+ "args": [],
214
+ "options": [],
215
+ "examples": ["twilio plugins:available"]
216
+ },
217
+ {
218
+ "name": "plugins:list",
219
+ "description": "List installed CLI plugins",
220
+ "args": [],
221
+ "options": [],
222
+ "examples": ["twilio plugins:list"]
223
+ },
224
+ {
225
+ "name": "plugins:remove",
226
+ "description": "Remove an installed plugin",
227
+ "args": [{ "name": "plugin", "type": "string", "required": true, "description": "Plugin name to remove" }],
228
+ "options": [],
229
+ "examples": ["twilio plugins:remove @twilio-labs/plugin-serverless"]
230
+ },
231
+ {
232
+ "name": "debugger:logs:list",
233
+ "description": "List Twilio debugger error logs and alerts",
234
+ "args": [],
235
+ "options": [
236
+ { "name": "--start-date", "description": "Start date for log filtering", "type": "string" },
237
+ { "name": "--end-date", "description": "End date for log filtering", "type": "string" },
238
+ { "name": "--log-level", "description": "Filter by log level (error, warning, notice)", "type": "string" },
239
+ { "name": "--limit", "description": "Maximum number of results", "type": "string" },
240
+ { "name": "--output-format", "description": "Output format (json, tsv)", "type": "string" }
241
+ ],
242
+ "examples": [
243
+ "twilio debugger:logs:list",
244
+ "twilio debugger:logs:list --log-level error --limit 25"
245
+ ]
246
+ },
247
+ {
248
+ "name": "serverless:init",
249
+ "description": "Initialize a new Twilio serverless project",
250
+ "args": [{ "name": "name", "type": "string", "required": true, "description": "Project name" }],
251
+ "options": [
252
+ { "name": "--template", "description": "Template to use for initialization", "type": "string" },
253
+ { "name": "--typescript", "description": "Initialize with TypeScript support" },
254
+ { "name": "--empty", "description": "Initialize an empty project without example files" }
255
+ ],
256
+ "examples": [
257
+ "twilio serverless:init my-service",
258
+ "twilio serverless:init my-service --template hello-world",
259
+ "twilio serverless:init my-service --typescript"
260
+ ]
261
+ },
262
+ {
263
+ "name": "serverless:start",
264
+ "description": "Start a local development server for a serverless project",
265
+ "args": [],
266
+ "options": [
267
+ { "name": "--port", "description": "Port number for the local server", "type": "string" },
268
+ { "name": "--env", "description": "Path to .env file", "type": "string" },
269
+ { "name": "--ngrok", "description": "Start an ngrok tunnel" },
270
+ { "name": "--live", "description": "Enable live reloading" },
271
+ { "name": "--inspect", "description": "Enable Node.js inspector" },
272
+ { "name": "--logs", "description": "Enable request logging" }
273
+ ],
274
+ "examples": [
275
+ "twilio serverless:start",
276
+ "twilio serverless:start --port 3001 --ngrok"
277
+ ]
278
+ },
279
+ {
280
+ "name": "serverless:deploy",
281
+ "description": "Deploy a Twilio serverless project to the cloud",
282
+ "args": [],
283
+ "options": [
284
+ { "name": "--environment", "description": "Target deployment environment", "type": "string" },
285
+ { "name": "--service-name", "description": "Override the service name", "type": "string" },
286
+ { "name": "--production", "description": "Deploy to production environment" },
287
+ { "name": "--force", "description": "Force overwrite of existing deployment" },
288
+ { "name": "--env", "description": "Path to .env file", "type": "string" }
289
+ ],
290
+ "examples": [
291
+ "twilio serverless:deploy",
292
+ "twilio serverless:deploy --environment staging",
293
+ "twilio serverless:deploy --production --force"
294
+ ]
295
+ },
296
+ {
297
+ "name": "serverless:list",
298
+ "description": "List serverless services, environments, and builds",
299
+ "args": [{ "name": "type", "type": "string", "required": false, "description": "Type to list: services, environments, builds, functions, assets" }],
300
+ "options": [
301
+ { "name": "--service-sid", "description": "Service SID to scope the listing", "type": "string" },
302
+ { "name": "--environment", "description": "Environment to scope the listing", "type": "string" },
303
+ { "name": "--output-format", "description": "Output format (json, tsv)", "type": "string" }
304
+ ],
305
+ "examples": [
306
+ "twilio serverless:list services",
307
+ "twilio serverless:list functions --service-sid ZSXXXXXXXXXXX"
308
+ ]
309
+ },
310
+ {
311
+ "name": "email:send",
312
+ "description": "Send an email using Twilio SendGrid",
313
+ "args": [],
314
+ "options": [
315
+ { "name": "--to", "description": "Recipient email address", "type": "string" },
316
+ { "name": "--from", "description": "Sender email address", "type": "string" },
317
+ { "name": "--subject", "description": "Email subject line", "type": "string" },
318
+ { "name": "--body", "description": "Email body text", "type": "string" },
319
+ { "name": "--text", "description": "Plain text email body", "type": "string" },
320
+ { "name": "--attachment", "description": "Path to file attachment", "type": "string" }
321
+ ],
322
+ "examples": [
323
+ "twilio email:send --to user@example.com --from noreply@example.com --subject 'Test' --body 'Hello World'",
324
+ "twilio email:send --to user@example.com --from noreply@example.com --subject 'Report' --text 'See attached' --attachment ./report.pdf"
325
+ ]
326
+ }
327
+ ],
328
+ "globalOptions": [
329
+ { "name": "--help", "short": "-h", "description": "Show help information" },
330
+ { "name": "--version", "description": "Show Twilio CLI version" },
331
+ { "name": "--account-sid", "short": "-a", "description": "Twilio Account SID to use", "type": "string" },
332
+ { "name": "--profile", "short": "-p", "description": "CLI profile to use", "type": "string" },
333
+ { "name": "--output-format", "description": "Output format: json, tsv, or columns", "type": "string" },
334
+ { "name": "--silent", "description": "Suppress all output" },
335
+ { "name": "--no-limit", "description": "Remove the default result limit for list commands" }
336
+ ],
337
+ "examples": [
338
+ "twilio login",
339
+ "twilio profiles:list",
340
+ "twilio api:core:messages:create --to +15551234567 --from +15559876543 --body 'Hello from Twilio CLI'",
341
+ "twilio api:core:calls:create --to +15551234567 --from +15559876543 --url https://handler.twilio.com/twiml/EHxxx",
342
+ "twilio phone-numbers:list --output-format json",
343
+ "twilio serverless:init my-functions --typescript",
344
+ "twilio serverless:deploy --production",
345
+ "twilio debugger:logs:list --log-level error",
346
+ "twilio plugins:install @twilio-labs/plugin-serverless",
347
+ "twilio email:send --to user@example.com --from noreply@example.com --subject 'Test' --body 'Hello'"
348
+ ],
349
+ "relatedCommands": ["stripe", "curl"],
350
+ "contextEngine": {
351
+ "detectors": [
352
+ {
353
+ "name": "twilio_profile",
354
+ "description": "Detect current Twilio CLI profile and account",
355
+ "command": "twilio profiles:list",
356
+ "parser": "lines",
357
+ "cacheFor": 60
358
+ },
359
+ {
360
+ "name": "twilio_version",
361
+ "description": "Detect installed Twilio CLI version",
362
+ "command": "twilio --version",
363
+ "parser": "lines",
364
+ "cacheFor": 300
365
+ },
366
+ {
367
+ "name": "twilio_plugins",
368
+ "description": "Detect installed Twilio CLI plugins",
369
+ "command": "twilio plugins:list",
370
+ "parser": "lines",
371
+ "cacheFor": 120
372
+ },
373
+ {
374
+ "name": "twilio_services",
375
+ "description": "Detect Twilio serverless services",
376
+ "command": "twilio serverless:list services",
377
+ "parser": "lines",
378
+ "cacheFor": 60
379
+ }
380
+ ]
381
+ }
382
+ }
@@ -0,0 +1,262 @@
1
+ {
2
+ "name": "typeorm",
3
+ "description": "TypeORM CLI for managing database entities, migrations, subscribers, and schema operations across multiple database drivers",
4
+ "category": "database-orm",
5
+ "platforms": ["linux", "macos", "windows"],
6
+ "shells": ["bash", "zsh", "fish", "powershell"],
7
+ "subcommands": [
8
+ {
9
+ "name": "init",
10
+ "description": "Initialize a new TypeORM project with a predefined directory structure, sample entity, migration, and ormconfig file",
11
+ "args": [],
12
+ "options": [
13
+ {"name": "--name", "short": "-n", "description": "Name of the project directory to create", "type": "string"},
14
+ {"name": "--database", "short": "-db", "description": "Database type (postgres, mysql, mariadb, sqlite, mssql, oracle, cockroachdb, mongodb)", "type": "string"},
15
+ {"name": "--express", "description": "Generate an Express application with TypeORM integration"},
16
+ {"name": "--docker", "description": "Generate docker-compose.yml for the selected database"},
17
+ {"name": "--pm", "description": "Package manager to use: npm, yarn, or pnpm", "type": "string"}
18
+ ],
19
+ "examples": [
20
+ "typeorm init --name my-project --database postgres",
21
+ "typeorm init --name api-server --database mysql --express --docker",
22
+ "typeorm init --name app --database sqlite --pm yarn"
23
+ ]
24
+ },
25
+ {
26
+ "name": "migration:create",
27
+ "description": "Create a new empty migration file with up() and down() methods. The file is timestamped and placed in the configured migrations directory.",
28
+ "args": [
29
+ {"name": "path", "type": "string", "required": true, "description": "Path and name for the migration file (e.g., src/migrations/CreateUsersTable)"}
30
+ ],
31
+ "options": [
32
+ {"name": "--outputJs", "short": "-o", "description": "Generate migration file in JavaScript instead of TypeScript"},
33
+ {"name": "--timestamp", "short": "-t", "description": "Custom timestamp for the migration file", "type": "string"}
34
+ ],
35
+ "examples": [
36
+ "typeorm migration:create src/migrations/CreateUsersTable",
37
+ "typeorm migration:create src/migrations/AddEmailIndex --outputJs",
38
+ "typeorm-ts-node-commonjs migration:create src/migrations/AddProfileColumn"
39
+ ]
40
+ },
41
+ {
42
+ "name": "migration:generate",
43
+ "description": "Automatically generate a migration by comparing the current entity definitions to the current database schema. Detects added/removed columns, tables, and relations.",
44
+ "args": [
45
+ {"name": "path", "type": "string", "required": true, "description": "Path and name for the generated migration file"}
46
+ ],
47
+ "options": [
48
+ {"name": "--dataSource", "short": "-d", "description": "Path to the data source configuration file", "type": "string"},
49
+ {"name": "--pretty", "short": "-p", "description": "Pretty-print the generated SQL queries"},
50
+ {"name": "--outputJs", "short": "-o", "description": "Generate migration file in JavaScript instead of TypeScript"},
51
+ {"name": "--dryrun", "description": "Print the generated migration SQL without writing files"},
52
+ {"name": "--check", "description": "Exit with error code if there are pending schema changes"}
53
+ ],
54
+ "examples": [
55
+ "typeorm migration:generate src/migrations/SyncSchema -d src/data-source.ts",
56
+ "typeorm-ts-node-commonjs migration:generate src/migrations/AddOrders -d src/data-source.ts --pretty",
57
+ "typeorm migration:generate src/migrations/Changes -d src/data-source.ts --dryrun",
58
+ "typeorm migration:generate src/migrations/Check -d src/data-source.ts --check"
59
+ ]
60
+ },
61
+ {
62
+ "name": "migration:run",
63
+ "description": "Run all pending migrations that have not yet been applied to the database. Executes migrations in chronological order.",
64
+ "args": [],
65
+ "options": [
66
+ {"name": "--dataSource", "short": "-d", "description": "Path to the data source configuration file", "type": "string"},
67
+ {"name": "--transaction", "short": "-t", "description": "Transaction mode: all, each, or none", "type": "string"},
68
+ {"name": "--fake", "description": "Mark migrations as run without actually executing them"}
69
+ ],
70
+ "examples": [
71
+ "typeorm migration:run -d src/data-source.ts",
72
+ "typeorm-ts-node-commonjs migration:run -d src/data-source.ts",
73
+ "typeorm migration:run -d src/data-source.ts --transaction each",
74
+ "typeorm migration:run -d src/data-source.ts --fake"
75
+ ]
76
+ },
77
+ {
78
+ "name": "migration:revert",
79
+ "description": "Revert the most recently executed migration. Run multiple times to revert multiple migrations in reverse order.",
80
+ "args": [],
81
+ "options": [
82
+ {"name": "--dataSource", "short": "-d", "description": "Path to the data source configuration file", "type": "string"},
83
+ {"name": "--transaction", "short": "-t", "description": "Transaction mode: all, each, or none", "type": "string"},
84
+ {"name": "--fake", "description": "Mark migration as reverted without actually executing the down method"}
85
+ ],
86
+ "examples": [
87
+ "typeorm migration:revert -d src/data-source.ts",
88
+ "typeorm-ts-node-commonjs migration:revert -d src/data-source.ts",
89
+ "typeorm migration:revert -d src/data-source.ts --transaction all"
90
+ ]
91
+ },
92
+ {
93
+ "name": "migration:show",
94
+ "description": "Show all migrations and their status (pending or applied) for the configured database connection.",
95
+ "args": [],
96
+ "options": [
97
+ {"name": "--dataSource", "short": "-d", "description": "Path to the data source configuration file", "type": "string"}
98
+ ],
99
+ "examples": [
100
+ "typeorm migration:show -d src/data-source.ts",
101
+ "typeorm-ts-node-commonjs migration:show -d src/data-source.ts"
102
+ ]
103
+ },
104
+ {
105
+ "name": "entity:create",
106
+ "description": "Create a new empty entity class file with the @Entity() decorator and a primary generated column.",
107
+ "args": [
108
+ {"name": "path", "type": "string", "required": true, "description": "Path and name for the entity file (e.g., src/entities/User)"}
109
+ ],
110
+ "options": [
111
+ {"name": "--outputJs", "short": "-o", "description": "Generate entity file in JavaScript instead of TypeScript"}
112
+ ],
113
+ "examples": [
114
+ "typeorm entity:create src/entities/User",
115
+ "typeorm entity:create src/entities/Product --outputJs"
116
+ ]
117
+ },
118
+ {
119
+ "name": "subscriber:create",
120
+ "description": "Create a new subscriber class file that listens to entity events like insert, update, and remove.",
121
+ "args": [
122
+ {"name": "path", "type": "string", "required": true, "description": "Path and name for the subscriber file"}
123
+ ],
124
+ "options": [
125
+ {"name": "--outputJs", "short": "-o", "description": "Generate subscriber file in JavaScript instead of TypeScript"}
126
+ ],
127
+ "examples": [
128
+ "typeorm subscriber:create src/subscribers/UserSubscriber",
129
+ "typeorm subscriber:create src/subscribers/AuditLog --outputJs"
130
+ ]
131
+ },
132
+ {
133
+ "name": "schema:drop",
134
+ "description": "Drop all tables and their data from the database. WARNING: This is a destructive operation.",
135
+ "args": [],
136
+ "options": [
137
+ {"name": "--dataSource", "short": "-d", "description": "Path to the data source configuration file", "type": "string"}
138
+ ],
139
+ "examples": [
140
+ "typeorm schema:drop -d src/data-source.ts",
141
+ "typeorm-ts-node-commonjs schema:drop -d src/data-source.ts"
142
+ ]
143
+ },
144
+ {
145
+ "name": "schema:log",
146
+ "description": "Show the SQL statements that would be executed to synchronize the database schema with the current entity definitions, without applying them.",
147
+ "args": [],
148
+ "options": [
149
+ {"name": "--dataSource", "short": "-d", "description": "Path to the data source configuration file", "type": "string"}
150
+ ],
151
+ "examples": [
152
+ "typeorm schema:log -d src/data-source.ts",
153
+ "typeorm-ts-node-commonjs schema:log -d src/data-source.ts"
154
+ ]
155
+ },
156
+ {
157
+ "name": "schema:sync",
158
+ "description": "Synchronize the database schema based on current entity definitions. Creates and alters tables to match entities. Not recommended for production.",
159
+ "args": [],
160
+ "options": [
161
+ {"name": "--dataSource", "short": "-d", "description": "Path to the data source configuration file", "type": "string"}
162
+ ],
163
+ "examples": [
164
+ "typeorm schema:sync -d src/data-source.ts",
165
+ "typeorm-ts-node-commonjs schema:sync -d src/data-source.ts"
166
+ ]
167
+ },
168
+ {
169
+ "name": "cache:clear",
170
+ "description": "Clear all data stored in the query result cache configured for the connection.",
171
+ "args": [],
172
+ "options": [
173
+ {"name": "--dataSource", "short": "-d", "description": "Path to the data source configuration file", "type": "string"}
174
+ ],
175
+ "examples": [
176
+ "typeorm cache:clear -d src/data-source.ts",
177
+ "typeorm-ts-node-commonjs cache:clear -d src/data-source.ts"
178
+ ]
179
+ },
180
+ {
181
+ "name": "query",
182
+ "description": "Execute a raw SQL query against the configured database and display the results.",
183
+ "args": [
184
+ {"name": "query", "type": "string", "required": true, "description": "The SQL query to execute"}
185
+ ],
186
+ "options": [
187
+ {"name": "--dataSource", "short": "-d", "description": "Path to the data source configuration file", "type": "string"}
188
+ ],
189
+ "examples": [
190
+ "typeorm query \"SELECT * FROM users LIMIT 10\" -d src/data-source.ts",
191
+ "typeorm query \"SHOW TABLES\" -d src/data-source.ts",
192
+ "typeorm-ts-node-commonjs query \"SELECT COUNT(*) FROM orders\" -d src/data-source.ts"
193
+ ]
194
+ },
195
+ {
196
+ "name": "version",
197
+ "description": "Display installed versions of TypeORM, database drivers, and related packages.",
198
+ "args": [],
199
+ "options": [],
200
+ "examples": [
201
+ "typeorm version"
202
+ ]
203
+ }
204
+ ],
205
+ "globalOptions": [
206
+ {"name": "--help", "short": "-h", "description": "Show help information"},
207
+ {"name": "--version", "short": "-v", "description": "Show TypeORM CLI version"},
208
+ {"name": "--dataSource", "short": "-d", "description": "Path to the TypeORM DataSource file", "type": "string"}
209
+ ],
210
+ "examples": [
211
+ "npx typeorm init --name my-project --database postgres",
212
+ "npx typeorm-ts-node-commonjs migration:generate src/migrations/Init -d src/data-source.ts",
213
+ "npx typeorm-ts-node-commonjs migration:run -d src/data-source.ts",
214
+ "npx typeorm-ts-node-commonjs migration:revert -d src/data-source.ts",
215
+ "npx typeorm migration:create src/migrations/AddUsersTable",
216
+ "npx typeorm entity:create src/entities/User",
217
+ "npx typeorm schema:sync -d src/data-source.ts",
218
+ "npx typeorm schema:log -d src/data-source.ts",
219
+ "npx typeorm query \"SELECT * FROM users\" -d src/data-source.ts",
220
+ "npx typeorm cache:clear -d src/data-source.ts"
221
+ ],
222
+ "relatedCommands": ["prisma", "sequelize", "node", "npm", "npx"],
223
+ "contextEngine": {
224
+ "detectors": [
225
+ {
226
+ "name": "typeorm_datasource_detect",
227
+ "description": "Detect TypeORM data source configuration files",
228
+ "command": "find . -maxdepth 3 -name 'data-source*' -o -name 'ormconfig*' 2>/dev/null | head -5",
229
+ "parser": "lines",
230
+ "cacheFor": 60
231
+ },
232
+ {
233
+ "name": "typeorm_entity_detect",
234
+ "description": "Detect TypeORM entity files in the project",
235
+ "command": "find . -path '*/entities/*.ts' -o -path '*/entity/*.ts' 2>/dev/null | head -10",
236
+ "parser": "lines",
237
+ "cacheFor": 60
238
+ },
239
+ {
240
+ "name": "typeorm_migration_detect",
241
+ "description": "Detect TypeORM migration files",
242
+ "command": "find . -path '*/migrations/*.ts' -type f 2>/dev/null | head -10",
243
+ "parser": "lines",
244
+ "cacheFor": 30
245
+ },
246
+ {
247
+ "name": "typeorm_package_detect",
248
+ "description": "Detect typeorm in package.json dependencies",
249
+ "command": "cat package.json 2>/dev/null | grep -E '\"typeorm\"' | head -3",
250
+ "parser": "lines",
251
+ "cacheFor": 60
252
+ },
253
+ {
254
+ "name": "typeorm_version",
255
+ "description": "Get installed TypeORM version",
256
+ "command": "npx typeorm version 2>/dev/null | head -5 || echo 'not installed'",
257
+ "parser": "lines",
258
+ "cacheFor": 120
259
+ }
260
+ ]
261
+ }
262
+ }