@enjoys/context-engine 1.0.0

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 (138) hide show
  1. package/README.md +213 -0
  2. package/data/commands/air.json +59 -0
  3. package/data/commands/ansible.json +24 -0
  4. package/data/commands/apachectl.json +87 -0
  5. package/data/commands/apt-get.json +81 -0
  6. package/data/commands/apt.json +91 -0
  7. package/data/commands/awk.json +26 -0
  8. package/data/commands/aws-vault.json +140 -0
  9. package/data/commands/aws.json +229 -0
  10. package/data/commands/az.json +36 -0
  11. package/data/commands/bazel.json +103 -0
  12. package/data/commands/brew.json +140 -0
  13. package/data/commands/bun.json +230 -0
  14. package/data/commands/caddy.json +194 -0
  15. package/data/commands/cargo.json +1048 -0
  16. package/data/commands/cat.json +18 -0
  17. package/data/commands/cd.json +48 -0
  18. package/data/commands/certbot.json +148 -0
  19. package/data/commands/chmod.json +97 -0
  20. package/data/commands/choco.json +134 -0
  21. package/data/commands/chown.json +59 -0
  22. package/data/commands/clickhouse-client.json +74 -0
  23. package/data/commands/cloudflare.json +226 -0
  24. package/data/commands/cmake.json +110 -0
  25. package/data/commands/cockroach.json +92 -0
  26. package/data/commands/conda.json +94 -0
  27. package/data/commands/consul.json +125 -0
  28. package/data/commands/cp.json +86 -0
  29. package/data/commands/curl.json +44 -0
  30. package/data/commands/cypress.json +100 -0
  31. package/data/commands/deno.json +29 -0
  32. package/data/commands/django-admin.json +86 -0
  33. package/data/commands/dnf.json +137 -0
  34. package/data/commands/docker.json +1100 -0
  35. package/data/commands/doctl.json +156 -0
  36. package/data/commands/eslint.json +69 -0
  37. package/data/commands/find.json +44 -0
  38. package/data/commands/firebase.json +97 -0
  39. package/data/commands/flask.json +79 -0
  40. package/data/commands/flyctl.json +148 -0
  41. package/data/commands/gcloud.json +227 -0
  42. package/data/commands/gh.json +39 -0
  43. package/data/commands/git.json +527 -0
  44. package/data/commands/glab.json +116 -0
  45. package/data/commands/go.json +161 -0
  46. package/data/commands/gofmt.json +51 -0
  47. package/data/commands/golangci-lint.json +89 -0
  48. package/data/commands/gradle.json +44 -0
  49. package/data/commands/grep.json +47 -0
  50. package/data/commands/gunicorn.json +83 -0
  51. package/data/commands/helm.json +1104 -0
  52. package/data/commands/hg.json +92 -0
  53. package/data/commands/httpd.json +147 -0
  54. package/data/commands/influx.json +119 -0
  55. package/data/commands/iptables.json +86 -0
  56. package/data/commands/java.json +31 -0
  57. package/data/commands/jest.json +82 -0
  58. package/data/commands/journalctl.json +88 -0
  59. package/data/commands/just.json +93 -0
  60. package/data/commands/k6.json +84 -0
  61. package/data/commands/kubectl.json +1277 -0
  62. package/data/commands/linode-cli.json +117 -0
  63. package/data/commands/locust.json +83 -0
  64. package/data/commands/ls.json +115 -0
  65. package/data/commands/make.json +86 -0
  66. package/data/commands/mocha.json +75 -0
  67. package/data/commands/mongosh.json +73 -0
  68. package/data/commands/mv.json +68 -0
  69. package/data/commands/mvn.json +45 -0
  70. package/data/commands/mysql.json +81 -0
  71. package/data/commands/nest.json +69 -0
  72. package/data/commands/netlify.json +92 -0
  73. package/data/commands/next.json +71 -0
  74. package/data/commands/nft.json +105 -0
  75. package/data/commands/nginx.json +146 -0
  76. package/data/commands/nmap.json +92 -0
  77. package/data/commands/node.json +43 -0
  78. package/data/commands/nomad.json +139 -0
  79. package/data/commands/npm.json +1265 -0
  80. package/data/commands/npx.json +58 -0
  81. package/data/commands/nx.json +82 -0
  82. package/data/commands/openssl.json +288 -0
  83. package/data/commands/packer.json +92 -0
  84. package/data/commands/pacman.json +82 -0
  85. package/data/commands/pg_dump.json +83 -0
  86. package/data/commands/pg_restore.json +74 -0
  87. package/data/commands/pip.json +95 -0
  88. package/data/commands/pipenv.json +79 -0
  89. package/data/commands/pipx.json +53 -0
  90. package/data/commands/playwright.json +97 -0
  91. package/data/commands/pnpm.json +29 -0
  92. package/data/commands/poetry.json +96 -0
  93. package/data/commands/prettier.json +71 -0
  94. package/data/commands/ps.json +31 -0
  95. package/data/commands/psql.json +124 -0
  96. package/data/commands/pulumi.json +130 -0
  97. package/data/commands/pytest.json +92 -0
  98. package/data/commands/python.json +30 -0
  99. package/data/commands/railway.json +91 -0
  100. package/data/commands/redis-cli.json +148 -0
  101. package/data/commands/render.json +72 -0
  102. package/data/commands/rm.json +79 -0
  103. package/data/commands/rsync.json +36 -0
  104. package/data/commands/rust.json +35 -0
  105. package/data/commands/rustup.json +103 -0
  106. package/data/commands/scp.json +60 -0
  107. package/data/commands/sed.json +28 -0
  108. package/data/commands/sqlite3.json +68 -0
  109. package/data/commands/ssh-keygen.json +112 -0
  110. package/data/commands/ssh.json +37 -0
  111. package/data/commands/sudo.json +147 -0
  112. package/data/commands/supabase.json +108 -0
  113. package/data/commands/svn.json +75 -0
  114. package/data/commands/systemctl.json +31 -0
  115. package/data/commands/tar.json +35 -0
  116. package/data/commands/tcpdump.json +77 -0
  117. package/data/commands/terraform.json +824 -0
  118. package/data/commands/terragrunt.json +83 -0
  119. package/data/commands/tsc.json +85 -0
  120. package/data/commands/turbo.json +72 -0
  121. package/data/commands/ufw.json +76 -0
  122. package/data/commands/unzip.json +59 -0
  123. package/data/commands/uvicorn.json +73 -0
  124. package/data/commands/vault.json +144 -0
  125. package/data/commands/vercel.json +98 -0
  126. package/data/commands/vite.json +63 -0
  127. package/data/commands/vitest.json +88 -0
  128. package/data/commands/wasm-pack.json +90 -0
  129. package/data/commands/wget.json +38 -0
  130. package/data/commands/winget.json +131 -0
  131. package/data/commands/wireshark.json +81 -0
  132. package/data/commands/yarn.json +28 -0
  133. package/data/commands/yum.json +98 -0
  134. package/data/commands/zip.json +59 -0
  135. package/index.d.ts +131 -0
  136. package/index.js +189 -0
  137. package/index.mjs +21 -0
  138. package/package.json +64 -0
@@ -0,0 +1,156 @@
1
+ {
2
+ "name": "doctl",
3
+ "description": "DigitalOcean command-line interface for managing infrastructure",
4
+ "category": "Cloud CLIs",
5
+ "platforms": ["linux", "macos", "windows"],
6
+ "shells": ["bash", "zsh", "powershell", "fish"],
7
+ "subcommands": [
8
+ {
9
+ "name": "compute",
10
+ "description": "Manage compute resources (droplets, snapshots, images)",
11
+ "subcommands": [
12
+ {
13
+ "name": "droplet",
14
+ "description": "Manage droplets",
15
+ "subcommands": [
16
+ { "name": "create", "description": "Create a droplet", "args": [{ "name": "name", "description": "Droplet name", "required": true }], "options": [{ "name": "--size", "description": "Droplet size slug", "takesValue": true }, { "name": "--image", "description": "Image slug or ID", "takesValue": true }, { "name": "--region", "description": "Region slug", "takesValue": true }, { "name": "--ssh-keys", "description": "SSH key IDs or fingerprints", "takesValue": true }, { "name": "--tag-name", "description": "Tag to apply", "takesValue": true }, { "name": "--user-data", "description": "User data script", "takesValue": true }, { "name": "--vpc-uuid", "description": "VPC UUID", "takesValue": true }] },
17
+ { "name": "list", "description": "List droplets", "options": [{ "name": "--format", "description": "Output columns", "takesValue": true }, { "name": "--tag-name", "description": "Filter by tag", "takesValue": true }, { "name": "--region", "description": "Filter by region", "takesValue": true }] },
18
+ { "name": "get", "description": "Get droplet details", "args": [{ "name": "id", "description": "Droplet ID", "required": true }] },
19
+ { "name": "delete", "description": "Delete a droplet", "args": [{ "name": "id", "description": "Droplet ID", "required": true }], "options": [{ "name": "--force", "shorthand": "-f", "description": "Delete without confirmation" }] },
20
+ { "name": "actions", "description": "List actions for a droplet", "args": [{ "name": "id", "description": "Droplet ID", "required": true }] }
21
+ ]
22
+ },
23
+ {
24
+ "name": "ssh",
25
+ "description": "SSH into a droplet",
26
+ "args": [{ "name": "droplet", "description": "Droplet ID or name", "required": true }],
27
+ "options": [{ "name": "--ssh-user", "description": "SSH user", "takesValue": true }, { "name": "--ssh-key-path", "description": "Path to SSH key", "takesValue": true }]
28
+ },
29
+ {
30
+ "name": "volume",
31
+ "description": "Manage block storage volumes",
32
+ "subcommands": [
33
+ { "name": "create", "description": "Create a volume", "args": [{ "name": "name", "description": "Volume name", "required": true }], "options": [{ "name": "--region", "description": "Region", "takesValue": true }, { "name": "--size", "description": "Size in GiB", "takesValue": true }] },
34
+ { "name": "list", "description": "List volumes" },
35
+ { "name": "delete", "description": "Delete a volume", "args": [{ "name": "id", "description": "Volume ID", "required": true }] }
36
+ ]
37
+ }
38
+ ]
39
+ },
40
+ {
41
+ "name": "kubernetes",
42
+ "description": "Manage Kubernetes clusters",
43
+ "subcommands": [
44
+ { "name": "cluster", "description": "Manage clusters", "subcommands": [
45
+ { "name": "create", "description": "Create cluster", "args": [{ "name": "name", "description": "Cluster name", "required": true }], "options": [{ "name": "--region", "description": "Region", "takesValue": true }, { "name": "--version", "description": "K8s version", "takesValue": true }, { "name": "--count", "description": "Node count", "takesValue": true }, { "name": "--size", "description": "Node size", "takesValue": true }] },
46
+ { "name": "list", "description": "List clusters" },
47
+ { "name": "delete", "description": "Delete cluster", "args": [{ "name": "id", "description": "Cluster ID", "required": true }] },
48
+ { "name": "kubeconfig", "description": "Manage kubeconfig", "subcommands": [{ "name": "save", "description": "Save kubeconfig", "args": [{ "name": "id", "description": "Cluster ID", "required": true }] }] }
49
+ ]}
50
+ ]
51
+ },
52
+ {
53
+ "name": "databases",
54
+ "description": "Manage managed databases",
55
+ "subcommands": [
56
+ { "name": "create", "description": "Create a database cluster", "args": [{ "name": "name", "description": "Database name", "required": true }], "options": [{ "name": "--engine", "description": "Database engine (pg, mysql, redis, mongodb)", "takesValue": true }, { "name": "--region", "description": "Region", "takesValue": true }, { "name": "--size", "description": "Node size", "takesValue": true }] },
57
+ { "name": "list", "description": "List database clusters" },
58
+ { "name": "delete", "description": "Delete a database cluster", "args": [{ "name": "id", "description": "Database ID", "required": true }] }
59
+ ]
60
+ },
61
+ {
62
+ "name": "apps",
63
+ "description": "Manage App Platform apps",
64
+ "subcommands": [
65
+ { "name": "create", "description": "Create an app", "options": [{ "name": "--spec", "description": "Path to app spec file", "takesValue": true }] },
66
+ { "name": "list", "description": "List apps" },
67
+ { "name": "get", "description": "Get app details", "args": [{ "name": "id", "description": "App ID", "required": true }] },
68
+ { "name": "delete", "description": "Delete an app", "args": [{ "name": "id", "description": "App ID", "required": true }] },
69
+ { "name": "logs", "description": "Get app logs", "args": [{ "name": "id", "description": "App ID", "required": true }] }
70
+ ]
71
+ },
72
+ {
73
+ "name": "auth",
74
+ "description": "Manage authentication",
75
+ "subcommands": [
76
+ { "name": "init", "description": "Initialize authentication" },
77
+ { "name": "list", "description": "List authenticated contexts" },
78
+ { "name": "switch", "description": "Switch between contexts", "args": [{ "name": "name", "description": "Context name", "required": true }] }
79
+ ]
80
+ },
81
+ {
82
+ "name": "account",
83
+ "description": "Display account information",
84
+ "subcommands": [
85
+ { "name": "get", "description": "Get account details" },
86
+ { "name": "ratelimit", "description": "Show API rate limit" }
87
+ ]
88
+ }
89
+ ],
90
+ "globalOptions": [
91
+ { "name": "--access-token", "shorthand": "-t", "description": "API access token", "takesValue": true },
92
+ { "name": "--context", "description": "Authentication context name", "takesValue": true },
93
+ { "name": "--output", "shorthand": "-o", "description": "Output format (json, text)", "takesValue": true },
94
+ { "name": "--trace", "description": "Enable trace output" },
95
+ { "name": "--help", "shorthand": "-h", "description": "Show help" }
96
+ ],
97
+ "examples": [
98
+ { "command": "doctl compute droplet create my-droplet --size s-1vcpu-1gb --image ubuntu-22-04-x64 --region nyc1", "description": "Create a basic droplet" },
99
+ { "command": "doctl compute droplet list --format ID,Name,PublicIPv4,Status", "description": "List droplets with specific columns" },
100
+ { "command": "doctl kubernetes cluster kubeconfig save my-cluster", "description": "Save kubeconfig for a cluster" },
101
+ { "command": "doctl apps create --spec .do/app.yaml", "description": "Create app from spec file" }
102
+ ],
103
+ "relatedCommands": ["aws", "gcloud", "az"],
104
+ "contextEngine": {
105
+ "detectors": [
106
+ {
107
+ "name": "account",
108
+ "description": "Current authenticated account",
109
+ "command": "doctl account get --format Email,Status --no-header 2>/dev/null",
110
+ "parser": "text",
111
+ "cacheFor": 300,
112
+ "requiresCmd": "doctl"
113
+ },
114
+ {
115
+ "name": "droplets",
116
+ "description": "List running droplets",
117
+ "command": "doctl compute droplet list --format ID,Name,Region,Status --no-header 2>/dev/null",
118
+ "parser": "lines",
119
+ "cacheFor": 60,
120
+ "requiresCmd": "doctl"
121
+ },
122
+ {
123
+ "name": "regions",
124
+ "description": "Available regions",
125
+ "command": "doctl compute region list --format Slug,Name --no-header 2>/dev/null",
126
+ "parser": "lines",
127
+ "cacheFor": 3600,
128
+ "requiresCmd": "doctl"
129
+ },
130
+ {
131
+ "name": "databases",
132
+ "description": "List managed databases",
133
+ "command": "doctl databases list --format ID,Name,Engine,Region,Status --no-header 2>/dev/null",
134
+ "parser": "lines",
135
+ "cacheFor": 120,
136
+ "requiresCmd": "doctl"
137
+ },
138
+ {
139
+ "name": "apps",
140
+ "description": "List App Platform apps",
141
+ "command": "doctl apps list --format ID,Spec.Name --no-header 2>/dev/null",
142
+ "parser": "lines",
143
+ "cacheFor": 120,
144
+ "requiresCmd": "doctl"
145
+ },
146
+ {
147
+ "name": "kubernetes_clusters",
148
+ "description": "List Kubernetes clusters",
149
+ "command": "doctl kubernetes cluster list --format ID,Name,Region,Status --no-header 2>/dev/null",
150
+ "parser": "lines",
151
+ "cacheFor": 120,
152
+ "requiresCmd": "doctl"
153
+ }
154
+ ]
155
+ }
156
+ }
@@ -0,0 +1,69 @@
1
+ {
2
+ "name": "eslint",
3
+ "description": "ESLint - pluggable JavaScript/TypeScript linting utility",
4
+ "category": "Node Ecosystem",
5
+ "platforms": ["linux", "macos", "windows"],
6
+ "shells": ["bash", "zsh", "powershell", "fish"],
7
+ "subcommands": [],
8
+ "globalOptions": [
9
+ { "name": "--fix", "description": "Automatically fix problems" },
10
+ { "name": "--fix-dry-run", "description": "Preview fixes without writing" },
11
+ { "name": "--ext", "description": "File extensions to check", "takesValue": true },
12
+ { "name": "--config", "shorthand": "-c", "description": "Config file path", "takesValue": true },
13
+ { "name": "--env", "description": "Environments (browser, node, es6)", "takesValue": true },
14
+ { "name": "--global", "description": "Global variables", "takesValue": true },
15
+ { "name": "--parser", "description": "Parser to use", "takesValue": true },
16
+ { "name": "--rule", "description": "Specify rules", "takesValue": true },
17
+ { "name": "--ignore-path", "description": "Ignore file path", "takesValue": true },
18
+ { "name": "--ignore-pattern", "description": "Patterns to ignore", "takesValue": true },
19
+ { "name": "--no-ignore", "description": "Disable ignoring" },
20
+ { "name": "--format", "shorthand": "-f", "description": "Output format (stylish, json, compact, table)", "takesValue": true },
21
+ { "name": "--output-file", "shorthand": "-o", "description": "Write output to file", "takesValue": true },
22
+ { "name": "--quiet", "description": "Report errors only" },
23
+ { "name": "--max-warnings", "description": "Max warnings before failure", "takesValue": true },
24
+ { "name": "--no-eslintrc", "description": "Disable config file loading" },
25
+ { "name": "--cache", "description": "Enable file caching" },
26
+ { "name": "--cache-location", "description": "Cache location", "takesValue": true },
27
+ { "name": "--cache-strategy", "description": "Cache strategy (content, metadata)", "takesValue": true },
28
+ { "name": "--debug", "description": "Enable debug output" },
29
+ { "name": "--print-config", "description": "Print config for a file", "takesValue": true },
30
+ { "name": "--init", "description": "Initialize ESLint config" },
31
+ { "name": "--help", "shorthand": "-h", "description": "Show help" },
32
+ { "name": "--version", "shorthand": "-v", "description": "Show version" }
33
+ ],
34
+ "examples": [
35
+ { "command": "eslint .", "description": "Lint all files in current directory" },
36
+ { "command": "eslint --fix src/", "description": "Lint and fix files in src/" },
37
+ { "command": "eslint --ext .ts,.tsx src/", "description": "Lint TypeScript files" },
38
+ { "command": "eslint --format json . > report.json", "description": "Generate JSON report" },
39
+ { "command": "eslint --cache --fix .", "description": "Lint with caching and auto-fix" },
40
+ { "command": "eslint --init", "description": "Initialize config interactively" },
41
+ { "command": "eslint --quiet --max-warnings 0 src/", "description": "Strict mode - no warnings" }
42
+ ],
43
+ "relatedCommands": ["prettier", "tsc"],
44
+ "contextEngine": {
45
+ "detectors": [
46
+ {
47
+ "name": "eslint_config",
48
+ "description": "ESLint configuration",
49
+ "command": "cat eslint.config.js 2>/dev/null || cat eslint.config.mjs 2>/dev/null || cat .eslintrc.json 2>/dev/null || cat .eslintrc.js 2>/dev/null || cat .eslintrc.yml 2>/dev/null || cat .eslintrc 2>/dev/null",
50
+ "parser": "text",
51
+ "cacheFor": 60
52
+ },
53
+ {
54
+ "name": "eslint_ignore",
55
+ "description": "ESLint ignore patterns",
56
+ "command": "cat .eslintignore 2>/dev/null",
57
+ "parser": "lines",
58
+ "cacheFor": 60
59
+ },
60
+ {
61
+ "name": "eslint_plugins",
62
+ "description": "Installed ESLint plugins",
63
+ "command": "node -e \"const p=require('./package.json');Object.keys({...p.dependencies,...p.devDependencies}).filter(d=>d.startsWith('eslint-plugin')||d.startsWith('@typescript-eslint')).forEach(d=>console.log(d))\" 2>/dev/null",
64
+ "parser": "lines",
65
+ "cacheFor": 120
66
+ }
67
+ ]
68
+ }
69
+ }
@@ -0,0 +1,44 @@
1
+ {
2
+ "name": "find",
3
+ "description": "Search for files in a directory hierarchy",
4
+ "category": "filesystem",
5
+ "platforms": ["linux", "macos", "windows"],
6
+ "shells": ["bash", "zsh", "fish"],
7
+ "subcommands": [],
8
+ "globalOptions": [
9
+ { "name": "-name", "description": "Match filename (case sensitive)", "type": "string" },
10
+ { "name": "-iname", "description": "Match filename (case insensitive)", "type": "string" },
11
+ { "name": "-type", "description": "File type (f=file, d=directory, l=symlink)", "type": "string" },
12
+ { "name": "-size", "description": "File size (+10M, -1k, 100c)", "type": "string" },
13
+ { "name": "-mtime", "description": "Modified time in days", "type": "number" },
14
+ { "name": "-mmin", "description": "Modified time in minutes", "type": "number" },
15
+ { "name": "-newer", "description": "Modified more recently than file", "type": "file" },
16
+ { "name": "-user", "description": "Owned by user", "type": "string" },
17
+ { "name": "-group", "description": "Owned by group", "type": "string" },
18
+ { "name": "-perm", "description": "Match permissions", "type": "string" },
19
+ { "name": "-maxdepth", "description": "Maximum directory depth", "type": "number" },
20
+ { "name": "-mindepth", "description": "Minimum directory depth", "type": "number" },
21
+ { "name": "-exec", "description": "Execute command on each result", "type": "string" },
22
+ { "name": "-delete", "description": "Delete matching files" },
23
+ { "name": "-print", "description": "Print full file name" },
24
+ { "name": "-print0", "description": "Print null-separated results" },
25
+ { "name": "-empty", "description": "Match empty files/directories" },
26
+ { "name": "-not", "description": "Negate following expression" },
27
+ { "name": "-or", "short": "-o", "description": "OR expression" },
28
+ { "name": "-path", "description": "Match path pattern", "type": "string" },
29
+ { "name": "-prune", "description": "Don't descend into directory" },
30
+ { "name": "-regex", "description": "Match path with regex", "type": "string" }
31
+ ],
32
+ "examples": [
33
+ "find . -name '*.js'",
34
+ "find . -type f -name '*.log' -mtime +30 -delete",
35
+ "find /var -type f -size +100M",
36
+ "find . -type d -empty",
37
+ "find . -name '*.py' -exec grep -l 'import os' {} +",
38
+ "find . -type f -not -path './node_modules/*'",
39
+ "find . -name '*.tmp' -print0 | xargs -0 rm",
40
+ "find . -maxdepth 2 -name 'Makefile'",
41
+ "find . -newer reference_file -type f"
42
+ ],
43
+ "relatedCommands": ["fd", "locate", "which", "whereis", "ls"]
44
+ }
@@ -0,0 +1,97 @@
1
+ {
2
+ "name": "firebase",
3
+ "description": "Firebase CLI for managing Firebase projects and services",
4
+ "category": "Cloud CLIs",
5
+ "platforms": ["linux", "macos", "windows"],
6
+ "shells": ["bash", "zsh", "powershell", "fish"],
7
+ "subcommands": [
8
+ { "name": "init", "description": "Initialize a Firebase project in the current directory", "options": [{ "name": "--project", "shorthand": "-P", "description": "Project to use", "takesValue": true }] },
9
+ { "name": "deploy", "description": "Deploy to Firebase", "options": [{ "name": "--only", "description": "Deploy only specific targets (hosting, functions, firestore, storage)", "takesValue": true }, { "name": "--except", "description": "Skip specific targets", "takesValue": true }, { "name": "--project", "shorthand": "-P", "description": "Project to deploy to", "takesValue": true }, { "name": "--message", "shorthand": "-m", "description": "Deploy message", "takesValue": true }] },
10
+ { "name": "serve", "description": "Start a local server for Firebase Hosting", "options": [{ "name": "--only", "description": "Serve only specific targets", "takesValue": true }, { "name": "--port", "shorthand": "-p", "description": "Port to serve on", "takesValue": true }, { "name": "--host", "shorthand": "-o", "description": "Host to serve on", "takesValue": true }] },
11
+ { "name": "emulators", "description": "Manage Firebase emulators", "subcommands": [
12
+ { "name": "start", "description": "Start emulators", "options": [{ "name": "--only", "description": "Start only specific emulators", "takesValue": true }, { "name": "--import", "description": "Import emulator data", "takesValue": true }, { "name": "--export-on-exit", "description": "Export data on exit", "takesValue": true }] },
13
+ { "name": "exec", "description": "Start emulators and run a script", "args": [{ "name": "script", "description": "Script to run", "required": true }] }
14
+ ]},
15
+ { "name": "functions", "description": "Manage Cloud Functions", "subcommands": [
16
+ { "name": "log", "description": "View function logs", "options": [{ "name": "--only", "description": "Filter by function name", "takesValue": true }] },
17
+ { "name": "delete", "description": "Delete functions", "args": [{ "name": "name", "description": "Function name", "required": false }] },
18
+ { "name": "shell", "description": "Start an interactive functions shell" }
19
+ ]},
20
+ { "name": "hosting", "description": "Manage Firebase Hosting", "subcommands": [
21
+ { "name": "channel", "description": "Manage preview channels", "subcommands": [
22
+ { "name": "create", "description": "Create a preview channel", "args": [{ "name": "channelId", "description": "Channel ID", "required": true }] },
23
+ { "name": "delete", "description": "Delete a preview channel", "args": [{ "name": "channelId", "description": "Channel ID", "required": true }] },
24
+ { "name": "list", "description": "List preview channels" },
25
+ { "name": "deploy", "description": "Deploy to a channel", "args": [{ "name": "channelId", "description": "Channel ID", "required": true }] }
26
+ ]}
27
+ ]},
28
+ { "name": "firestore", "description": "Manage Firestore", "subcommands": [
29
+ { "name": "indexes", "description": "List Firestore indexes" },
30
+ { "name": "delete", "description": "Delete documents", "args": [{ "name": "path", "description": "Document path", "required": true }] }
31
+ ]},
32
+ { "name": "auth", "description": "Manage Firebase Auth", "subcommands": [
33
+ { "name": "export", "description": "Export user accounts", "args": [{ "name": "file", "description": "Output file", "required": true }] },
34
+ { "name": "import", "description": "Import user accounts", "args": [{ "name": "file", "description": "Input file", "required": true }] }
35
+ ]},
36
+ { "name": "use", "description": "Set active project", "args": [{ "name": "project", "description": "Project ID or alias", "required": true }] },
37
+ { "name": "projects", "description": "Manage Firebase projects", "subcommands": [
38
+ { "name": "list", "description": "List all projects" },
39
+ { "name": "create", "description": "Create a new project", "args": [{ "name": "projectId", "description": "Project ID", "required": true }] }
40
+ ]},
41
+ { "name": "login", "description": "Log in to Firebase", "options": [{ "name": "--no-localhost", "description": "Login without localhost" }] },
42
+ { "name": "logout", "description": "Log out of Firebase" },
43
+ { "name": "apps", "description": "Manage Firebase apps", "subcommands": [
44
+ { "name": "list", "description": "List apps" },
45
+ { "name": "create", "description": "Create an app", "options": [{ "name": "--platform", "description": "Platform (web, ios, android)", "takesValue": true }] }
46
+ ]}
47
+ ],
48
+ "globalOptions": [
49
+ { "name": "--project", "shorthand": "-P", "description": "Firebase project to use", "takesValue": true },
50
+ { "name": "--json", "description": "Output as JSON" },
51
+ { "name": "--debug", "description": "Enable debug logging" },
52
+ { "name": "--token", "description": "Auth token", "takesValue": true },
53
+ { "name": "--non-interactive", "description": "Suppress prompts" },
54
+ { "name": "--help", "shorthand": "-h", "description": "Show help" }
55
+ ],
56
+ "examples": [
57
+ { "command": "firebase deploy --only hosting", "description": "Deploy only hosting" },
58
+ { "command": "firebase emulators:start --only functions,firestore", "description": "Start function and Firestore emulators" },
59
+ { "command": "firebase use my-project", "description": "Switch to a project" },
60
+ { "command": "firebase functions:log --only myFunction", "description": "View logs for a function" },
61
+ { "command": "firebase hosting:channel:deploy preview", "description": "Deploy to preview channel" }
62
+ ],
63
+ "relatedCommands": ["gcloud", "vercel", "netlify"],
64
+ "contextEngine": {
65
+ "detectors": [
66
+ {
67
+ "name": "active_project",
68
+ "description": "Current Firebase project",
69
+ "command": "cat .firebaserc 2>/dev/null",
70
+ "parser": "json",
71
+ "cacheFor": 60
72
+ },
73
+ {
74
+ "name": "projects",
75
+ "description": "Available Firebase projects",
76
+ "command": "firebase projects:list --json 2>/dev/null",
77
+ "parser": "json",
78
+ "cacheFor": 300,
79
+ "requiresCmd": "firebase"
80
+ },
81
+ {
82
+ "name": "firebase_config",
83
+ "description": "Firebase configuration",
84
+ "command": "cat firebase.json 2>/dev/null",
85
+ "parser": "json",
86
+ "cacheFor": 60
87
+ },
88
+ {
89
+ "name": "deployed_services",
90
+ "description": "Services configured in firebase.json",
91
+ "command": "cat firebase.json 2>/dev/null | python3 -c \"import sys,json;d=json.load(sys.stdin);print('\\n'.join(d.keys()))\" 2>/dev/null || cat firebase.json 2>/dev/null | node -e \"const d=JSON.parse(require('fs').readFileSync('/dev/stdin','utf8'));console.log(Object.keys(d).join('\\n'))\" 2>/dev/null",
92
+ "parser": "lines",
93
+ "cacheFor": 60
94
+ }
95
+ ]
96
+ }
97
+ }
@@ -0,0 +1,79 @@
1
+ {
2
+ "name": "flask",
3
+ "description": "Flask CLI for running and managing Flask web applications",
4
+ "category": "Python Ecosystem",
5
+ "platforms": ["linux", "macos", "windows"],
6
+ "shells": ["bash", "zsh", "powershell", "fish"],
7
+ "subcommands": [
8
+ { "name": "run", "description": "Run the development server", "options": [{ "name": "--host", "shorthand": "-h", "description": "Bind host", "takesValue": true }, { "name": "--port", "shorthand": "-p", "description": "Bind port", "takesValue": true }, { "name": "--reload", "description": "Enable reloader" }, { "name": "--no-reload", "description": "Disable reloader" }, { "name": "--debugger", "description": "Enable debugger" }, { "name": "--no-debugger", "description": "Disable debugger" }, { "name": "--with-threads", "description": "Enable threading" }, { "name": "--cert", "description": "SSL cert file", "takesValue": true }, { "name": "--key", "description": "SSL key file", "takesValue": true }] },
9
+ { "name": "shell", "description": "Open interactive shell with app context" },
10
+ { "name": "routes", "description": "Show all registered URL routes", "options": [{ "name": "--sort", "shorthand": "-s", "description": "Sort by (endpoint, methods, rule, match)", "takesValue": true }, { "name": "--all-methods", "description": "Show HEAD and OPTIONS" }] },
11
+ { "name": "db", "description": "Database commands (Flask-Migrate)", "subcommands": [
12
+ { "name": "init", "description": "Initialize migrations directory" },
13
+ { "name": "migrate", "description": "Generate migration", "options": [{ "name": "--message", "shorthand": "-m", "description": "Migration message", "takesValue": true }] },
14
+ { "name": "upgrade", "description": "Apply migrations", "args": [{ "name": "revision", "description": "Target revision", "required": false }] },
15
+ { "name": "downgrade", "description": "Revert migrations", "args": [{ "name": "revision", "description": "Target revision", "required": false }] },
16
+ { "name": "history", "description": "Show migration history" },
17
+ { "name": "current", "description": "Show current migration" },
18
+ { "name": "heads", "description": "Show head migrations" },
19
+ { "name": "stamp", "description": "Stamp revision without migrating", "args": [{ "name": "revision", "description": "Revision", "required": true }] }
20
+ ]}
21
+ ],
22
+ "globalOptions": [
23
+ { "name": "--app", "shorthand": "-A", "description": "Flask application module", "takesValue": true },
24
+ { "name": "--debug", "description": "Enable debug mode" },
25
+ { "name": "--env-file", "shorthand": "-e", "description": "Environment file", "takesValue": true },
26
+ { "name": "--help", "description": "Show help" },
27
+ { "name": "--version", "description": "Show version" }
28
+ ],
29
+ "examples": [
30
+ { "command": "flask run", "description": "Run development server" },
31
+ { "command": "flask run --host 0.0.0.0 --port 5000", "description": "Run on all interfaces" },
32
+ { "command": "flask routes", "description": "Show URL routes" },
33
+ { "command": "flask shell", "description": "Open Python shell with app context" },
34
+ { "command": "flask db migrate -m 'Add users table'", "description": "Create migration" },
35
+ { "command": "flask db upgrade", "description": "Apply pending migrations" },
36
+ { "command": "FLASK_APP=app.py flask run --debug", "description": "Run with debug mode" }
37
+ ],
38
+ "relatedCommands": ["python", "gunicorn", "uvicorn"],
39
+ "contextEngine": {
40
+ "detectors": [
41
+ {
42
+ "name": "flask_app",
43
+ "description": "Flask app entry point",
44
+ "command": "echo $FLASK_APP 2>/dev/null; grep -rl 'Flask(__name__)' *.py 2>/dev/null | head -3",
45
+ "parser": "lines",
46
+ "cacheFor": 30
47
+ },
48
+ {
49
+ "name": "routes",
50
+ "description": "Registered routes",
51
+ "command": "flask routes 2>/dev/null",
52
+ "parser": "text",
53
+ "cacheFor": 30,
54
+ "requiresCmd": "flask"
55
+ },
56
+ {
57
+ "name": "blueprints",
58
+ "description": "Flask blueprints",
59
+ "command": "grep -rl 'Blueprint(' . --include='*.py' 2>/dev/null | head -10",
60
+ "parser": "lines",
61
+ "cacheFor": 60
62
+ },
63
+ {
64
+ "name": "migrations",
65
+ "description": "Migration files",
66
+ "command": "ls migrations/versions/*.py 2>/dev/null | head -10",
67
+ "parser": "lines",
68
+ "cacheFor": 30
69
+ },
70
+ {
71
+ "name": "env_file",
72
+ "description": "Flask environment config",
73
+ "command": "cat .flaskenv 2>/dev/null || cat .env 2>/dev/null | head -10",
74
+ "parser": "text",
75
+ "cacheFor": 30
76
+ }
77
+ ]
78
+ }
79
+ }
@@ -0,0 +1,148 @@
1
+ {
2
+ "name": "flyctl",
3
+ "description": "Fly.io CLI for deploying and managing applications on Fly.io",
4
+ "category": "Cloud CLIs",
5
+ "platforms": ["linux", "macos", "windows"],
6
+ "shells": ["bash", "zsh", "powershell", "fish"],
7
+ "subcommands": [
8
+ { "name": "launch", "description": "Create and configure a new app from source", "options": [{ "name": "--name", "description": "App name", "takesValue": true }, { "name": "--region", "shorthand": "-r", "description": "Region", "takesValue": true }, { "name": "--org", "shorthand": "-o", "description": "Organization", "takesValue": true }, { "name": "--no-deploy", "description": "Skip initial deploy" }, { "name": "--copy-config", "description": "Copy config from existing fly.toml" }] },
9
+ { "name": "deploy", "description": "Deploy the application", "options": [{ "name": "--image", "shorthand": "-i", "description": "Docker image to deploy", "takesValue": true }, { "name": "--local-only", "description": "Build locally" }, { "name": "--remote-only", "description": "Build remotely" }, { "name": "--region", "shorthand": "-r", "description": "Deploy to specific region", "takesValue": true }, { "name": "--strategy", "description": "Deployment strategy (canary, rolling, bluegreen)", "takesValue": true }, { "name": "--detach", "description": "Don't follow deploy" }] },
10
+ { "name": "apps", "description": "Manage apps", "subcommands": [
11
+ { "name": "list", "description": "List apps" },
12
+ { "name": "create", "description": "Create an app", "args": [{ "name": "name", "description": "App name", "required": false }], "options": [{ "name": "--org", "shorthand": "-o", "description": "Organization", "takesValue": true }] },
13
+ { "name": "destroy", "description": "Destroy an app", "args": [{ "name": "name", "description": "App name", "required": true }] },
14
+ { "name": "open", "description": "Open app in browser" },
15
+ { "name": "restart", "description": "Restart an app" },
16
+ { "name": "move", "description": "Move an app to another org", "args": [{ "name": "name", "description": "App name", "required": true }] }
17
+ ]},
18
+ { "name": "scale", "description": "Scale app resources", "subcommands": [
19
+ { "name": "count", "description": "Set VM count", "args": [{ "name": "count", "description": "Number of VMs", "required": true }] },
20
+ { "name": "memory", "description": "Set VM memory", "args": [{ "name": "size", "description": "Memory in MB", "required": true }] },
21
+ { "name": "vm", "description": "Set VM size", "args": [{ "name": "size", "description": "VM size (shared-cpu-1x, etc)", "required": true }] },
22
+ { "name": "show", "description": "Show current scale" }
23
+ ]},
24
+ { "name": "secrets", "description": "Manage secrets", "subcommands": [
25
+ { "name": "set", "description": "Set secrets", "args": [{ "name": "key=value", "description": "KEY=VALUE pairs", "required": true }] },
26
+ { "name": "unset", "description": "Remove secrets", "args": [{ "name": "keys", "description": "Secret names", "required": true }] },
27
+ { "name": "list", "description": "List secrets" }
28
+ ]},
29
+ { "name": "volumes", "description": "Manage volumes", "subcommands": [
30
+ { "name": "create", "description": "Create a volume", "args": [{ "name": "name", "description": "Volume name", "required": true }], "options": [{ "name": "--size", "shorthand": "-s", "description": "Size in GB", "takesValue": true }, { "name": "--region", "shorthand": "-r", "description": "Region", "takesValue": true }] },
31
+ { "name": "list", "description": "List volumes" },
32
+ { "name": "destroy", "description": "Destroy a volume", "args": [{ "name": "id", "description": "Volume ID", "required": true }] }
33
+ ]},
34
+ { "name": "postgres", "description": "Manage Postgres databases", "subcommands": [
35
+ { "name": "create", "description": "Create a Postgres cluster", "options": [{ "name": "--name", "shorthand": "-n", "description": "Cluster name", "takesValue": true }, { "name": "--region", "shorthand": "-r", "description": "Region", "takesValue": true }] },
36
+ { "name": "list", "description": "List Postgres clusters" },
37
+ { "name": "connect", "description": "Connect to a Postgres cluster", "args": [{ "name": "name", "description": "Cluster name", "required": true }] },
38
+ { "name": "attach", "description": "Attach a Postgres to an app", "args": [{ "name": "name", "description": "Postgres app name", "required": true }] }
39
+ ]},
40
+ { "name": "redis", "description": "Manage Redis databases", "subcommands": [
41
+ { "name": "create", "description": "Create a Redis instance" },
42
+ { "name": "list", "description": "List Redis instances" }
43
+ ]},
44
+ { "name": "ssh", "description": "SSH into machines", "subcommands": [
45
+ { "name": "console", "description": "SSH into a running machine" }
46
+ ]},
47
+ { "name": "logs", "description": "View app logs", "options": [{ "name": "--app", "shorthand": "-a", "description": "App name", "takesValue": true }] },
48
+ { "name": "status", "description": "Show app status", "options": [{ "name": "--all", "description": "Show all instances" }] },
49
+ { "name": "regions", "description": "List available regions", "subcommands": [
50
+ { "name": "list", "description": "List all regions" },
51
+ { "name": "add", "description": "Add regions to app", "args": [{ "name": "regions", "description": "Region codes", "required": true }] },
52
+ { "name": "remove", "description": "Remove regions", "args": [{ "name": "regions", "description": "Region codes", "required": true }] }
53
+ ]},
54
+ { "name": "ips", "description": "Manage IP addresses", "subcommands": [
55
+ { "name": "list", "description": "List IPs" },
56
+ { "name": "allocate-v4", "description": "Allocate IPv4" },
57
+ { "name": "allocate-v6", "description": "Allocate IPv6" },
58
+ { "name": "release", "description": "Release an IP", "args": [{ "name": "ip", "description": "IP address", "required": true }] }
59
+ ]},
60
+ { "name": "certs", "description": "Manage TLS certificates", "subcommands": [
61
+ { "name": "list", "description": "List certificates" },
62
+ { "name": "add", "description": "Add a certificate", "args": [{ "name": "hostname", "description": "Hostname", "required": true }] },
63
+ { "name": "remove", "description": "Remove a certificate", "args": [{ "name": "hostname", "description": "Hostname", "required": true }] }
64
+ ]},
65
+ { "name": "auth", "description": "Authentication commands", "subcommands": [
66
+ { "name": "login", "description": "Log in to Fly.io" },
67
+ { "name": "logout", "description": "Log out" },
68
+ { "name": "whoami", "description": "Show current user" },
69
+ { "name": "token", "description": "Show auth token" }
70
+ ]},
71
+ { "name": "proxy", "description": "Proxy to a Fly app", "args": [{ "name": "ports", "description": "Port mapping (local:remote)", "required": true }] },
72
+ { "name": "machine", "description": "Manage Fly Machines", "subcommands": [
73
+ { "name": "list", "description": "List machines" },
74
+ { "name": "run", "description": "Run a machine", "args": [{ "name": "image", "description": "Docker image", "required": true }] },
75
+ { "name": "start", "description": "Start a machine", "args": [{ "name": "id", "description": "Machine ID", "required": true }] },
76
+ { "name": "stop", "description": "Stop a machine", "args": [{ "name": "id", "description": "Machine ID", "required": true }] },
77
+ { "name": "destroy", "description": "Destroy a machine", "args": [{ "name": "id", "description": "Machine ID", "required": true }] }
78
+ ]}
79
+ ],
80
+ "globalOptions": [
81
+ { "name": "--app", "shorthand": "-a", "description": "App name", "takesValue": true },
82
+ { "name": "--config", "shorthand": "-c", "description": "Path to fly.toml", "takesValue": true },
83
+ { "name": "--json", "shorthand": "-j", "description": "Output as JSON" },
84
+ { "name": "--access-token", "shorthand": "-t", "description": "Access token", "takesValue": true },
85
+ { "name": "--verbose", "shorthand": "-v", "description": "Verbose output" },
86
+ { "name": "--help", "shorthand": "-h", "description": "Show help" }
87
+ ],
88
+ "examples": [
89
+ { "command": "fly launch", "description": "Create and deploy a new app" },
90
+ { "command": "fly deploy", "description": "Deploy current directory" },
91
+ { "command": "fly secrets set DATABASE_URL=postgres://...", "description": "Set a secret" },
92
+ { "command": "fly scale count 3", "description": "Scale to 3 instances" },
93
+ { "command": "fly logs -a my-app", "description": "View logs for an app" },
94
+ { "command": "fly postgres create --name my-db --region iad", "description": "Create a Postgres cluster" }
95
+ ],
96
+ "relatedCommands": ["railway", "render", "vercel"],
97
+ "contextEngine": {
98
+ "detectors": [
99
+ {
100
+ "name": "app_config",
101
+ "description": "Local fly.toml configuration",
102
+ "command": "cat fly.toml 2>/dev/null",
103
+ "parser": "text",
104
+ "cacheFor": 60
105
+ },
106
+ {
107
+ "name": "app_status",
108
+ "description": "Current app status",
109
+ "command": "fly status --json 2>/dev/null",
110
+ "parser": "json",
111
+ "cacheFor": 30,
112
+ "requiresCmd": "fly"
113
+ },
114
+ {
115
+ "name": "apps",
116
+ "description": "List all apps",
117
+ "command": "fly apps list --json 2>/dev/null",
118
+ "parser": "json",
119
+ "cacheFor": 120,
120
+ "requiresCmd": "fly"
121
+ },
122
+ {
123
+ "name": "regions",
124
+ "description": "Available regions",
125
+ "command": "fly platform regions --json 2>/dev/null",
126
+ "parser": "json",
127
+ "cacheFor": 3600,
128
+ "requiresCmd": "fly"
129
+ },
130
+ {
131
+ "name": "secrets",
132
+ "description": "App secrets",
133
+ "command": "fly secrets list --json 2>/dev/null",
134
+ "parser": "json",
135
+ "cacheFor": 120,
136
+ "requiresCmd": "fly"
137
+ },
138
+ {
139
+ "name": "databases",
140
+ "description": "Postgres databases",
141
+ "command": "fly postgres list --json 2>/dev/null",
142
+ "parser": "json",
143
+ "cacheFor": 120,
144
+ "requiresCmd": "fly"
145
+ }
146
+ ]
147
+ }
148
+ }