@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,83 @@
1
+ {
2
+ "name": "terragrunt",
3
+ "description": "Thin wrapper for Terraform providing extra tools for keeping configurations DRY",
4
+ "category": "DevOps/Infra",
5
+ "platforms": ["linux", "macos", "windows"],
6
+ "shells": ["bash", "zsh", "powershell", "fish"],
7
+ "subcommands": [
8
+ { "name": "plan", "description": "Generate and show execution plan (wraps terraform plan)" },
9
+ { "name": "apply", "description": "Apply changes (wraps terraform apply)", "options": [{ "name": "--auto-approve", "description": "Skip approval prompt" }] },
10
+ { "name": "destroy", "description": "Destroy infrastructure (wraps terraform destroy)" },
11
+ { "name": "init", "description": "Initialize Terraform (wraps terraform init)" },
12
+ { "name": "validate", "description": "Validate configuration" },
13
+ { "name": "output", "description": "Show output values" },
14
+ { "name": "run-all", "description": "Run command in all subdirectories", "subcommands": [
15
+ { "name": "plan", "description": "Plan across all modules" },
16
+ { "name": "apply", "description": "Apply across all modules" },
17
+ { "name": "destroy", "description": "Destroy across all modules" },
18
+ { "name": "init", "description": "Init across all modules" },
19
+ { "name": "validate", "description": "Validate across all modules" },
20
+ { "name": "output", "description": "Show outputs across all modules" }
21
+ ]},
22
+ { "name": "graph-dependencies", "description": "Show dependency graph" },
23
+ { "name": "hclfmt", "description": "Format HCL files" },
24
+ { "name": "render-json", "description": "Render terragrunt.hcl as JSON" },
25
+ { "name": "aws-provider-patch", "description": "Patch AWS provider configs" },
26
+ { "name": "scaffold", "description": "Scaffold new module configuration" },
27
+ { "name": "catalog", "description": "Browse module catalog" }
28
+ ],
29
+ "globalOptions": [
30
+ { "name": "--terragrunt-config", "description": "Path to terragrunt.hcl", "takesValue": true },
31
+ { "name": "--terragrunt-working-dir", "description": "Working directory", "takesValue": true },
32
+ { "name": "--terragrunt-source", "description": "Override source in terragrunt.hcl", "takesValue": true },
33
+ { "name": "--terragrunt-non-interactive", "description": "Non-interactive mode" },
34
+ { "name": "--terragrunt-log-level", "description": "Log level (trace, debug, info, warn, error)", "takesValue": true },
35
+ { "name": "--terragrunt-no-auto-init", "description": "Don't auto-run init" },
36
+ { "name": "--terragrunt-no-auto-retry", "description": "Don't auto-retry on errors" },
37
+ { "name": "--terragrunt-parallelism", "description": "Number of parallel modules for run-all", "takesValue": true },
38
+ { "name": "--terragrunt-exclude-dir", "description": "Exclude directory from run-all", "takesValue": true },
39
+ { "name": "--terragrunt-include-dir", "description": "Include only this directory in run-all", "takesValue": true }
40
+ ],
41
+ "examples": [
42
+ { "command": "terragrunt plan", "description": "Run plan" },
43
+ { "command": "terragrunt apply --auto-approve", "description": "Apply without prompt" },
44
+ { "command": "terragrunt run-all apply", "description": "Apply all modules" },
45
+ { "command": "terragrunt graph-dependencies", "description": "Show dependency graph" },
46
+ { "command": "terragrunt hclfmt", "description": "Format HCL files" },
47
+ { "command": "terragrunt run-all plan --terragrunt-parallelism 4", "description": "Parallel plan" },
48
+ { "command": "terragrunt render-json", "description": "Render config as JSON" }
49
+ ],
50
+ "relatedCommands": ["terraform", "pulumi"],
51
+ "contextEngine": {
52
+ "detectors": [
53
+ {
54
+ "name": "config_file",
55
+ "description": "Terragrunt configuration",
56
+ "command": "cat terragrunt.hcl 2>/dev/null | head -30",
57
+ "parser": "text",
58
+ "cacheFor": 30
59
+ },
60
+ {
61
+ "name": "modules",
62
+ "description": "Terragrunt modules in subdirectories",
63
+ "command": "find . -name 'terragrunt.hcl' -not -path './.terragrunt-cache/*' 2>/dev/null | head -20",
64
+ "parser": "lines",
65
+ "cacheFor": 30
66
+ },
67
+ {
68
+ "name": "dependencies",
69
+ "description": "Module dependencies",
70
+ "command": "grep -r 'dependency' terragrunt.hcl 2>/dev/null | head -10",
71
+ "parser": "lines",
72
+ "cacheFor": 30
73
+ },
74
+ {
75
+ "name": "terraform_source",
76
+ "description": "Terraform source modules",
77
+ "command": "grep 'source' terragrunt.hcl 2>/dev/null",
78
+ "parser": "text",
79
+ "cacheFor": 60
80
+ }
81
+ ]
82
+ }
83
+ }
@@ -0,0 +1,85 @@
1
+ {
2
+ "name": "tsc",
3
+ "description": "TypeScript compiler - compile TypeScript to JavaScript",
4
+ "category": "Node Ecosystem",
5
+ "platforms": ["linux", "macos", "windows"],
6
+ "shells": ["bash", "zsh", "powershell", "fish"],
7
+ "subcommands": [],
8
+ "globalOptions": [
9
+ { "name": "--init", "description": "Create a tsconfig.json file" },
10
+ { "name": "--project", "shorthand": "-p", "description": "Compile from tsconfig path", "takesValue": true },
11
+ { "name": "--build", "shorthand": "-b", "description": "Build project references" },
12
+ { "name": "--watch", "shorthand": "-w", "description": "Watch for changes" },
13
+ { "name": "--outDir", "description": "Output directory", "takesValue": true },
14
+ { "name": "--outFile", "description": "Concatenate to single output file", "takesValue": true },
15
+ { "name": "--rootDir", "description": "Root directory of source files", "takesValue": true },
16
+ { "name": "--target", "description": "ECMAScript target (ES5, ES6, ES2015-ES2022, ESNext)", "takesValue": true },
17
+ { "name": "--module", "description": "Module system (commonjs, es2015, es2020, esnext, nodenext)", "takesValue": true },
18
+ { "name": "--moduleResolution", "description": "Resolution strategy (node, nodenext, bundler)", "takesValue": true },
19
+ { "name": "--strict", "description": "Enable all strict checks" },
20
+ { "name": "--noEmit", "description": "Don't emit output files" },
21
+ { "name": "--declaration", "shorthand": "-d", "description": "Generate .d.ts files" },
22
+ { "name": "--declarationMap", "description": "Generate declaration sourcemaps" },
23
+ { "name": "--sourceMap", "description": "Generate source maps" },
24
+ { "name": "--jsx", "description": "JSX mode (preserve, react, react-jsx, react-jsxdev)", "takesValue": true },
25
+ { "name": "--lib", "description": "Library files to include", "takesValue": true },
26
+ { "name": "--types", "description": "Type packages to include", "takesValue": true },
27
+ { "name": "--esModuleInterop", "description": "Enable ES module interop" },
28
+ { "name": "--resolveJsonModule", "description": "Enable JSON module resolution" },
29
+ { "name": "--skipLibCheck", "description": "Skip type checking of .d.ts files" },
30
+ { "name": "--noUnusedLocals", "description": "Report unused locals" },
31
+ { "name": "--noUnusedParameters", "description": "Report unused parameters" },
32
+ { "name": "--noImplicitAny", "description": "Error on implicit any" },
33
+ { "name": "--noImplicitReturns", "description": "Error on missing returns" },
34
+ { "name": "--pretty", "description": "Pretty-print errors" },
35
+ { "name": "--showConfig", "description": "Print resolved config" },
36
+ { "name": "--listFiles", "description": "List files in compilation" },
37
+ { "name": "--incremental", "description": "Enable incremental compilation" },
38
+ { "name": "--composite", "description": "Enable project references" },
39
+ { "name": "--help", "shorthand": "-h", "description": "Show help" },
40
+ { "name": "--version", "shorthand": "-v", "description": "Show version" }
41
+ ],
42
+ "examples": [
43
+ { "command": "tsc", "description": "Compile using tsconfig.json" },
44
+ { "command": "tsc --init", "description": "Create tsconfig.json" },
45
+ { "command": "tsc --watch", "description": "Compile in watch mode" },
46
+ { "command": "tsc --noEmit", "description": "Type-check without emitting" },
47
+ { "command": "tsc -p tsconfig.build.json", "description": "Compile with specific config" },
48
+ { "command": "tsc -b", "description": "Build project references" },
49
+ { "command": "tsc --showConfig", "description": "Show resolved config" },
50
+ { "command": "tsc src/index.ts --outDir dist --target ES2020", "description": "Compile single file" }
51
+ ],
52
+ "relatedCommands": ["node", "eslint", "prettier"],
53
+ "contextEngine": {
54
+ "detectors": [
55
+ {
56
+ "name": "tsconfig",
57
+ "description": "TypeScript configuration",
58
+ "command": "cat tsconfig.json 2>/dev/null",
59
+ "parser": "json",
60
+ "cacheFor": 30
61
+ },
62
+ {
63
+ "name": "tsconfig_files",
64
+ "description": "All tsconfig files",
65
+ "command": "find . -maxdepth 3 -name 'tsconfig*.json' 2>/dev/null",
66
+ "parser": "lines",
67
+ "cacheFor": 60
68
+ },
69
+ {
70
+ "name": "ts_version",
71
+ "description": "Installed TypeScript version",
72
+ "command": "npx tsc --version 2>/dev/null",
73
+ "parser": "text",
74
+ "cacheFor": 300
75
+ },
76
+ {
77
+ "name": "ts_files",
78
+ "description": "TypeScript source files",
79
+ "command": "find src -name '*.ts' -o -name '*.tsx' 2>/dev/null | head -20",
80
+ "parser": "lines",
81
+ "cacheFor": 30
82
+ }
83
+ ]
84
+ }
85
+ }
@@ -0,0 +1,72 @@
1
+ {
2
+ "name": "turbo",
3
+ "description": "Turborepo - high-performance build system for JavaScript/TypeScript monorepos",
4
+ "category": "Node Ecosystem",
5
+ "platforms": ["linux", "macos", "windows"],
6
+ "shells": ["bash", "zsh", "powershell", "fish"],
7
+ "subcommands": [
8
+ { "name": "run", "description": "Run tasks across packages", "args": [{ "name": "tasks", "description": "Tasks to run", "required": true }], "options": [{ "name": "--filter", "shorthand": "-F", "description": "Filter packages", "takesValue": true }, { "name": "--parallel", "description": "Run tasks in parallel" }, { "name": "--concurrency", "description": "Max concurrent tasks", "takesValue": true }, { "name": "--continue", "description": "Continue on error" }, { "name": "--dry-run", "description": "Show task plan without executing" }, { "name": "--graph", "description": "Generate task graph (dot format)", "takesValue": true }, { "name": "--cache-dir", "description": "Cache directory", "takesValue": true }, { "name": "--force", "description": "Ignore cache" }, { "name": "--no-cache", "description": "Disable caching" }, { "name": "--output-logs", "description": "Log output mode (full, hash-only, new-only, errors-only, none)", "takesValue": true }, { "name": "--only", "description": "Run only specified tasks, no deps" }, { "name": "--env-mode", "description": "Environment variable mode (strict, loose)", "takesValue": true }] },
9
+ { "name": "prune", "description": "Prune workspace for deployment", "options": [{ "name": "--scope", "description": "Package to prune for", "takesValue": true }, { "name": "--docker", "description": "Output Docker-optimized structure" }, { "name": "--out-dir", "description": "Output directory", "takesValue": true }] },
10
+ { "name": "gen", "description": "Generate code", "subcommands": [
11
+ { "name": "workspace", "description": "Add a new package to the monorepo", "options": [{ "name": "--name", "description": "Package name", "takesValue": true }, { "name": "--copy", "description": "Copy from existing package", "takesValue": true }] }
12
+ ]},
13
+ { "name": "login", "description": "Login to Vercel Remote Cache" },
14
+ { "name": "logout", "description": "Logout from Vercel Remote Cache" },
15
+ { "name": "link", "description": "Link to a Vercel team for Remote Cache" },
16
+ { "name": "unlink", "description": "Unlink from Vercel team" },
17
+ { "name": "daemon", "description": "Manage turbo daemon", "subcommands": [
18
+ { "name": "status", "description": "Show daemon status" },
19
+ { "name": "start", "description": "Start the daemon" },
20
+ { "name": "stop", "description": "Stop the daemon" }
21
+ ]},
22
+ { "name": "bin", "description": "Show turbo binary path" },
23
+ { "name": "ls", "description": "List packages in the monorepo", "options": [{ "name": "--filter", "shorthand": "-F", "description": "Filter packages", "takesValue": true }] }
24
+ ],
25
+ "globalOptions": [
26
+ { "name": "--help", "shorthand": "-h", "description": "Show help" },
27
+ { "name": "--version", "description": "Show version" },
28
+ { "name": "--cwd", "description": "Working directory", "takesValue": true },
29
+ { "name": "--verbosity", "description": "Verbosity level", "takesValue": true }
30
+ ],
31
+ "examples": [
32
+ { "command": "turbo run build", "description": "Build all packages" },
33
+ { "command": "turbo run test --filter=@myorg/web", "description": "Test a specific package" },
34
+ { "command": "turbo run lint build test --parallel", "description": "Run multiple tasks in parallel" },
35
+ { "command": "turbo run build --dry-run", "description": "Preview build plan" },
36
+ { "command": "turbo prune --scope=@myorg/web --docker", "description": "Prune for Docker deployment" },
37
+ { "command": "turbo run dev --filter=./apps/*", "description": "Dev all apps" }
38
+ ],
39
+ "relatedCommands": ["nx", "npm", "pnpm", "yarn"],
40
+ "contextEngine": {
41
+ "detectors": [
42
+ {
43
+ "name": "turbo_config",
44
+ "description": "Turbo configuration",
45
+ "command": "cat turbo.json 2>/dev/null",
46
+ "parser": "json",
47
+ "cacheFor": 30
48
+ },
49
+ {
50
+ "name": "workspaces",
51
+ "description": "Monorepo packages",
52
+ "command": "turbo ls --json 2>/dev/null || node -e \"const p=require('./package.json');(p.workspaces||[]).forEach(w=>console.log(w))\" 2>/dev/null",
53
+ "parser": "lines",
54
+ "cacheFor": 60
55
+ },
56
+ {
57
+ "name": "tasks",
58
+ "description": "Available pipeline tasks",
59
+ "command": "cat turbo.json 2>/dev/null | node -e \"const d=JSON.parse(require('fs').readFileSync('/dev/stdin','utf8'));console.log(Object.keys(d.tasks||d.pipeline||{}).join('\\n'))\" 2>/dev/null",
60
+ "parser": "lines",
61
+ "cacheFor": 30
62
+ },
63
+ {
64
+ "name": "package_scripts",
65
+ "description": "Root package.json scripts",
66
+ "command": "node -e \"const p=require('./package.json');Object.keys(p.scripts||{}).forEach(s=>console.log(s))\" 2>/dev/null",
67
+ "parser": "lines",
68
+ "cacheFor": 30
69
+ }
70
+ ]
71
+ }
72
+ }
@@ -0,0 +1,76 @@
1
+ {
2
+ "name": "ufw",
3
+ "description": "Uncomplicated Firewall - frontend for iptables",
4
+ "category": "Linux Coreutils",
5
+ "platforms": ["linux"],
6
+ "shells": ["bash", "zsh", "fish"],
7
+ "subcommands": [
8
+ { "name": "enable", "description": "Enable the firewall" },
9
+ { "name": "disable", "description": "Disable the firewall" },
10
+ { "name": "reset", "description": "Reset to default rules" },
11
+ { "name": "reload", "description": "Reload firewall rules" },
12
+ { "name": "status", "description": "Show firewall status", "options": [
13
+ { "name": "verbose", "description": "Detailed status" },
14
+ { "name": "numbered", "description": "Show rule numbers" }
15
+ ]},
16
+ { "name": "allow", "description": "Add allow rule", "args": [{ "name": "rule", "description": "Port/service/IP (e.g. 80, ssh, from 10.0.0.0/8)", "required": true }] },
17
+ { "name": "deny", "description": "Add deny rule", "args": [{ "name": "rule", "description": "Port/service/IP", "required": true }] },
18
+ { "name": "reject", "description": "Add reject rule", "args": [{ "name": "rule", "description": "Port/service/IP", "required": true }] },
19
+ { "name": "limit", "description": "Rate limit connections", "args": [{ "name": "rule", "description": "Port/service", "required": true }] },
20
+ { "name": "delete", "description": "Delete a rule", "args": [{ "name": "rule_or_num", "description": "Rule number or specification", "required": true }] },
21
+ { "name": "insert", "description": "Insert rule at position", "args": [{ "name": "num", "description": "Rule number", "required": true }] },
22
+ { "name": "route", "description": "Add routed firewall rule" },
23
+ { "name": "logging", "description": "Set logging level", "args": [{ "name": "level", "description": "off, low, medium, high, full", "required": true }] },
24
+ { "name": "default", "description": "Set default policy", "args": [{ "name": "policy", "description": "allow, deny, reject", "required": true }, { "name": "direction", "description": "incoming, outgoing, routed", "required": false }] },
25
+ { "name": "app", "description": "Application profiles", "subcommands": [
26
+ { "name": "list", "description": "List application profiles" },
27
+ { "name": "info", "description": "Show profile details", "args": [{ "name": "name", "description": "Profile name", "required": true }] },
28
+ { "name": "update", "description": "Update profile" },
29
+ { "name": "default", "description": "Set default app policy" }
30
+ ]}
31
+ ],
32
+ "globalOptions": [
33
+ { "name": "--dry-run", "description": "Don't modify anything" },
34
+ { "name": "--force", "description": "Force operation" }
35
+ ],
36
+ "examples": [
37
+ { "command": "sudo ufw enable", "description": "Enable firewall" },
38
+ { "command": "sudo ufw status verbose", "description": "Detailed status" },
39
+ { "command": "sudo ufw allow 80/tcp", "description": "Allow HTTP" },
40
+ { "command": "sudo ufw allow ssh", "description": "Allow SSH" },
41
+ { "command": "sudo ufw allow from 10.0.0.0/8", "description": "Allow subnet" },
42
+ { "command": "sudo ufw deny 3306", "description": "Deny MySQL port" },
43
+ { "command": "sudo ufw delete allow 80/tcp", "description": "Delete a rule" },
44
+ { "command": "sudo ufw limit ssh", "description": "Rate limit SSH" },
45
+ { "command": "sudo ufw allow proto tcp from any to any port 80,443", "description": "Allow HTTP+HTTPS" },
46
+ { "command": "sudo ufw default deny incoming", "description": "Default deny incoming" }
47
+ ],
48
+ "relatedCommands": ["iptables", "nft"],
49
+ "contextEngine": {
50
+ "detectors": [
51
+ {
52
+ "name": "status",
53
+ "description": "Firewall status and rules",
54
+ "command": "sudo ufw status numbered 2>/dev/null || ufw status numbered 2>/dev/null",
55
+ "parser": "text",
56
+ "cacheFor": 15,
57
+ "requiresCmd": "ufw"
58
+ },
59
+ {
60
+ "name": "app_profiles",
61
+ "description": "Available application profiles",
62
+ "command": "ufw app list 2>/dev/null",
63
+ "parser": "lines",
64
+ "cacheFor": 60,
65
+ "requiresCmd": "ufw"
66
+ },
67
+ {
68
+ "name": "listening_ports",
69
+ "description": "Ports currently in use",
70
+ "command": "ss -tlnp 2>/dev/null | awk 'NR>1 {print $4}' | sort -u | head -20",
71
+ "parser": "lines",
72
+ "cacheFor": 15
73
+ }
74
+ ]
75
+ }
76
+ }
@@ -0,0 +1,59 @@
1
+ {
2
+ "name": "unzip",
3
+ "description": "Extract files from ZIP archives",
4
+ "category": "Linux Coreutils",
5
+ "platforms": ["linux", "macos", "windows"],
6
+ "shells": ["bash", "zsh", "powershell", "fish"],
7
+ "subcommands": [],
8
+ "globalOptions": [
9
+ { "name": "-d", "description": "Extract to specified directory", "takesValue": true },
10
+ { "name": "-o", "description": "Overwrite without prompting" },
11
+ { "name": "-n", "description": "Never overwrite existing files" },
12
+ { "name": "-l", "description": "List archive contents" },
13
+ { "name": "-t", "description": "Test archive integrity" },
14
+ { "name": "-v", "description": "Verbose listing or extraction" },
15
+ { "name": "-q", "description": "Quiet mode" },
16
+ { "name": "-j", "description": "Junk paths (don't create directories)" },
17
+ { "name": "-x", "description": "Exclude files matching pattern", "takesValue": true },
18
+ { "name": "-p", "description": "Extract to stdout (pipe)" },
19
+ { "name": "-P", "description": "Extract absolute paths (DANGEROUS)" },
20
+ { "name": "-Z", "description": "zipinfo mode" },
21
+ { "name": "-c", "description": "Extract to stdout with filenames" },
22
+ { "name": "-a", "description": "Auto-convert text files" },
23
+ { "name": "-B", "description": "Backup existing files before overwrite" },
24
+ { "name": "-C", "description": "Case-insensitive matching" },
25
+ { "name": "-K", "description": "Preserve setuid/setgid/sticky bits" },
26
+ { "name": "-L", "description": "Convert filenames to lowercase" },
27
+ { "name": "-X", "description": "Restore UID/GID info" }
28
+ ],
29
+ "examples": [
30
+ { "command": "unzip archive.zip", "description": "Extract to current directory" },
31
+ { "command": "unzip archive.zip -d output/", "description": "Extract to directory" },
32
+ { "command": "unzip -l archive.zip", "description": "List contents" },
33
+ { "command": "unzip -o archive.zip", "description": "Extract overwriting files" },
34
+ { "command": "unzip archive.zip '*.txt'", "description": "Extract only txt files" },
35
+ { "command": "unzip -t archive.zip", "description": "Test integrity" },
36
+ { "command": "unzip archive.zip -x '*.log'", "description": "Extract excluding pattern" },
37
+ { "command": "unzip -p archive.zip file.txt | head", "description": "Extract to stdout" }
38
+ ],
39
+ "relatedCommands": ["zip", "tar"],
40
+ "contextEngine": {
41
+ "detectors": [
42
+ {
43
+ "name": "zip_files",
44
+ "description": "Available ZIP archives",
45
+ "command": "find . -maxdepth 2 -name '*.zip' 2>/dev/null | head -10",
46
+ "parser": "lines",
47
+ "cacheFor": 15
48
+ },
49
+ {
50
+ "name": "archive_contents",
51
+ "description": "Contents of most recent zip",
52
+ "command": "unzip -l $(ls -t *.zip 2>/dev/null | head -1) 2>/dev/null | tail -n +4 | head -20",
53
+ "parser": "lines",
54
+ "cacheFor": 15,
55
+ "requiresCmd": "unzip"
56
+ }
57
+ ]
58
+ }
59
+ }
@@ -0,0 +1,73 @@
1
+ {
2
+ "name": "uvicorn",
3
+ "description": "Lightning-fast ASGI server for Python web applications",
4
+ "category": "Python Ecosystem",
5
+ "platforms": ["linux", "macos", "windows"],
6
+ "shells": ["bash", "zsh", "powershell", "fish"],
7
+ "subcommands": [],
8
+ "globalOptions": [
9
+ { "name": "--host", "description": "Bind host", "takesValue": true },
10
+ { "name": "--port", "description": "Bind port", "takesValue": true },
11
+ { "name": "--uds", "description": "Unix domain socket", "takesValue": true },
12
+ { "name": "--fd", "description": "File descriptor", "takesValue": true },
13
+ { "name": "--reload", "description": "Enable auto-reload" },
14
+ { "name": "--reload-dir", "description": "Directories to watch", "takesValue": true },
15
+ { "name": "--reload-include", "description": "File patterns to watch", "takesValue": true },
16
+ { "name": "--reload-exclude", "description": "File patterns to exclude", "takesValue": true },
17
+ { "name": "--workers", "description": "Number of worker processes", "takesValue": true },
18
+ { "name": "--loop", "description": "Event loop (auto, asyncio, uvloop)", "takesValue": true },
19
+ { "name": "--http", "description": "HTTP protocol (auto, h11, httptools)", "takesValue": true },
20
+ { "name": "--ws", "description": "WebSocket protocol (auto, none, websockets, wsproto)", "takesValue": true },
21
+ { "name": "--ws-max-size", "description": "WebSocket max message size", "takesValue": true },
22
+ { "name": "--lifespan", "description": "Lifespan mode (auto, on, off)", "takesValue": true },
23
+ { "name": "--interface", "description": "Application interface (auto, asgi3, asgi2, wsgi)", "takesValue": true },
24
+ { "name": "--log-level", "description": "Log level (critical, error, warning, info, debug, trace)", "takesValue": true },
25
+ { "name": "--log-config", "description": "Logging config file", "takesValue": true },
26
+ { "name": "--access-log", "description": "Enable access log" },
27
+ { "name": "--no-access-log", "description": "Disable access log" },
28
+ { "name": "--proxy-headers", "description": "Enable proxy headers" },
29
+ { "name": "--ssl-keyfile", "description": "SSL key file", "takesValue": true },
30
+ { "name": "--ssl-certfile", "description": "SSL cert file", "takesValue": true },
31
+ { "name": "--ssl-keyfile-password", "description": "SSL key password", "takesValue": true },
32
+ { "name": "--root-path", "description": "ASGI root_path", "takesValue": true },
33
+ { "name": "--limit-concurrency", "description": "Max concurrent connections", "takesValue": true },
34
+ { "name": "--limit-max-requests", "description": "Max requests before restart", "takesValue": true },
35
+ { "name": "--timeout-keep-alive", "description": "Keep-alive timeout", "takesValue": true },
36
+ { "name": "--factory", "description": "Treat APP as a factory function" },
37
+ { "name": "--help", "shorthand": "-h", "description": "Show help" },
38
+ { "name": "--version", "description": "Show version" }
39
+ ],
40
+ "examples": [
41
+ { "command": "uvicorn main:app", "description": "Run ASGI app" },
42
+ { "command": "uvicorn main:app --reload --port 8000", "description": "Dev server with hot reload" },
43
+ { "command": "uvicorn main:app --host 0.0.0.0 --workers 4", "description": "Production with 4 workers" },
44
+ { "command": "uvicorn main:app --ssl-keyfile=key.pem --ssl-certfile=cert.pem", "description": "Run with HTTPS" },
45
+ { "command": "uvicorn app.main:create_app --factory", "description": "Run factory app" }
46
+ ],
47
+ "relatedCommands": ["gunicorn", "python", "flask"],
48
+ "contextEngine": {
49
+ "detectors": [
50
+ {
51
+ "name": "asgi_apps",
52
+ "description": "ASGI application entry points",
53
+ "command": "grep -rl 'FastAPI\\|Starlette\\|app\\s*=' *.py 2>/dev/null | head -5",
54
+ "parser": "lines",
55
+ "cacheFor": 30
56
+ },
57
+ {
58
+ "name": "pyproject",
59
+ "description": "Project configuration",
60
+ "command": "cat pyproject.toml 2>/dev/null | head -20",
61
+ "parser": "text",
62
+ "cacheFor": 60
63
+ },
64
+ {
65
+ "name": "virtualenv",
66
+ "description": "Active virtual environment",
67
+ "command": "echo $VIRTUAL_ENV 2>/dev/null",
68
+ "parser": "text",
69
+ "cacheFor": 30
70
+ }
71
+ ]
72
+ }
73
+ }
@@ -0,0 +1,144 @@
1
+ {
2
+ "name": "vault",
3
+ "description": "HashiCorp Vault - secrets management, encryption, and access control",
4
+ "category": "DevOps/Infra",
5
+ "platforms": ["linux", "macos", "windows"],
6
+ "shells": ["bash", "zsh", "powershell", "fish"],
7
+ "subcommands": [
8
+ { "name": "server", "description": "Start Vault server", "options": [
9
+ { "name": "-dev", "description": "Dev mode (in-memory, unsealed)" },
10
+ { "name": "-dev-root-token-id", "description": "Dev root token", "takesValue": true },
11
+ { "name": "-config", "description": "Config file/dir", "takesValue": true },
12
+ { "name": "-log-level", "description": "Log level", "takesValue": true }
13
+ ]},
14
+ { "name": "status", "description": "Show Vault seal status" },
15
+ { "name": "login", "description": "Authenticate to Vault", "options": [
16
+ { "name": "-method", "description": "Auth method", "takesValue": true },
17
+ { "name": "-token-only", "description": "Print only the token" },
18
+ { "name": "-no-store", "description": "Don't persist token" }
19
+ ]},
20
+ { "name": "kv", "description": "KV secrets engine", "subcommands": [
21
+ { "name": "put", "description": "Write a secret", "args": [{ "name": "path", "description": "Secret path", "required": true }] },
22
+ { "name": "get", "description": "Read a secret", "args": [{ "name": "path", "description": "Secret path", "required": true }], "options": [{ "name": "-format", "description": "Output format", "takesValue": true }, { "name": "-field", "description": "Specific field", "takesValue": true }] },
23
+ { "name": "delete", "description": "Delete a secret" },
24
+ { "name": "list", "description": "List secrets at path" },
25
+ { "name": "metadata", "description": "Manage secret metadata", "subcommands": [
26
+ { "name": "get", "description": "Get metadata" },
27
+ { "name": "put", "description": "Set metadata" },
28
+ { "name": "delete", "description": "Delete metadata" }
29
+ ]},
30
+ { "name": "patch", "description": "Patch a secret" },
31
+ { "name": "rollback", "description": "Rollback to previous version" },
32
+ { "name": "undelete", "description": "Undelete versions" },
33
+ { "name": "destroy", "description": "Permanently destroy versions" }
34
+ ]},
35
+ { "name": "secrets", "description": "Secrets engine management", "subcommands": [
36
+ { "name": "enable", "description": "Enable secrets engine" },
37
+ { "name": "disable", "description": "Disable secrets engine" },
38
+ { "name": "list", "description": "List enabled engines" },
39
+ { "name": "tune", "description": "Tune secrets engine" },
40
+ { "name": "move", "description": "Move secrets engine" }
41
+ ]},
42
+ { "name": "auth", "description": "Auth method management", "subcommands": [
43
+ { "name": "enable", "description": "Enable auth method" },
44
+ { "name": "disable", "description": "Disable auth method" },
45
+ { "name": "list", "description": "List enabled auth methods" },
46
+ { "name": "tune", "description": "Tune auth method" }
47
+ ]},
48
+ { "name": "policy", "description": "Policy management", "subcommands": [
49
+ { "name": "write", "description": "Write policy" },
50
+ { "name": "read", "description": "Read policy" },
51
+ { "name": "delete", "description": "Delete policy" },
52
+ { "name": "list", "description": "List policies" },
53
+ { "name": "fmt", "description": "Format policy" }
54
+ ]},
55
+ { "name": "token", "description": "Token management", "subcommands": [
56
+ { "name": "create", "description": "Create token" },
57
+ { "name": "lookup", "description": "Lookup token" },
58
+ { "name": "renew", "description": "Renew token" },
59
+ { "name": "revoke", "description": "Revoke token" },
60
+ { "name": "capabilities", "description": "Check capabilities" }
61
+ ]},
62
+ { "name": "operator", "description": "Cluster operations", "subcommands": [
63
+ { "name": "init", "description": "Initialize Vault" },
64
+ { "name": "unseal", "description": "Unseal Vault" },
65
+ { "name": "seal", "description": "Seal Vault" },
66
+ { "name": "rekey", "description": "Rekey Vault" },
67
+ { "name": "raft", "description": "Raft operations" },
68
+ { "name": "step-down", "description": "Step down as leader" }
69
+ ]},
70
+ { "name": "read", "description": "Read data from Vault", "args": [{ "name": "path", "description": "Path to read", "required": true }] },
71
+ { "name": "write", "description": "Write data to Vault", "args": [{ "name": "path", "description": "Path to write", "required": true }] },
72
+ { "name": "delete", "description": "Delete data from Vault", "args": [{ "name": "path", "description": "Path to delete", "required": true }] },
73
+ { "name": "list", "description": "List data at path", "args": [{ "name": "path", "description": "Path to list", "required": true }] },
74
+ { "name": "lease", "description": "Lease management", "subcommands": [
75
+ { "name": "renew", "description": "Renew lease" },
76
+ { "name": "revoke", "description": "Revoke lease" },
77
+ { "name": "lookup", "description": "Lookup lease" }
78
+ ]}
79
+ ],
80
+ "globalOptions": [
81
+ { "name": "-address", "description": "Vault server address", "takesValue": true },
82
+ { "name": "-token", "description": "Vault token", "takesValue": true },
83
+ { "name": "-namespace", "description": "Vault namespace", "takesValue": true },
84
+ { "name": "-format", "description": "Output format (table, json, yaml)", "takesValue": true },
85
+ { "name": "-field", "description": "Print specific field", "takesValue": true },
86
+ { "name": "-tls-skip-verify", "description": "Skip TLS verification" },
87
+ { "name": "-output-curl-string", "description": "Show equivalent curl" },
88
+ { "name": "--help", "shorthand": "-h", "description": "Show help" }
89
+ ],
90
+ "examples": [
91
+ { "command": "vault server -dev", "description": "Start dev server" },
92
+ { "command": "vault kv put secret/myapp key=value", "description": "Store a secret" },
93
+ { "command": "vault kv get -format=json secret/myapp", "description": "Read a secret as JSON" },
94
+ { "command": "vault kv list secret/", "description": "List secrets" },
95
+ { "command": "vault secrets list", "description": "List secrets engines" },
96
+ { "command": "vault status", "description": "Check seal status" },
97
+ { "command": "vault login -method=userpass username=admin", "description": "Login with userpass" },
98
+ { "command": "vault policy write my-policy policy.hcl", "description": "Create policy" }
99
+ ],
100
+ "relatedCommands": ["consul", "nomad", "terraform"],
101
+ "contextEngine": {
102
+ "detectors": [
103
+ {
104
+ "name": "status",
105
+ "description": "Vault status",
106
+ "command": "vault status -format=json 2>/dev/null",
107
+ "parser": "json",
108
+ "cacheFor": 15,
109
+ "requiresCmd": "vault"
110
+ },
111
+ {
112
+ "name": "secrets_engines",
113
+ "description": "Enabled secrets engines",
114
+ "command": "vault secrets list -format=json 2>/dev/null",
115
+ "parser": "json",
116
+ "cacheFor": 60,
117
+ "requiresCmd": "vault"
118
+ },
119
+ {
120
+ "name": "auth_methods",
121
+ "description": "Enabled auth methods",
122
+ "command": "vault auth list -format=json 2>/dev/null",
123
+ "parser": "json",
124
+ "cacheFor": 60,
125
+ "requiresCmd": "vault"
126
+ },
127
+ {
128
+ "name": "policies",
129
+ "description": "Available policies",
130
+ "command": "vault policy list 2>/dev/null",
131
+ "parser": "lines",
132
+ "cacheFor": 60,
133
+ "requiresCmd": "vault"
134
+ },
135
+ {
136
+ "name": "env",
137
+ "description": "Vault environment",
138
+ "command": "echo \"VAULT_ADDR=$VAULT_ADDR\nVAULT_NAMESPACE=$VAULT_NAMESPACE\"",
139
+ "parser": "keyvalue",
140
+ "cacheFor": 30
141
+ }
142
+ ]
143
+ }
144
+ }