@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.
- package/README.md +213 -0
- package/data/commands/air.json +59 -0
- package/data/commands/ansible.json +24 -0
- package/data/commands/apachectl.json +87 -0
- package/data/commands/apt-get.json +81 -0
- package/data/commands/apt.json +91 -0
- package/data/commands/awk.json +26 -0
- package/data/commands/aws-vault.json +140 -0
- package/data/commands/aws.json +229 -0
- package/data/commands/az.json +36 -0
- package/data/commands/bazel.json +103 -0
- package/data/commands/brew.json +140 -0
- package/data/commands/bun.json +230 -0
- package/data/commands/caddy.json +194 -0
- package/data/commands/cargo.json +1048 -0
- package/data/commands/cat.json +18 -0
- package/data/commands/cd.json +48 -0
- package/data/commands/certbot.json +148 -0
- package/data/commands/chmod.json +97 -0
- package/data/commands/choco.json +134 -0
- package/data/commands/chown.json +59 -0
- package/data/commands/clickhouse-client.json +74 -0
- package/data/commands/cloudflare.json +226 -0
- package/data/commands/cmake.json +110 -0
- package/data/commands/cockroach.json +92 -0
- package/data/commands/conda.json +94 -0
- package/data/commands/consul.json +125 -0
- package/data/commands/cp.json +86 -0
- package/data/commands/curl.json +44 -0
- package/data/commands/cypress.json +100 -0
- package/data/commands/deno.json +29 -0
- package/data/commands/django-admin.json +86 -0
- package/data/commands/dnf.json +137 -0
- package/data/commands/docker.json +1100 -0
- package/data/commands/doctl.json +156 -0
- package/data/commands/eslint.json +69 -0
- package/data/commands/find.json +44 -0
- package/data/commands/firebase.json +97 -0
- package/data/commands/flask.json +79 -0
- package/data/commands/flyctl.json +148 -0
- package/data/commands/gcloud.json +227 -0
- package/data/commands/gh.json +39 -0
- package/data/commands/git.json +527 -0
- package/data/commands/glab.json +116 -0
- package/data/commands/go.json +161 -0
- package/data/commands/gofmt.json +51 -0
- package/data/commands/golangci-lint.json +89 -0
- package/data/commands/gradle.json +44 -0
- package/data/commands/grep.json +47 -0
- package/data/commands/gunicorn.json +83 -0
- package/data/commands/helm.json +1104 -0
- package/data/commands/hg.json +92 -0
- package/data/commands/httpd.json +147 -0
- package/data/commands/influx.json +119 -0
- package/data/commands/iptables.json +86 -0
- package/data/commands/java.json +31 -0
- package/data/commands/jest.json +82 -0
- package/data/commands/journalctl.json +88 -0
- package/data/commands/just.json +93 -0
- package/data/commands/k6.json +84 -0
- package/data/commands/kubectl.json +1277 -0
- package/data/commands/linode-cli.json +117 -0
- package/data/commands/locust.json +83 -0
- package/data/commands/ls.json +115 -0
- package/data/commands/make.json +86 -0
- package/data/commands/mocha.json +75 -0
- package/data/commands/mongosh.json +73 -0
- package/data/commands/mv.json +68 -0
- package/data/commands/mvn.json +45 -0
- package/data/commands/mysql.json +81 -0
- package/data/commands/nest.json +69 -0
- package/data/commands/netlify.json +92 -0
- package/data/commands/next.json +71 -0
- package/data/commands/nft.json +105 -0
- package/data/commands/nginx.json +146 -0
- package/data/commands/nmap.json +92 -0
- package/data/commands/node.json +43 -0
- package/data/commands/nomad.json +139 -0
- package/data/commands/npm.json +1265 -0
- package/data/commands/npx.json +58 -0
- package/data/commands/nx.json +82 -0
- package/data/commands/openssl.json +288 -0
- package/data/commands/packer.json +92 -0
- package/data/commands/pacman.json +82 -0
- package/data/commands/pg_dump.json +83 -0
- package/data/commands/pg_restore.json +74 -0
- package/data/commands/pip.json +95 -0
- package/data/commands/pipenv.json +79 -0
- package/data/commands/pipx.json +53 -0
- package/data/commands/playwright.json +97 -0
- package/data/commands/pnpm.json +29 -0
- package/data/commands/poetry.json +96 -0
- package/data/commands/prettier.json +71 -0
- package/data/commands/ps.json +31 -0
- package/data/commands/psql.json +124 -0
- package/data/commands/pulumi.json +130 -0
- package/data/commands/pytest.json +92 -0
- package/data/commands/python.json +30 -0
- package/data/commands/railway.json +91 -0
- package/data/commands/redis-cli.json +148 -0
- package/data/commands/render.json +72 -0
- package/data/commands/rm.json +79 -0
- package/data/commands/rsync.json +36 -0
- package/data/commands/rust.json +35 -0
- package/data/commands/rustup.json +103 -0
- package/data/commands/scp.json +60 -0
- package/data/commands/sed.json +28 -0
- package/data/commands/sqlite3.json +68 -0
- package/data/commands/ssh-keygen.json +112 -0
- package/data/commands/ssh.json +37 -0
- package/data/commands/sudo.json +147 -0
- package/data/commands/supabase.json +108 -0
- package/data/commands/svn.json +75 -0
- package/data/commands/systemctl.json +31 -0
- package/data/commands/tar.json +35 -0
- package/data/commands/tcpdump.json +77 -0
- package/data/commands/terraform.json +824 -0
- package/data/commands/terragrunt.json +83 -0
- package/data/commands/tsc.json +85 -0
- package/data/commands/turbo.json +72 -0
- package/data/commands/ufw.json +76 -0
- package/data/commands/unzip.json +59 -0
- package/data/commands/uvicorn.json +73 -0
- package/data/commands/vault.json +144 -0
- package/data/commands/vercel.json +98 -0
- package/data/commands/vite.json +63 -0
- package/data/commands/vitest.json +88 -0
- package/data/commands/wasm-pack.json +90 -0
- package/data/commands/wget.json +38 -0
- package/data/commands/winget.json +131 -0
- package/data/commands/wireshark.json +81 -0
- package/data/commands/yarn.json +28 -0
- package/data/commands/yum.json +98 -0
- package/data/commands/zip.json +59 -0
- package/index.d.ts +131 -0
- package/index.js +189 -0
- package/index.mjs +21 -0
- package/package.json +64 -0
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "scp",
|
|
3
|
+
"description": "Secure copy files between hosts over SSH",
|
|
4
|
+
"category": "Linux Coreutils",
|
|
5
|
+
"platforms": ["linux", "macos", "windows"],
|
|
6
|
+
"shells": ["bash", "zsh", "powershell", "fish"],
|
|
7
|
+
"subcommands": [],
|
|
8
|
+
"globalOptions": [
|
|
9
|
+
{ "name": "-r", "description": "Recursively copy directories" },
|
|
10
|
+
{ "name": "-P", "description": "Port number", "takesValue": true },
|
|
11
|
+
{ "name": "-i", "description": "Identity file (private key)", "takesValue": true },
|
|
12
|
+
{ "name": "-p", "description": "Preserve modification times, access times, and modes" },
|
|
13
|
+
{ "name": "-q", "description": "Quiet mode (no progress meter)" },
|
|
14
|
+
{ "name": "-v", "description": "Verbose mode" },
|
|
15
|
+
{ "name": "-C", "description": "Enable compression" },
|
|
16
|
+
{ "name": "-l", "description": "Limit bandwidth (Kbit/s)", "takesValue": true },
|
|
17
|
+
{ "name": "-o", "description": "SSH option", "takesValue": true },
|
|
18
|
+
{ "name": "-F", "description": "SSH config file", "takesValue": true },
|
|
19
|
+
{ "name": "-S", "description": "Program for encrypted connection", "takesValue": true },
|
|
20
|
+
{ "name": "-c", "description": "Cipher to use", "takesValue": true },
|
|
21
|
+
{ "name": "-3", "description": "Copy between two remote hosts through local" },
|
|
22
|
+
{ "name": "-T", "description": "Disable strict filename checking" },
|
|
23
|
+
{ "name": "-O", "description": "Use legacy SCP protocol" }
|
|
24
|
+
],
|
|
25
|
+
"examples": [
|
|
26
|
+
{ "command": "scp file.txt user@host:/path/", "description": "Upload file" },
|
|
27
|
+
{ "command": "scp user@host:/path/file.txt .", "description": "Download file" },
|
|
28
|
+
{ "command": "scp -r dir/ user@host:/path/", "description": "Upload directory" },
|
|
29
|
+
{ "command": "scp -P 2222 file.txt user@host:/path/", "description": "Custom port" },
|
|
30
|
+
{ "command": "scp -i ~/.ssh/key.pem file.txt user@host:/path/", "description": "With key file" },
|
|
31
|
+
{ "command": "scp user@host1:/file user@host2:/path/", "description": "Copy between remotes" },
|
|
32
|
+
{ "command": "scp -C -l 1000 large.tar.gz user@host:/path/", "description": "Compressed with bandwidth limit" }
|
|
33
|
+
],
|
|
34
|
+
"relatedCommands": ["ssh", "rsync", "sftp"],
|
|
35
|
+
"contextEngine": {
|
|
36
|
+
"detectors": [
|
|
37
|
+
{
|
|
38
|
+
"name": "ssh_hosts",
|
|
39
|
+
"description": "Known SSH hosts",
|
|
40
|
+
"command": "grep -E '^Host ' ~/.ssh/config 2>/dev/null | awk '{print $2}' | head -20",
|
|
41
|
+
"parser": "lines",
|
|
42
|
+
"cacheFor": 60
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
"name": "ssh_keys",
|
|
46
|
+
"description": "Available SSH keys",
|
|
47
|
+
"command": "ls ~/.ssh/*.pub 2>/dev/null | sed 's/\\.pub$//' | head -10",
|
|
48
|
+
"parser": "lines",
|
|
49
|
+
"cacheFor": 120
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
"name": "known_hosts",
|
|
53
|
+
"description": "Known host entries",
|
|
54
|
+
"command": "awk '{print $1}' ~/.ssh/known_hosts 2>/dev/null | sort -u | head -20",
|
|
55
|
+
"parser": "lines",
|
|
56
|
+
"cacheFor": 60
|
|
57
|
+
}
|
|
58
|
+
]
|
|
59
|
+
}
|
|
60
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "sed",
|
|
3
|
+
"description": "Stream editor for filtering and transforming text",
|
|
4
|
+
"category": "text-processing",
|
|
5
|
+
"platforms": ["linux", "macos"],
|
|
6
|
+
"shells": ["bash", "zsh", "fish"],
|
|
7
|
+
"subcommands": [],
|
|
8
|
+
"globalOptions": [
|
|
9
|
+
{ "name": "-e", "description": "Add script command", "type": "string" },
|
|
10
|
+
{ "name": "-f", "description": "Script file", "type": "file" },
|
|
11
|
+
{ "name": "-i", "description": "Edit files in-place (optionally create backup)", "type": "string" },
|
|
12
|
+
{ "name": "-n", "description": "Suppress automatic printing" },
|
|
13
|
+
{ "name": "-r", "description": "Use extended regex (GNU)" },
|
|
14
|
+
{ "name": "-E", "description": "Use extended regex (POSIX)" }
|
|
15
|
+
],
|
|
16
|
+
"examples": [
|
|
17
|
+
"sed 's/old/new/g' file.txt",
|
|
18
|
+
"sed -i 's/old/new/g' file.txt",
|
|
19
|
+
"sed -i.bak 's/old/new/g' file.txt",
|
|
20
|
+
"sed -n '10,20p' file.txt",
|
|
21
|
+
"sed '/pattern/d' file.txt",
|
|
22
|
+
"sed '5i\\new line' file.txt",
|
|
23
|
+
"sed -n '/start/,/end/p' file.txt",
|
|
24
|
+
"sed 's/^/ /' file.txt",
|
|
25
|
+
"sed '$ a\\last line' file.txt"
|
|
26
|
+
],
|
|
27
|
+
"relatedCommands": ["awk", "grep", "tr", "cut", "perl"]
|
|
28
|
+
}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "sqlite3",
|
|
3
|
+
"description": "SQLite command-line interface for managing SQLite databases",
|
|
4
|
+
"category": "Database",
|
|
5
|
+
"platforms": ["linux", "macos", "windows"],
|
|
6
|
+
"shells": ["bash", "zsh", "powershell", "fish"],
|
|
7
|
+
"subcommands": [],
|
|
8
|
+
"globalOptions": [
|
|
9
|
+
{ "name": "-cmd", "description": "Run command before reading stdin", "takesValue": true },
|
|
10
|
+
{ "name": "-csv", "description": "CSV output mode" },
|
|
11
|
+
{ "name": "-column", "description": "Column-aligned output" },
|
|
12
|
+
{ "name": "-html", "description": "HTML table output" },
|
|
13
|
+
{ "name": "-json", "description": "JSON output" },
|
|
14
|
+
{ "name": "-line", "description": "One value per line" },
|
|
15
|
+
{ "name": "-list", "description": "Delimiter-separated output" },
|
|
16
|
+
{ "name": "-markdown", "description": "Markdown table output" },
|
|
17
|
+
{ "name": "-table", "description": "ASCII table output" },
|
|
18
|
+
{ "name": "-tabs", "description": "Tab-separated output" },
|
|
19
|
+
{ "name": "-separator", "description": "Column separator", "takesValue": true },
|
|
20
|
+
{ "name": "-header", "description": "Show column headers" },
|
|
21
|
+
{ "name": "-noheader", "description": "Hide column headers" },
|
|
22
|
+
{ "name": "-readonly", "description": "Open database in read-only mode" },
|
|
23
|
+
{ "name": "-batch", "description": "Batch mode (non-interactive)" },
|
|
24
|
+
{ "name": "-init", "description": "Read and execute init file", "takesValue": true },
|
|
25
|
+
{ "name": "-echo", "description": "Echo commands" },
|
|
26
|
+
{ "name": "-bail", "description": "Stop on error" },
|
|
27
|
+
{ "name": "-version", "description": "Show version" },
|
|
28
|
+
{ "name": "-help", "description": "Show help" }
|
|
29
|
+
],
|
|
30
|
+
"examples": [
|
|
31
|
+
{ "command": "sqlite3 mydb.db", "description": "Open or create database" },
|
|
32
|
+
{ "command": "sqlite3 mydb.db '.tables'", "description": "List tables" },
|
|
33
|
+
{ "command": "sqlite3 mydb.db '.schema users'", "description": "Show table schema" },
|
|
34
|
+
{ "command": "sqlite3 -json mydb.db 'SELECT * FROM users'", "description": "JSON query output" },
|
|
35
|
+
{ "command": "sqlite3 mydb.db < schema.sql", "description": "Import SQL file" },
|
|
36
|
+
{ "command": "sqlite3 mydb.db '.dump' > backup.sql", "description": "Dump database" },
|
|
37
|
+
{ "command": "sqlite3 -csv mydb.db 'SELECT * FROM users' > users.csv", "description": "Export CSV" },
|
|
38
|
+
{ "command": "sqlite3 :memory:", "description": "In-memory database" }
|
|
39
|
+
],
|
|
40
|
+
"relatedCommands": ["mysql", "psql"],
|
|
41
|
+
"contextEngine": {
|
|
42
|
+
"detectors": [
|
|
43
|
+
{
|
|
44
|
+
"name": "db_files",
|
|
45
|
+
"description": "SQLite database files",
|
|
46
|
+
"command": "find . -maxdepth 2 -name '*.db' -o -name '*.sqlite' -o -name '*.sqlite3' 2>/dev/null | head -10",
|
|
47
|
+
"parser": "lines",
|
|
48
|
+
"cacheFor": 30
|
|
49
|
+
},
|
|
50
|
+
{
|
|
51
|
+
"name": "tables",
|
|
52
|
+
"description": "Tables in database",
|
|
53
|
+
"command": "sqlite3 $(find . -maxdepth 1 -name '*.db' -o -name '*.sqlite' -o -name '*.sqlite3' 2>/dev/null | head -1) '.tables' 2>/dev/null",
|
|
54
|
+
"parser": "text",
|
|
55
|
+
"cacheFor": 30,
|
|
56
|
+
"requiresCmd": "sqlite3"
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
"name": "version",
|
|
60
|
+
"description": "SQLite version",
|
|
61
|
+
"command": "sqlite3 --version 2>/dev/null",
|
|
62
|
+
"parser": "text",
|
|
63
|
+
"cacheFor": 300,
|
|
64
|
+
"requiresCmd": "sqlite3"
|
|
65
|
+
}
|
|
66
|
+
]
|
|
67
|
+
}
|
|
68
|
+
}
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "ssh-keygen",
|
|
3
|
+
"description": "SSH key generation, management, and conversion utility",
|
|
4
|
+
"category": "security",
|
|
5
|
+
"platforms": ["linux", "macos", "windows"],
|
|
6
|
+
"shells": ["bash", "zsh", "fish", "powershell"],
|
|
7
|
+
"subcommands": [],
|
|
8
|
+
"globalOptions": [
|
|
9
|
+
{ "name": "-t", "description": "Key type (rsa, ed25519, ecdsa, dsa)", "type": "string" },
|
|
10
|
+
{ "name": "-b", "description": "Number of bits in the key", "type": "number" },
|
|
11
|
+
{ "name": "-C", "description": "Comment for the key", "type": "string" },
|
|
12
|
+
{ "name": "-f", "description": "Key file path", "type": "file" },
|
|
13
|
+
{ "name": "-N", "description": "New passphrase", "type": "string" },
|
|
14
|
+
{ "name": "-P", "description": "Old passphrase", "type": "string" },
|
|
15
|
+
{ "name": "-p", "description": "Change passphrase of existing key" },
|
|
16
|
+
{ "name": "-l", "description": "Show fingerprint of key file" },
|
|
17
|
+
{ "name": "-E", "description": "Hash algorithm for fingerprint (md5, sha256)", "type": "string" },
|
|
18
|
+
{ "name": "-R", "description": "Remove host from known_hosts file", "type": "string" },
|
|
19
|
+
{ "name": "-F", "description": "Search for hostname in known_hosts", "type": "string" },
|
|
20
|
+
{ "name": "-H", "description": "Hash known_hosts file" },
|
|
21
|
+
{ "name": "-y", "description": "Read private key and print public key" },
|
|
22
|
+
{ "name": "-e", "description": "Export key to other formats" },
|
|
23
|
+
{ "name": "-i", "description": "Import key from other formats" },
|
|
24
|
+
{ "name": "-m", "description": "Key format (RFC4716, PKCS8, PEM)", "type": "string" },
|
|
25
|
+
{ "name": "-A", "description": "Generate host keys for all default key types" },
|
|
26
|
+
{ "name": "-q", "description": "Quiet mode" },
|
|
27
|
+
{ "name": "-o", "description": "Use new OpenSSH format for private key" },
|
|
28
|
+
{ "name": "-a", "description": "Number of KDF rounds for new format", "type": "number" },
|
|
29
|
+
{ "name": "-s", "description": "Sign a key (for certificates)", "type": "file" },
|
|
30
|
+
{ "name": "-I", "description": "Certificate identity string", "type": "string" },
|
|
31
|
+
{ "name": "-n", "description": "Certificate principal(s)", "type": "string" },
|
|
32
|
+
{ "name": "-V", "description": "Certificate validity interval", "type": "string" },
|
|
33
|
+
{ "name": "-L", "description": "Print contents of a certificate" }
|
|
34
|
+
],
|
|
35
|
+
"examples": [
|
|
36
|
+
"ssh-keygen -t ed25519 -C 'user@example.com'",
|
|
37
|
+
"ssh-keygen -t rsa -b 4096 -C 'user@example.com'",
|
|
38
|
+
"ssh-keygen -t ecdsa -b 521",
|
|
39
|
+
"ssh-keygen -t ed25519 -f ~/.ssh/github_key -N ''",
|
|
40
|
+
"ssh-keygen -l -f ~/.ssh/id_ed25519.pub",
|
|
41
|
+
"ssh-keygen -l -E md5 -f ~/.ssh/id_rsa.pub",
|
|
42
|
+
"ssh-keygen -y -f ~/.ssh/id_ed25519 > ~/.ssh/id_ed25519.pub",
|
|
43
|
+
"ssh-keygen -p -f ~/.ssh/id_rsa",
|
|
44
|
+
"ssh-keygen -R hostname",
|
|
45
|
+
"ssh-keygen -F hostname",
|
|
46
|
+
"ssh-keygen -H",
|
|
47
|
+
"ssh-keygen -t ed25519 -a 100",
|
|
48
|
+
"ssh-keygen -s ca_key -I user_key -n user1,user2 -V +52w user_key.pub",
|
|
49
|
+
"ssh-keygen -L -f certificate.pub"
|
|
50
|
+
],
|
|
51
|
+
"relatedCommands": ["ssh", "ssh-agent", "ssh-copy-id", "ssh-add", "scp", "openssl"],
|
|
52
|
+
"contextEngine": {
|
|
53
|
+
"detectors": [
|
|
54
|
+
{
|
|
55
|
+
"name": "ssh_keys",
|
|
56
|
+
"description": "SSH key files in ~/.ssh/",
|
|
57
|
+
"command": "ls -1 ~/.ssh/id_* 2>/dev/null | grep -v '\\.pub$'",
|
|
58
|
+
"parser": "lines",
|
|
59
|
+
"cacheFor": 300,
|
|
60
|
+
"requiresCmd": "ssh-keygen"
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
"name": "ssh_public_keys",
|
|
64
|
+
"description": "Public key files in ~/.ssh/",
|
|
65
|
+
"command": "ls -1 ~/.ssh/*.pub 2>/dev/null",
|
|
66
|
+
"parser": "lines",
|
|
67
|
+
"cacheFor": 300,
|
|
68
|
+
"requiresCmd": "ssh-keygen"
|
|
69
|
+
},
|
|
70
|
+
{
|
|
71
|
+
"name": "key_fingerprints",
|
|
72
|
+
"description": "Fingerprints of all SSH keys",
|
|
73
|
+
"command": "for f in ~/.ssh/id_*.pub; do ssh-keygen -l -f \"$f\" 2>/dev/null; done",
|
|
74
|
+
"parser": "lines",
|
|
75
|
+
"cacheFor": 300,
|
|
76
|
+
"requiresCmd": "ssh-keygen"
|
|
77
|
+
},
|
|
78
|
+
{
|
|
79
|
+
"name": "ssh_config_hosts",
|
|
80
|
+
"description": "Hosts defined in SSH config",
|
|
81
|
+
"command": "grep -E '^Host[[:space:]]' ~/.ssh/config 2>/dev/null | awk '{for(i=2;i<=NF;i++) print $i}' | grep -v '[*?]'",
|
|
82
|
+
"parser": "lines",
|
|
83
|
+
"cacheFor": 60,
|
|
84
|
+
"requiresCmd": "ssh-keygen"
|
|
85
|
+
},
|
|
86
|
+
{
|
|
87
|
+
"name": "known_hosts_count",
|
|
88
|
+
"description": "Number of entries in known_hosts",
|
|
89
|
+
"command": "wc -l < ~/.ssh/known_hosts 2>/dev/null || echo '0'",
|
|
90
|
+
"parser": "text",
|
|
91
|
+
"cacheFor": 60,
|
|
92
|
+
"requiresCmd": "ssh-keygen"
|
|
93
|
+
},
|
|
94
|
+
{
|
|
95
|
+
"name": "ssh_agent_keys",
|
|
96
|
+
"description": "Keys currently loaded in ssh-agent",
|
|
97
|
+
"command": "ssh-add -l 2>/dev/null || echo 'agent not running'",
|
|
98
|
+
"parser": "lines",
|
|
99
|
+
"cacheFor": 30,
|
|
100
|
+
"requiresCmd": "ssh-keygen"
|
|
101
|
+
},
|
|
102
|
+
{
|
|
103
|
+
"name": "authorized_keys",
|
|
104
|
+
"description": "Number of authorized keys for incoming SSH",
|
|
105
|
+
"command": "wc -l < ~/.ssh/authorized_keys 2>/dev/null || echo '0'",
|
|
106
|
+
"parser": "text",
|
|
107
|
+
"cacheFor": 120,
|
|
108
|
+
"requiresCmd": "ssh-keygen"
|
|
109
|
+
}
|
|
110
|
+
]
|
|
111
|
+
}
|
|
112
|
+
}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "ssh",
|
|
3
|
+
"description": "OpenSSH remote login client",
|
|
4
|
+
"category": "networking",
|
|
5
|
+
"platforms": ["linux", "macos", "windows"],
|
|
6
|
+
"shells": ["bash", "zsh", "fish", "powershell"],
|
|
7
|
+
"subcommands": [],
|
|
8
|
+
"globalOptions": [
|
|
9
|
+
{ "name": "-p", "description": "Port to connect to", "type": "number" },
|
|
10
|
+
{ "name": "-i", "description": "Identity file (private key)", "type": "file" },
|
|
11
|
+
{ "name": "-l", "description": "Login name", "type": "string" },
|
|
12
|
+
{ "name": "-L", "description": "Local port forwarding (local:host:remote)", "type": "string" },
|
|
13
|
+
{ "name": "-R", "description": "Remote port forwarding (remote:host:local)", "type": "string" },
|
|
14
|
+
{ "name": "-D", "description": "Dynamic SOCKS proxy port", "type": "number" },
|
|
15
|
+
{ "name": "-N", "description": "Don't execute remote command" },
|
|
16
|
+
{ "name": "-f", "description": "Go to background before command execution" },
|
|
17
|
+
{ "name": "-v", "description": "Verbose mode" },
|
|
18
|
+
{ "name": "-o", "description": "Specify option (key=value)", "type": "string" },
|
|
19
|
+
{ "name": "-A", "description": "Enable agent forwarding" },
|
|
20
|
+
{ "name": "-X", "description": "Enable X11 forwarding" },
|
|
21
|
+
{ "name": "-C", "description": "Enable compression" },
|
|
22
|
+
{ "name": "-J", "description": "ProxyJump (jump host)", "type": "string" },
|
|
23
|
+
{ "name": "-t", "description": "Force pseudo-terminal allocation" },
|
|
24
|
+
{ "name": "-q", "description": "Quiet mode" }
|
|
25
|
+
],
|
|
26
|
+
"examples": [
|
|
27
|
+
"ssh user@hostname",
|
|
28
|
+
"ssh -p 2222 user@hostname",
|
|
29
|
+
"ssh -i ~/.ssh/mykey.pem user@hostname",
|
|
30
|
+
"ssh -L 8080:localhost:80 user@hostname",
|
|
31
|
+
"ssh -R 9090:localhost:3000 user@hostname",
|
|
32
|
+
"ssh -D 1080 user@hostname",
|
|
33
|
+
"ssh -J jumphost user@destination",
|
|
34
|
+
"ssh user@hostname 'ls -la /var/log'"
|
|
35
|
+
],
|
|
36
|
+
"relatedCommands": ["scp", "sftp", "ssh-keygen", "ssh-copy-id", "ssh-agent", "rsync", "mosh"]
|
|
37
|
+
}
|
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "sudo",
|
|
3
|
+
"description": "Execute a command as another user (typically root) with elevated privileges",
|
|
4
|
+
"category": "coreutils",
|
|
5
|
+
"platforms": ["linux", "macos"],
|
|
6
|
+
"shells": ["bash", "zsh", "fish"],
|
|
7
|
+
"subcommands": [],
|
|
8
|
+
"globalOptions": [
|
|
9
|
+
{ "name": "-u", "description": "Run command as specified user", "type": "string" },
|
|
10
|
+
{ "name": "-g", "description": "Run command as specified group", "type": "string" },
|
|
11
|
+
{ "name": "-i", "description": "Run the shell specified as login shell" },
|
|
12
|
+
{ "name": "-s", "description": "Run the shell specified in SHELL env variable" },
|
|
13
|
+
{ "name": "-l", "description": "List allowed (and forbidden) commands" },
|
|
14
|
+
{ "name": "-k", "description": "Invalidate the user's cached credentials" },
|
|
15
|
+
{ "name": "-K", "description": "Remove user's cached credentials entirely" },
|
|
16
|
+
{ "name": "-v", "description": "Update the user's cached credentials (extend timeout)" },
|
|
17
|
+
{ "name": "-n", "description": "Non-interactive mode (fail instead of prompting)" },
|
|
18
|
+
{ "name": "-b", "description": "Run command in the background" },
|
|
19
|
+
{ "name": "-E", "description": "Preserve user environment variables" },
|
|
20
|
+
{ "name": "-H", "description": "Set HOME variable to target user's home" },
|
|
21
|
+
{ "name": "-S", "description": "Read password from standard input" },
|
|
22
|
+
{ "name": "-p", "description": "Custom password prompt", "type": "string" },
|
|
23
|
+
{ "name": "--preserve-env", "description": "Preserve specified environment variables", "type": "string" },
|
|
24
|
+
{ "name": "-e", "description": "Edit files (sudoedit)", "type": "file" }
|
|
25
|
+
],
|
|
26
|
+
"examples": [
|
|
27
|
+
"sudo apt update",
|
|
28
|
+
"sudo apt install nginx",
|
|
29
|
+
"sudo systemctl restart nginx",
|
|
30
|
+
"sudo -i",
|
|
31
|
+
"sudo -s",
|
|
32
|
+
"sudo -u postgres psql",
|
|
33
|
+
"sudo -u www-data whoami",
|
|
34
|
+
"sudo -l",
|
|
35
|
+
"sudo -k",
|
|
36
|
+
"sudo visudo",
|
|
37
|
+
"sudo -E env",
|
|
38
|
+
"sudo bash -c 'echo hello > /etc/motd'",
|
|
39
|
+
"sudo tee /etc/myconfig.conf <<< 'setting=value'",
|
|
40
|
+
"sudo chown root:root /etc/config",
|
|
41
|
+
"sudo chmod 644 /etc/config",
|
|
42
|
+
"echo 'password' | sudo -S command",
|
|
43
|
+
"sudo !!",
|
|
44
|
+
"sudo -n /usr/bin/command"
|
|
45
|
+
],
|
|
46
|
+
"relatedCommands": ["su", "doas", "visudo", "chown", "chmod", "systemctl"],
|
|
47
|
+
"contextEngine": {
|
|
48
|
+
"detectors": [
|
|
49
|
+
{
|
|
50
|
+
"name": "current_user",
|
|
51
|
+
"description": "Current user information",
|
|
52
|
+
"command": "id",
|
|
53
|
+
"parser": "text",
|
|
54
|
+
"cacheFor": 300,
|
|
55
|
+
"requiresCmd": "sudo"
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
"name": "sudo_privileges",
|
|
59
|
+
"description": "Commands the current user can run via sudo",
|
|
60
|
+
"command": "sudo -l 2>/dev/null | tail -20",
|
|
61
|
+
"parser": "lines",
|
|
62
|
+
"cacheFor": 120,
|
|
63
|
+
"requiresCmd": "sudo"
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
"name": "os_info",
|
|
67
|
+
"description": "Operating system information",
|
|
68
|
+
"command": "cat /etc/os-release 2>/dev/null | grep -E '^(NAME|VERSION_ID|ID)=' | head -3",
|
|
69
|
+
"parser": "keyvalue",
|
|
70
|
+
"cacheFor": 3600,
|
|
71
|
+
"requiresCmd": "sudo"
|
|
72
|
+
},
|
|
73
|
+
{
|
|
74
|
+
"name": "package_manager",
|
|
75
|
+
"description": "Detect installed package manager",
|
|
76
|
+
"command": "command -v apt >/dev/null && echo 'apt (Debian/Ubuntu)' || command -v dnf >/dev/null && echo 'dnf (Fedora/RHEL)' || command -v yum >/dev/null && echo 'yum (CentOS/RHEL)' || command -v pacman >/dev/null && echo 'pacman (Arch)' || command -v brew >/dev/null && echo 'brew (macOS)' || echo 'unknown'",
|
|
77
|
+
"parser": "text",
|
|
78
|
+
"cacheFor": 3600,
|
|
79
|
+
"requiresCmd": "sudo"
|
|
80
|
+
},
|
|
81
|
+
{
|
|
82
|
+
"name": "running_services",
|
|
83
|
+
"description": "Active system services",
|
|
84
|
+
"command": "systemctl list-units --type=service --state=running --no-pager --no-legend 2>/dev/null | head -20 | awk '{print $1}'",
|
|
85
|
+
"parser": "lines",
|
|
86
|
+
"cacheFor": 30,
|
|
87
|
+
"requiresCmd": "systemctl"
|
|
88
|
+
},
|
|
89
|
+
{
|
|
90
|
+
"name": "failed_services",
|
|
91
|
+
"description": "Failed system services",
|
|
92
|
+
"command": "systemctl list-units --type=service --state=failed --no-pager --no-legend 2>/dev/null | awk '{print $1}'",
|
|
93
|
+
"parser": "lines",
|
|
94
|
+
"cacheFor": 30,
|
|
95
|
+
"requiresCmd": "systemctl"
|
|
96
|
+
},
|
|
97
|
+
{
|
|
98
|
+
"name": "system_users",
|
|
99
|
+
"description": "System users with login shell",
|
|
100
|
+
"command": "awk -F: '$7 !~ /(nologin|false)$/ {print $1}' /etc/passwd 2>/dev/null",
|
|
101
|
+
"parser": "lines",
|
|
102
|
+
"cacheFor": 300,
|
|
103
|
+
"requiresCmd": "sudo"
|
|
104
|
+
},
|
|
105
|
+
{
|
|
106
|
+
"name": "network_interfaces",
|
|
107
|
+
"description": "Network interfaces and IP addresses",
|
|
108
|
+
"command": "ip -br addr 2>/dev/null || ifconfig 2>/dev/null | grep -E '(^[a-z]|inet )' | head -20",
|
|
109
|
+
"parser": "lines",
|
|
110
|
+
"cacheFor": 60,
|
|
111
|
+
"requiresCmd": "sudo"
|
|
112
|
+
},
|
|
113
|
+
{
|
|
114
|
+
"name": "firewall_status",
|
|
115
|
+
"description": "Firewall status (ufw or firewalld)",
|
|
116
|
+
"command": "ufw status 2>/dev/null || firewall-cmd --state 2>/dev/null || iptables -L -n 2>/dev/null | head -5 || echo 'no firewall detected'",
|
|
117
|
+
"parser": "lines",
|
|
118
|
+
"cacheFor": 60,
|
|
119
|
+
"requiresCmd": "sudo"
|
|
120
|
+
},
|
|
121
|
+
{
|
|
122
|
+
"name": "disk_space",
|
|
123
|
+
"description": "Disk space usage overview",
|
|
124
|
+
"command": "df -h 2>/dev/null | grep -E '^(/dev|tmpfs)' | head -10",
|
|
125
|
+
"parser": "lines",
|
|
126
|
+
"cacheFor": 60,
|
|
127
|
+
"requiresCmd": "df"
|
|
128
|
+
},
|
|
129
|
+
{
|
|
130
|
+
"name": "memory_usage",
|
|
131
|
+
"description": "Memory usage overview",
|
|
132
|
+
"command": "free -h 2>/dev/null | head -3",
|
|
133
|
+
"parser": "lines",
|
|
134
|
+
"cacheFor": 15,
|
|
135
|
+
"requiresCmd": "free"
|
|
136
|
+
},
|
|
137
|
+
{
|
|
138
|
+
"name": "uptime",
|
|
139
|
+
"description": "System uptime and load average",
|
|
140
|
+
"command": "uptime",
|
|
141
|
+
"parser": "text",
|
|
142
|
+
"cacheFor": 30,
|
|
143
|
+
"requiresCmd": "sudo"
|
|
144
|
+
}
|
|
145
|
+
]
|
|
146
|
+
}
|
|
147
|
+
}
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "supabase",
|
|
3
|
+
"description": "Supabase CLI for managing Supabase projects locally and in the cloud",
|
|
4
|
+
"category": "Cloud CLIs",
|
|
5
|
+
"platforms": ["linux", "macos", "windows"],
|
|
6
|
+
"shells": ["bash", "zsh", "powershell", "fish"],
|
|
7
|
+
"subcommands": [
|
|
8
|
+
{ "name": "init", "description": "Initialize a Supabase project" },
|
|
9
|
+
{ "name": "start", "description": "Start local Supabase stack", "options": [{ "name": "--ignore-health-check", "description": "Skip health check" }] },
|
|
10
|
+
{ "name": "stop", "description": "Stop local Supabase stack", "options": [{ "name": "--backup", "description": "Backup local database" }] },
|
|
11
|
+
{ "name": "status", "description": "Show local Supabase status" },
|
|
12
|
+
{ "name": "login", "description": "Log in to Supabase" },
|
|
13
|
+
{ "name": "link", "description": "Link to a remote Supabase project", "options": [{ "name": "--project-ref", "description": "Project reference ID", "takesValue": true }] },
|
|
14
|
+
{ "name": "db", "description": "Manage database", "subcommands": [
|
|
15
|
+
{ "name": "push", "description": "Push local migrations to remote database", "options": [{ "name": "--dry-run", "description": "Print SQL without executing" }] },
|
|
16
|
+
{ "name": "pull", "description": "Pull remote schema changes", "options": [{ "name": "--schema", "shorthand": "-s", "description": "Schemas to pull", "takesValue": true }] },
|
|
17
|
+
{ "name": "reset", "description": "Reset local database to clean state" },
|
|
18
|
+
{ "name": "diff", "description": "Show diff between local and remote", "options": [{ "name": "--schema", "shorthand": "-s", "description": "Schemas to diff", "takesValue": true }, { "name": "--file", "shorthand": "-f", "description": "Save diff to file", "takesValue": true }] },
|
|
19
|
+
{ "name": "dump", "description": "Dump database to file", "options": [{ "name": "--data-only", "description": "Dump only data" }, { "name": "--file", "shorthand": "-f", "description": "Output file", "takesValue": true }] },
|
|
20
|
+
{ "name": "lint", "description": "Lint local database for errors" }
|
|
21
|
+
]},
|
|
22
|
+
{ "name": "migration", "description": "Manage migrations", "subcommands": [
|
|
23
|
+
{ "name": "new", "description": "Create a new migration", "args": [{ "name": "name", "description": "Migration name", "required": true }] },
|
|
24
|
+
{ "name": "list", "description": "List migrations" },
|
|
25
|
+
{ "name": "repair", "description": "Repair migration history", "options": [{ "name": "--status", "description": "Set migration status", "takesValue": true }] },
|
|
26
|
+
{ "name": "squash", "description": "Squash migrations", "options": [{ "name": "--version", "description": "Target version", "takesValue": true }] }
|
|
27
|
+
]},
|
|
28
|
+
{ "name": "functions", "description": "Manage Edge Functions", "subcommands": [
|
|
29
|
+
{ "name": "new", "description": "Create a new function", "args": [{ "name": "name", "description": "Function name", "required": true }] },
|
|
30
|
+
{ "name": "serve", "description": "Serve functions locally", "options": [{ "name": "--env-file", "description": "Path to env file", "takesValue": true }] },
|
|
31
|
+
{ "name": "deploy", "description": "Deploy functions", "args": [{ "name": "name", "description": "Function name", "required": false }], "options": [{ "name": "--no-verify-jwt", "description": "Disable JWT verification" }] },
|
|
32
|
+
{ "name": "delete", "description": "Delete a function", "args": [{ "name": "name", "description": "Function name", "required": true }] }
|
|
33
|
+
]},
|
|
34
|
+
{ "name": "secrets", "description": "Manage secrets", "subcommands": [
|
|
35
|
+
{ "name": "list", "description": "List all secrets" },
|
|
36
|
+
{ "name": "set", "description": "Set secrets from stdin or env file", "options": [{ "name": "--env-file", "description": "Load from env file", "takesValue": true }] },
|
|
37
|
+
{ "name": "unset", "description": "Unset secrets", "args": [{ "name": "names", "description": "Secret names", "required": true }] }
|
|
38
|
+
]},
|
|
39
|
+
{ "name": "gen", "description": "Generate types and keys", "subcommands": [
|
|
40
|
+
{ "name": "types", "description": "Generate TypeScript types", "subcommands": [
|
|
41
|
+
{ "name": "typescript", "description": "Generate TS types from schema", "options": [{ "name": "--local", "description": "Use local database" }, { "name": "--linked", "description": "Use linked project" }, { "name": "--schema", "shorthand": "-s", "description": "Schemas to include", "takesValue": true }] }
|
|
42
|
+
]},
|
|
43
|
+
{ "name": "keys", "description": "Generate project API keys" }
|
|
44
|
+
]},
|
|
45
|
+
{ "name": "projects", "description": "Manage Supabase projects", "subcommands": [
|
|
46
|
+
{ "name": "list", "description": "List all projects" },
|
|
47
|
+
{ "name": "create", "description": "Create a new project", "args": [{ "name": "name", "description": "Project name", "required": true }], "options": [{ "name": "--org-id", "description": "Organization ID", "takesValue": true }, { "name": "--db-password", "description": "Database password", "takesValue": true }, { "name": "--region", "description": "Region", "takesValue": true }] }
|
|
48
|
+
]},
|
|
49
|
+
{ "name": "orgs", "description": "Manage organizations", "subcommands": [
|
|
50
|
+
{ "name": "list", "description": "List organizations" }
|
|
51
|
+
]}
|
|
52
|
+
],
|
|
53
|
+
"globalOptions": [
|
|
54
|
+
{ "name": "--debug", "description": "Enable debug output" },
|
|
55
|
+
{ "name": "--workdir", "description": "Working directory", "takesValue": true },
|
|
56
|
+
{ "name": "--help", "shorthand": "-h", "description": "Show help" }
|
|
57
|
+
],
|
|
58
|
+
"examples": [
|
|
59
|
+
{ "command": "supabase init", "description": "Initialize new Supabase project" },
|
|
60
|
+
{ "command": "supabase start", "description": "Start local dev stack" },
|
|
61
|
+
{ "command": "supabase db push", "description": "Push migrations to remote" },
|
|
62
|
+
{ "command": "supabase migration new add_users_table", "description": "Create a new migration" },
|
|
63
|
+
{ "command": "supabase gen types typescript --local > types/supabase.ts", "description": "Generate TypeScript types" },
|
|
64
|
+
{ "command": "supabase functions deploy my-function", "description": "Deploy an edge function" }
|
|
65
|
+
],
|
|
66
|
+
"relatedCommands": ["firebase", "psql"],
|
|
67
|
+
"contextEngine": {
|
|
68
|
+
"detectors": [
|
|
69
|
+
{
|
|
70
|
+
"name": "local_status",
|
|
71
|
+
"description": "Local Supabase status",
|
|
72
|
+
"command": "supabase status 2>/dev/null",
|
|
73
|
+
"parser": "text",
|
|
74
|
+
"cacheFor": 30,
|
|
75
|
+
"requiresCmd": "supabase"
|
|
76
|
+
},
|
|
77
|
+
{
|
|
78
|
+
"name": "projects",
|
|
79
|
+
"description": "Linked Supabase projects",
|
|
80
|
+
"command": "supabase projects list 2>/dev/null",
|
|
81
|
+
"parser": "text",
|
|
82
|
+
"cacheFor": 300,
|
|
83
|
+
"requiresCmd": "supabase"
|
|
84
|
+
},
|
|
85
|
+
{
|
|
86
|
+
"name": "migrations",
|
|
87
|
+
"description": "Database migrations",
|
|
88
|
+
"command": "ls -1 supabase/migrations/*.sql 2>/dev/null",
|
|
89
|
+
"parser": "lines",
|
|
90
|
+
"cacheFor": 30
|
|
91
|
+
},
|
|
92
|
+
{
|
|
93
|
+
"name": "edge_functions",
|
|
94
|
+
"description": "Edge functions",
|
|
95
|
+
"command": "ls -1d supabase/functions/*/ 2>/dev/null | xargs -I{} basename {}",
|
|
96
|
+
"parser": "lines",
|
|
97
|
+
"cacheFor": 30
|
|
98
|
+
},
|
|
99
|
+
{
|
|
100
|
+
"name": "config",
|
|
101
|
+
"description": "Supabase config",
|
|
102
|
+
"command": "cat supabase/config.toml 2>/dev/null | head -30",
|
|
103
|
+
"parser": "text",
|
|
104
|
+
"cacheFor": 60
|
|
105
|
+
}
|
|
106
|
+
]
|
|
107
|
+
}
|
|
108
|
+
}
|