diff --git a/plugins/awl/plugin.json b/plugins/awl/plugin.json index 62a681f62c..80e9aea1f6 100644 --- a/plugins/awl/plugin.json +++ b/plugins/awl/plugin.json @@ -2,76 +2,249 @@ "name": "awl", "version": "1.0.0", "description": "DNS lookup tool supporting UDP, TCP, TLS, HTTPS, DNSCrypt, and QUIC with JSON output", + "source": "https://dns.froth.zone/awl", + "checks": [ + { + "type": "binary", + "name": "awl", + "args": [ + "-v" + ] + } + ], + "install_guidance": { + "plugin": "awl", + "binary": "awl", + "check": "awl -v", + "install_steps": [ + "go install dns.froth.zone/awl@latest", + "Or via package managers: apk add awl-dns, yay -S awl-dns-git, apt install awl-dns", + "Or via Homebrew: brew install SamTherapy/tap/awl" + ], + "note": "awl is designed as a drop-in replacement for dig with modern protocol support" + }, + "learn": { + "file": "skills/quickstart/SKILL.md" + }, "commands": [ { - "name": "lookup", + "namespace": "awl", + "resource": "dns", + "action": "lookup", "description": "Perform DNS lookup with JSON output", - "binary": "awl", - "args": ["{{.domain}}", "+json"], - "output_format": "json" + "adapter": "shell", + "adapterConfig": { + "script": "awl {{domain}} +json", + "unsafe": true + }, + "args": [ + { + "name": "domain", + "type": "string", + "required": true, + "description": "Domain name to query" + } + ] }, { - "name": "lookup-a", + "namespace": "awl", + "resource": "dns", + "action": "lookup-a", "description": "Lookup A records with JSON output", - "binary": "awl", - "args": ["{{.domain}}", "A", "+json"], - "output_format": "json" + "adapter": "shell", + "adapterConfig": { + "script": "awl {{domain}} A +json", + "unsafe": true + }, + "args": [ + { + "name": "domain", + "type": "string", + "required": true, + "description": "Domain name to query" + } + ] }, { - "name": "lookup-aaaa", + "namespace": "awl", + "resource": "dns", + "action": "lookup-aaaa", "description": "Lookup AAAA records with JSON output", - "binary": "awl", - "args": ["{{.domain}}", "AAAA", "+json"], - "output_format": "json" + "adapter": "shell", + "adapterConfig": { + "script": "awl {{domain}} AAAA +json", + "unsafe": true + }, + "args": [ + { + "name": "domain", + "type": "string", + "required": true, + "description": "Domain name to query" + } + ] }, { - "name": "lookup-mx", + "namespace": "awl", + "resource": "dns", + "action": "lookup-mx", "description": "Lookup MX records with JSON output", - "binary": "awl", - "args": ["{{.domain}}", "MX", "+json"], - "output_format": "json" + "adapter": "shell", + "adapterConfig": { + "script": "awl {{domain}} MX +json", + "unsafe": true + }, + "args": [ + { + "name": "domain", + "type": "string", + "required": true, + "description": "Domain name to query" + } + ] }, { - "name": "lookup-txt", + "namespace": "awl", + "resource": "dns", + "action": "lookup-txt", "description": "Lookup TXT records with JSON output", - "binary": "awl", - "args": ["{{.domain}}", "TXT", "+json"], - "output_format": "json" + "adapter": "shell", + "adapterConfig": { + "script": "awl {{domain}} TXT +json", + "unsafe": true + }, + "args": [ + { + "name": "domain", + "type": "string", + "required": true, + "description": "Domain name to query" + } + ] }, { - "name": "lookup-ns", + "namespace": "awl", + "resource": "dns", + "action": "lookup-ns", "description": "Lookup NS records with JSON output", - "binary": "awl", - "args": ["{{.domain}}", "NS", "+json"], - "output_format": "json" + "adapter": "shell", + "adapterConfig": { + "script": "awl {{domain}} NS +json", + "unsafe": true + }, + "args": [ + { + "name": "domain", + "type": "string", + "required": true, + "description": "Domain name to query" + } + ] }, { - "name": "lookup-https", + "namespace": "awl", + "resource": "dns", + "action": "lookup-https", "description": "DNS over HTTPS lookup with JSON output", - "binary": "awl", - "args": ["{{.domain}}", "+https", "+json"], - "output_format": "json" + "adapter": "shell", + "adapterConfig": { + "script": "awl {{domain}} +https +json", + "unsafe": true + }, + "args": [ + { + "name": "domain", + "type": "string", + "required": true, + "description": "Domain name to query" + } + ] }, { - "name": "lookup-tls", + "namespace": "awl", + "resource": "dns", + "action": "lookup-tls", "description": "DNS over TLS lookup with JSON output", - "binary": "awl", - "args": ["{{.domain}}", "+tls", "+json"], - "output_format": "json" + "adapter": "shell", + "adapterConfig": { + "script": "awl {{domain}} +tls +json", + "unsafe": true + }, + "args": [ + { + "name": "domain", + "type": "string", + "required": true, + "description": "Domain name to query" + } + ] }, { - "name": "lookup-quic", + "namespace": "awl", + "resource": "dns", + "action": "lookup-quic", "description": "DNS over QUIC lookup with JSON output", - "binary": "awl", - "args": ["{{.domain}}", "+quic", "+json"], - "output_format": "json" + "adapter": "shell", + "adapterConfig": { + "script": "awl {{domain}} +quic +json", + "unsafe": true + }, + "args": [ + { + "name": "domain", + "type": "string", + "required": true, + "description": "Domain name to query" + } + ] }, { - "name": "lookup-dnscrypt", + "namespace": "awl", + "resource": "dns", + "action": "lookup-dnscrypt", "description": "DNSCrypt lookup with JSON output", - "binary": "awl", - "args": ["{{.domain}}", "+dnscrypt", "+json"], - "output_format": "json" + "adapter": "shell", + "adapterConfig": { + "script": "awl {{domain}} +dnscrypt +json", + "unsafe": true + }, + "args": [ + { + "name": "domain", + "type": "string", + "required": true, + "description": "Domain name to query" + } + ] + }, + { + "namespace": "awl", + "resource": "self", + "action": "version", + "description": "Print awl version", + "adapter": "process", + "adapterConfig": { + "command": "awl", + "baseArgs": [ + "-v" + ], + "missingDependencyHelp": "Install awl: go install dns.froth.zone/awl@latest" + }, + "args": [] + }, + { + "namespace": "awl", + "resource": "_", + "action": "_", + "description": "Passthrough to awl CLI", + "adapter": "process", + "adapterConfig": { + "command": "awl", + "passthrough": true, + "cwd": "invoke_cwd", + "missingDependencyHelp": "Install awl: go install dns.froth.zone/awl@latest" + }, + "args": [] } ] -} \ No newline at end of file +} diff --git a/plugins/aws-doctor/plugin.json b/plugins/aws-doctor/plugin.json index 8917b61f7c..10536aef1b 100644 --- a/plugins/aws-doctor/plugin.json +++ b/plugins/aws-doctor/plugin.json @@ -2,33 +2,111 @@ "name": "aws-doctor", "version": "1.0.0", "description": "Powerful open-source CLI to audit security, costs, and best practices in AWS.", - "commands": [ + "source": "https://github.com/elC0mpa/aws-doctor", + "checks": [ { - "name": "version", - "description": "Display aws-doctor version", - "usage": "aws-doctor version" - }, + "type": "binary", + "name": "aws-doctor", + "args": [ + "version" + ] + } + ], + "install_guidance": { + "plugin": "aws-doctor", + "binary": "aws-doctor", + "check": "aws-doctor version", + "install_steps": [ + "brew install elC0mpa/homebrew-tap/aws-doctor" + ], + "note": "Requires AWS credentials configured via AWS CLI (aws configure)" + }, + "learn": { + "file": "skills/quickstart/SKILL.md" + }, + "commands": [ { - "name": "scan", + "namespace": "aws-doctor", + "resource": "scan", + "action": "run", "description": "Scan AWS resources for security, cost, and best practice issues", - "usage": "aws-doctor scan [options]" + "adapter": "process", + "adapterConfig": { + "command": "aws-doctor", + "baseArgs": [ + "scan" + ], + "passthrough": true, + "cwd": "invoke_cwd", + "timeout_ms": 300000, + "missingDependencyHelp": "Install aws-doctor: brew install elC0mpa/homebrew-tap/aws-doctor" + }, + "args": [] }, { - "name": "report", + "namespace": "aws-doctor", + "resource": "report", + "action": "run", "description": "Generate a detailed report of AWS resource analysis", - "usage": "aws-doctor report [options]" + "adapter": "process", + "adapterConfig": { + "command": "aws-doctor", + "baseArgs": [ + "report" + ], + "passthrough": true, + "cwd": "invoke_cwd", + "timeout_ms": 300000, + "missingDependencyHelp": "Install aws-doctor: brew install elC0mpa/homebrew-tap/aws-doctor" + }, + "args": [] }, { - "name": "audit", + "namespace": "aws-doctor", + "resource": "audit", + "action": "run", "description": "Perform a comprehensive AWS audit", - "usage": "aws-doctor audit [options]" - } - ], - "checks": [ + "adapter": "process", + "adapterConfig": { + "command": "aws-doctor", + "baseArgs": [ + "audit" + ], + "passthrough": true, + "cwd": "invoke_cwd", + "timeout_ms": 300000, + "missingDependencyHelp": "Install aws-doctor: brew install elC0mpa/homebrew-tap/aws-doctor" + }, + "args": [] + }, { - "type": "binary", - "command": "aws-doctor version", - "description": "Check if aws-doctor is installed" + "namespace": "aws-doctor", + "resource": "self", + "action": "version", + "description": "Print aws-doctor version", + "adapter": "process", + "adapterConfig": { + "command": "aws-doctor", + "baseArgs": [ + "version" + ], + "missingDependencyHelp": "Install aws-doctor: brew install elC0mpa/homebrew-tap/aws-doctor" + }, + "args": [] + }, + { + "namespace": "aws-doctor", + "resource": "_", + "action": "_", + "description": "Passthrough to aws-doctor CLI", + "adapter": "process", + "adapterConfig": { + "command": "aws-doctor", + "passthrough": true, + "cwd": "invoke_cwd", + "missingDependencyHelp": "Install aws-doctor: brew install elC0mpa/homebrew-tap/aws-doctor" + }, + "args": [] } ] } diff --git a/plugins/cmdcenter/plugin.json b/plugins/cmdcenter/plugin.json index af7d43b7b7..d232a1347d 100644 --- a/plugins/cmdcenter/plugin.json +++ b/plugins/cmdcenter/plugin.json @@ -1,51 +1,204 @@ { "name": "cmdcenter", "version": "1.0.0", - "description": "Generic command execution dashboard with configurable commands via JSON config file", "author": "javimosch", - "binary": "cmdcenter", + "description": "Generic command execution dashboard with configurable commands via JSON config file", + "checks": [ + { + "type": "binary", + "name": "cmdcenter", + "args": [ + "version" + ] + } + ], + "install_guidance": { + "plugin": "cmdcenter", + "binary": "cmdcenter", + "check": "cmdcenter version", + "install_steps": [ + "Download the appropriate binary for your platform from https://github.com/javimosch/cmdcenter/releases", + "Move the binary to your PATH (e.g., /usr/local/bin/ or ~/bin/)", + "Make it executable: chmod +x cmdcenter", + "Initialize config: cmdcenter init" + ], + "note": "Ships with empty config - you must add commands via CLI or UI before use" + }, + "learn": { + "file": "skills/quickstart/SKILL.md" + }, "commands": [ { - "name": "init", - "description": "Initialize config file with defaults" + "namespace": "cmdcenter", + "resource": "config", + "action": "init", + "description": "Initialize config file with defaults", + "adapter": "process", + "adapterConfig": { + "command": "cmdcenter", + "baseArgs": [ + "init" + ], + "missingDependencyHelp": "Install cmdcenter: Download the appropriate binary for your platform from https://github.com/javimosch/cmdcenter/releases" + }, + "args": [] }, { - "name": "add", - "description": "Add a new command" + "namespace": "cmdcenter", + "resource": "command", + "action": "add", + "description": "Add a new command", + "adapter": "process", + "adapterConfig": { + "command": "cmdcenter", + "baseArgs": [ + "add" + ], + "passthrough": true, + "cwd": "invoke_cwd", + "missingDependencyHelp": "Install cmdcenter: Download the appropriate binary for your platform from https://github.com/javimosch/cmdcenter/releases" + }, + "args": [] }, { - "name": "edit", - "description": "Edit an existing command" + "namespace": "cmdcenter", + "resource": "command", + "action": "edit", + "description": "Edit an existing command", + "adapter": "process", + "adapterConfig": { + "command": "cmdcenter", + "baseArgs": [ + "edit" + ], + "passthrough": true, + "cwd": "invoke_cwd", + "missingDependencyHelp": "Install cmdcenter: Download the appropriate binary for your platform from https://github.com/javimosch/cmdcenter/releases" + }, + "args": [] }, { - "name": "remove", - "description": "Remove a command" + "namespace": "cmdcenter", + "resource": "command", + "action": "remove", + "description": "Remove a command", + "adapter": "process", + "adapterConfig": { + "command": "cmdcenter", + "baseArgs": [ + "remove" + ], + "passthrough": true, + "cwd": "invoke_cwd", + "missingDependencyHelp": "Install cmdcenter: Download the appropriate binary for your platform from https://github.com/javimosch/cmdcenter/releases" + }, + "args": [] }, { - "name": "list", - "description": "List all configured commands" + "namespace": "cmdcenter", + "resource": "command", + "action": "list", + "description": "List all configured commands", + "adapter": "process", + "adapterConfig": { + "command": "cmdcenter", + "baseArgs": [ + "list" + ], + "missingDependencyHelp": "Install cmdcenter: Download the appropriate binary for your platform from https://github.com/javimosch/cmdcenter/releases" + }, + "args": [] }, { - "name": "run", - "description": "Execute a command by ID" + "namespace": "cmdcenter", + "resource": "command", + "action": "run", + "description": "Execute a command by ID", + "adapter": "process", + "adapterConfig": { + "command": "cmdcenter", + "baseArgs": [ + "run" + ], + "passthrough": true, + "cwd": "invoke_cwd", + "missingDependencyHelp": "Install cmdcenter: Download the appropriate binary for your platform from https://github.com/javimosch/cmdcenter/releases" + }, + "args": [] }, { - "name": "start", - "description": "Start HTTP server (UI)" + "namespace": "cmdcenter", + "resource": "server", + "action": "start", + "description": "Start HTTP server (UI)", + "adapter": "process", + "adapterConfig": { + "command": "cmdcenter", + "baseArgs": [ + "start" + ], + "missingDependencyHelp": "Install cmdcenter: Download the appropriate binary for your platform from https://github.com/javimosch/cmdcenter/releases" + }, + "args": [] }, { - "name": "stop", - "description": "Stop daemon server" + "namespace": "cmdcenter", + "resource": "server", + "action": "stop", + "description": "Stop daemon server", + "adapter": "process", + "adapterConfig": { + "command": "cmdcenter", + "baseArgs": [ + "stop" + ], + "missingDependencyHelp": "Install cmdcenter: Download the appropriate binary for your platform from https://github.com/javimosch/cmdcenter/releases" + }, + "args": [] }, { - "name": "status", - "description": "Check daemon status" - } - ], - "checks": [ + "namespace": "cmdcenter", + "resource": "server", + "action": "status", + "description": "Check daemon status", + "adapter": "process", + "adapterConfig": { + "command": "cmdcenter", + "baseArgs": [ + "status" + ], + "missingDependencyHelp": "Install cmdcenter: Download the appropriate binary for your platform from https://github.com/javimosch/cmdcenter/releases" + }, + "args": [] + }, { - "type": "binary", - "command": "cmdcenter version" + "namespace": "cmdcenter", + "resource": "self", + "action": "version", + "description": "Print cmdcenter version", + "adapter": "process", + "adapterConfig": { + "command": "cmdcenter", + "baseArgs": [ + "version" + ], + "missingDependencyHelp": "Install cmdcenter: Download the appropriate binary for your platform from https://github.com/javimosch/cmdcenter/releases" + }, + "args": [] + }, + { + "namespace": "cmdcenter", + "resource": "_", + "action": "_", + "description": "Passthrough to cmdcenter CLI", + "adapter": "process", + "adapterConfig": { + "command": "cmdcenter", + "passthrough": true, + "cwd": "invoke_cwd", + "missingDependencyHelp": "Install cmdcenter: Download the appropriate binary for your platform from https://github.com/javimosch/cmdcenter/releases" + }, + "args": [] } ] } diff --git a/plugins/crevisto/plugin.json b/plugins/crevisto/plugin.json index 8258977bab..85a48562f3 100644 --- a/plugins/crevisto/plugin.json +++ b/plugins/crevisto/plugin.json @@ -1,31 +1,141 @@ { "name": "crevisto", "version": "1.0.0", - "description": "AI image generation CLI — 100+ curated tools, pay-per-use, BYOK/OpenRouter", + "description": "AI image generation CLI \u2014 100+ curated tools, pay-per-use, BYOK/OpenRouter", + "source": "https://crevisto.com", + "checks": [ + { + "type": "binary", + "name": "crevisto" + } + ], + "install_guidance": { + "plugin": "crevisto", + "binary": "crevisto", + "check": "crevisto --version", + "install_steps": [ + "curl -fsSL https://crevisto.com/install.sh | sh" + ], + "note": "5 free credits on signup, no credit card. BYOK with OpenRouter for unlimited use." + }, + "learn": { + "file": "skills/quickstart/SKILL.md" + }, "commands": [ { - "name": "trial", + "namespace": "crevisto", + "resource": "account", + "action": "trial", "description": "Get a free trial token (5 credits, no email needed)", + "adapter": "process", + "adapterConfig": { + "command": "crevisto", + "baseArgs": [ + "trial" + ], + "missingDependencyHelp": "Install crevisto: curl -fsSL https://crevisto.com/install.sh | sh" + }, "args": [] }, { - "name": "tools", + "namespace": "crevisto", + "resource": "tools", + "action": "list", "description": "List all 100+ AI image tools", + "adapter": "process", + "adapterConfig": { + "command": "crevisto", + "baseArgs": [ + "tools" + ], + "missingDependencyHelp": "Install crevisto: curl -fsSL https://crevisto.com/install.sh | sh" + }, "args": [] }, { - "name": "generate", + "namespace": "crevisto", + "resource": "image", + "action": "generate", "description": "Generate an image with a specific tool", - "args": [{"name": "slug", "positional": true, "required": true}] + "adapter": "process", + "adapterConfig": { + "command": "crevisto", + "baseArgs": [ + "generate" + ], + "positionalArgs": [ + "slug" + ], + "timeout_ms": 300000, + "missingDependencyHelp": "Install crevisto: curl -fsSL https://crevisto.com/install.sh | sh" + }, + "args": [ + { + "name": "slug", + "type": "string", + "required": true, + "description": "Tool slug from `crevisto tools`", + "positional": true + } + ] }, { - "name": "whoami", + "namespace": "crevisto", + "resource": "account", + "action": "whoami", "description": "Check credit balance and trial status", + "adapter": "process", + "adapterConfig": { + "command": "crevisto", + "baseArgs": [ + "whoami" + ], + "missingDependencyHelp": "Install crevisto: curl -fsSL https://crevisto.com/install.sh | sh" + }, "args": [] }, { - "name": "gallery", + "namespace": "crevisto", + "resource": "gallery", + "action": "browse", "description": "Browse public gallery", + "adapter": "process", + "adapterConfig": { + "command": "crevisto", + "baseArgs": [ + "gallery" + ], + "missingDependencyHelp": "Install crevisto: curl -fsSL https://crevisto.com/install.sh | sh" + }, + "args": [] + }, + { + "namespace": "crevisto", + "resource": "self", + "action": "version", + "description": "Print crevisto version", + "adapter": "process", + "adapterConfig": { + "command": "crevisto", + "baseArgs": [ + "--version" + ], + "missingDependencyHelp": "Install crevisto: curl -fsSL https://crevisto.com/install.sh | sh" + }, + "args": [] + }, + { + "namespace": "crevisto", + "resource": "_", + "action": "_", + "description": "Passthrough to crevisto CLI", + "adapter": "process", + "adapterConfig": { + "command": "crevisto", + "passthrough": true, + "cwd": "invoke_cwd", + "missingDependencyHelp": "Install crevisto: curl -fsSL https://crevisto.com/install.sh | sh" + }, "args": [] } ] diff --git a/plugins/disk-analyzer/plugin.json b/plugins/disk-analyzer/plugin.json index ea77d772e2..6ae43b8701 100644 --- a/plugins/disk-analyzer/plugin.json +++ b/plugins/disk-analyzer/plugin.json @@ -1,49 +1,174 @@ { "name": "disk-analyzer", "version": "1.0.0", - "description": "Advanced disk usage analyzer for local systems with file type aggregation, large file detection, and cleanup recommendations", "author": "javimosch", - "binary": "disk-analyzer", - "check": "disk-analyzer version", + "description": "Advanced disk usage analyzer for local systems with file type aggregation, large file detection, and cleanup recommendations", + "checks": [ + { + "type": "binary", + "name": "disk-analyzer", + "args": [ + "version" + ] + } + ], + "install_guidance": { + "plugin": "disk-analyzer", + "binary": "disk-analyzer", + "check": "disk-analyzer version", + "install_steps": [ + "cd /tmp", + "curl -LO https://raw.githubusercontent.com/javimosch/supercli/main/plugins/disk-analyzer/disk-analyzer.sh", + "chmod +x disk-analyzer.sh", + "sudo mv disk-analyzer.sh /usr/local/bin/disk-analyzer", + "disk-analyzer version" + ], + "note": "Shell script wrapper for Unix disk analysis commands. Works on Linux/macOS with standard utilities (du, find, sort, etc.)." + }, + "learn": { + "file": "skills/quickstart/SKILL.md" + }, "commands": [ { - "name": "analyze", + "namespace": "disk-analyzer", + "resource": "disk", + "action": "analyze", "description": "Analyze disk usage for directory with detailed breakdown", - "usage": "disk-analyzer analyze [options]", - "examples": [ - "disk-analyzer analyze /home/user", - "disk-analyzer analyze /var/log --depth 3", - "disk-analyzer analyze . --min-size 100M" + "adapter": "process", + "adapterConfig": { + "command": "disk-analyzer", + "baseArgs": [ + "analyze" + ], + "positionalArgs": [ + "path" + ], + "passthrough": true, + "cwd": "invoke_cwd", + "missingDependencyHelp": "Install disk-analyzer: cd /tmp" + }, + "args": [ + { + "name": "path", + "type": "string", + "required": true, + "description": "Directory path to analyze", + "positional": true + } ] }, { - "name": "large-files", + "namespace": "disk-analyzer", + "resource": "files", + "action": "large", "description": "Find large files above specified size threshold", - "usage": "disk-analyzer large-files [options]", - "examples": [ - "disk-analyzer large-files /home/user --min-size 100M", - "disk-analyzer large-files /var --top 20" + "adapter": "process", + "adapterConfig": { + "command": "disk-analyzer", + "baseArgs": [ + "large-files" + ], + "positionalArgs": [ + "path" + ], + "passthrough": true, + "cwd": "invoke_cwd", + "missingDependencyHelp": "Install disk-analyzer: cd /tmp" + }, + "args": [ + { + "name": "path", + "type": "string", + "required": true, + "description": "Directory path to scan", + "positional": true + } ] }, { - "name": "file-types", + "namespace": "disk-analyzer", + "resource": "files", + "action": "types", "description": "Aggregate and analyze files by type/extension", - "usage": "disk-analyzer file-types [options]", - "examples": [ - "disk-analyzer file-types /home/user/projects", - "disk-analyzer file-types /var/lib --json" + "adapter": "process", + "adapterConfig": { + "command": "disk-analyzer", + "baseArgs": [ + "file-types" + ], + "positionalArgs": [ + "path" + ], + "passthrough": true, + "cwd": "invoke_cwd", + "missingDependencyHelp": "Install disk-analyzer: cd /tmp" + }, + "args": [ + { + "name": "path", + "type": "string", + "required": true, + "description": "Directory path to analyze", + "positional": true + } ] }, { - "name": "cleanup-report", + "namespace": "disk-analyzer", + "resource": "report", + "action": "cleanup", "description": "Generate cleanup recommendations based on analysis", - "usage": "disk-analyzer cleanup-report [options]", - "examples": [ - "disk-analyzer cleanup-report /home/user", - "disk-analyzer cleanup-report /var/log --aggressive" + "adapter": "process", + "adapterConfig": { + "command": "disk-analyzer", + "baseArgs": [ + "cleanup-report" + ], + "positionalArgs": [ + "path" + ], + "passthrough": true, + "cwd": "invoke_cwd", + "missingDependencyHelp": "Install disk-analyzer: cd /tmp" + }, + "args": [ + { + "name": "path", + "type": "string", + "required": true, + "description": "Directory path to analyze", + "positional": true + } ] + }, + { + "namespace": "disk-analyzer", + "resource": "self", + "action": "version", + "description": "Print disk-analyzer version", + "adapter": "process", + "adapterConfig": { + "command": "disk-analyzer", + "baseArgs": [ + "version" + ], + "missingDependencyHelp": "Install disk-analyzer: cd /tmp" + }, + "args": [] + }, + { + "namespace": "disk-analyzer", + "resource": "_", + "action": "_", + "description": "Passthrough to disk-analyzer CLI", + "adapter": "process", + "adapterConfig": { + "command": "disk-analyzer", + "passthrough": true, + "cwd": "invoke_cwd", + "missingDependencyHelp": "Install disk-analyzer: cd /tmp" + }, + "args": [] } - ], - "tags": ["disk", "storage", "analysis", "cleanup", "system"], - "category": "system" -} \ No newline at end of file + ] +} diff --git a/plugins/fd-find/plugin.json b/plugins/fd-find/plugin.json index b50aca6c3f..990e399268 100644 --- a/plugins/fd-find/plugin.json +++ b/plugins/fd-find/plugin.json @@ -2,5 +2,52 @@ "name": "fd-find", "version": "0.1.0", "description": "Fast file finder alternative to find command", - "source": "https://github.com/sharkdp/fd" + "source": "https://github.com/sharkdp/fd", + "checks": [ + { + "type": "binary", + "name": "fd" + } + ], + "install_guidance": { + "plugin": "fd-find", + "binary": "fd", + "check": "which fd", + "install_steps": [ + "brew install fd", + "Verify: fd --version", + "supercli plugins install ./plugins/fd-find --on-conflict replace --json" + ] + }, + "commands": [ + { + "namespace": "fd-find", + "resource": "self", + "action": "version", + "description": "Print fd version", + "adapter": "process", + "adapterConfig": { + "command": "fd", + "baseArgs": [ + "--version" + ], + "missingDependencyHelp": "Install fd: brew install fd" + }, + "args": [] + }, + { + "namespace": "fd-find", + "resource": "_", + "action": "_", + "description": "Passthrough to fd CLI", + "adapter": "process", + "adapterConfig": { + "command": "fd", + "passthrough": true, + "cwd": "invoke_cwd", + "missingDependencyHelp": "Install fd: brew install fd" + }, + "args": [] + } + ] } diff --git a/plugins/fkill-cli/plugin.json b/plugins/fkill-cli/plugin.json index 2c320feb8f..2e7830926a 100644 --- a/plugins/fkill-cli/plugin.json +++ b/plugins/fkill-cli/plugin.json @@ -1,27 +1,116 @@ { "name": "fkill-cli", - "description": "Fabulously kill processes - cross-platform process killer", "version": "1.0.0", - "binary": "fkill", - "check": "fkill --version", - "install": { - "method": "npm", - "command": "npm install -g fkill-cli" + "description": "Fabulously kill processes - cross-platform process killer", + "source": "https://github.com/sindresorhus/fkill-cli", + "checks": [ + { + "type": "binary", + "name": "fkill" + } + ], + "install_guidance": { + "plugin": "fkill-cli", + "binary": "fkill", + "check": "fkill --version", + "install_steps": [ + "npm install -g fkill-cli" + ], + "note": "Requires Node.js and npm. Works on macOS, Linux, and Windows." }, - "commands": { - "kill": { - "command": "fkill {process}", + "learn": { + "file": "skills/quickstart/SKILL.md" + }, + "commands": [ + { + "namespace": "fkill-cli", + "resource": "process", + "action": "kill", "description": "Kill a process by name or PID", - "args": ["process"] + "adapter": "process", + "adapterConfig": { + "command": "fkill", + "positionalArgs": [ + "process" + ], + "missingDependencyHelp": "Install fkill: npm install -g fkill-cli" + }, + "args": [ + { + "name": "process", + "type": "string", + "required": true, + "description": "Process name or PID", + "positional": true + } + ] }, - "kill-force": { - "command": "fkill -f {process}", + { + "namespace": "fkill-cli", + "resource": "process", + "action": "kill-force", "description": "Force kill a process", - "args": ["process"] + "adapter": "process", + "adapterConfig": { + "command": "fkill", + "baseArgs": [ + "-f" + ], + "positionalArgs": [ + "process" + ], + "missingDependencyHelp": "Install fkill: npm install -g fkill-cli" + }, + "args": [ + { + "name": "process", + "type": "string", + "required": true, + "description": "Process name or PID", + "positional": true + } + ] + }, + { + "namespace": "fkill-cli", + "resource": "process", + "action": "interactive", + "description": "Interactively select and kill processes", + "adapter": "process", + "adapterConfig": { + "command": "fkill", + "missingDependencyHelp": "Install fkill: npm install -g fkill-cli" + }, + "args": [] + }, + { + "namespace": "fkill-cli", + "resource": "self", + "action": "version", + "description": "Print fkill version", + "adapter": "process", + "adapterConfig": { + "command": "fkill", + "baseArgs": [ + "--version" + ], + "missingDependencyHelp": "Install fkill: npm install -g fkill-cli" + }, + "args": [] }, - "interactive": { - "command": "fkill", - "description": "Interactively select and kill processes" + { + "namespace": "fkill-cli", + "resource": "_", + "action": "_", + "description": "Passthrough to fkill CLI", + "adapter": "process", + "adapterConfig": { + "command": "fkill", + "passthrough": true, + "cwd": "invoke_cwd", + "missingDependencyHelp": "Install fkill: npm install -g fkill-cli" + }, + "args": [] } - } + ] } diff --git a/plugins/fkill/plugin.json b/plugins/fkill/plugin.json index b8231f65a0..0d324c0262 100644 --- a/plugins/fkill/plugin.json +++ b/plugins/fkill/plugin.json @@ -1,33 +1,135 @@ { "name": "fkill", - "description": "Fabulously kill processes. Cross-platform process killer with interactive UI.", "version": "1.0.0", - "binary": "fkill", - "check": "fkill --version", - "install": { - "method": "npm", - "command": "npm install --global fkill-cli" + "description": "Fabulously kill processes. Cross-platform process killer with interactive UI.", + "source": "https://github.com/sindresorhus/fkill-cli", + "checks": [ + { + "type": "binary", + "name": "fkill" + } + ], + "install_guidance": { + "plugin": "fkill", + "binary": "fkill", + "check": "fkill --version", + "install_steps": [ + "npm install --global fkill-cli" + ], + "note": "Requires Node.js. Works on macOS, Linux, and Windows." + }, + "learn": { + "file": "skills/quickstart/SKILL.md" }, - "commands": { - "kill": { - "command": "fkill {{process}}", + "commands": [ + { + "namespace": "fkill", + "resource": "process", + "action": "kill", "description": "Kill process by name, PID, or port", - "args": ["process"] + "adapter": "process", + "adapterConfig": { + "command": "fkill", + "positionalArgs": [ + "process" + ], + "missingDependencyHelp": "Install fkill: npm install --global fkill-cli" + }, + "args": [ + { + "name": "process", + "type": "string", + "required": true, + "description": "Process name, PID, or :port", + "positional": true + } + ] }, - "interactive": { - "command": "fkill", + { + "namespace": "fkill", + "resource": "process", + "action": "interactive", "description": "Launch interactive process killer UI", + "adapter": "process", + "adapterConfig": { + "command": "fkill", + "missingDependencyHelp": "Install fkill: npm install --global fkill-cli" + }, "args": [] }, - "force": { - "command": "fkill --force {{process}}", + { + "namespace": "fkill", + "resource": "process", + "action": "kill-force", "description": "Force kill a process", - "args": ["process"] + "adapter": "process", + "adapterConfig": { + "command": "fkill", + "baseArgs": [ + "--force" + ], + "positionalArgs": [ + "process" + ], + "missingDependencyHelp": "Install fkill: npm install --global fkill-cli" + }, + "args": [ + { + "name": "process", + "type": "string", + "required": true, + "description": "Process name or PID", + "positional": true + } + ] }, - "port": { - "command": "fkill :{{port}}", + { + "namespace": "fkill", + "resource": "process", + "action": "kill-port", "description": "Kill process by port number", - "args": ["port"] + "adapter": "shell", + "adapterConfig": { + "script": "fkill \":{{port}}\"", + "unsafe": true + }, + "args": [ + { + "name": "port", + "type": "string", + "required": true, + "description": "Port number (e.g. 8080)" + } + ] + }, + { + "namespace": "fkill", + "resource": "self", + "action": "version", + "description": "Print fkill version", + "adapter": "process", + "adapterConfig": { + "command": "fkill", + "baseArgs": [ + "--version" + ], + "missingDependencyHelp": "Install fkill: npm install --global fkill-cli" + }, + "args": [] + }, + { + "namespace": "fkill", + "resource": "_", + "action": "_", + "description": "Passthrough to fkill CLI", + "adapter": "process", + "adapterConfig": { + "command": "fkill", + "passthrough": true, + "cwd": "invoke_cwd", + "missingDependencyHelp": "Install fkill: npm install --global fkill-cli" + }, + "args": [] } - } + ] } diff --git a/plugins/ghgrab/plugin.json b/plugins/ghgrab/plugin.json index 50936388bd..9845b38744 100644 --- a/plugins/ghgrab/plugin.json +++ b/plugins/ghgrab/plugin.json @@ -2,29 +2,125 @@ "name": "ghgrab", "version": "1.0.0", "description": "Search and download files from GitHub directly from your terminal", - "commands": [ + "source": "https://github.com/abhixdd/ghgrab", + "checks": [ { - "name": "version", - "description": "Show ghgrab version information", - "command": "ghgrab version" - }, + "type": "binary", + "name": "ghgrab", + "args": [ + "version" + ] + } + ], + "install_guidance": { + "plugin": "ghgrab", + "binary": "ghgrab", + "check": "ghgrab version", + "install_steps": [ + "go install github.com/abhixdd/ghgrab@latest" + ], + "note": "Requires Go to be installed" + }, + "learn": { + "file": "skills/quickstart/SKILL.md" + }, + "commands": [ { - "name": "search", + "namespace": "ghgrab", + "resource": "files", + "action": "search", "description": "Search for files on GitHub", - "command": "ghgrab search [query]", - "args": true + "adapter": "process", + "adapterConfig": { + "command": "ghgrab", + "baseArgs": [ + "search" + ], + "positionalArgs": [ + "query" + ], + "missingDependencyHelp": "Install ghgrab: go install github.com/abhixdd/ghgrab@latest" + }, + "args": [ + { + "name": "query", + "type": "string", + "required": true, + "description": "Search query", + "positional": true + } + ] }, { - "name": "download", + "namespace": "ghgrab", + "resource": "files", + "action": "download", "description": "Download a file from GitHub", - "command": "ghgrab download [owner] [repo] [path]", - "args": true - } - ], - "checks": [ + "adapter": "process", + "adapterConfig": { + "command": "ghgrab", + "baseArgs": [ + "download" + ], + "positionalArgs": [ + "owner", + "repo", + "path" + ], + "missingDependencyHelp": "Install ghgrab: go install github.com/abhixdd/ghgrab@latest" + }, + "args": [ + { + "name": "owner", + "type": "string", + "required": true, + "description": "Repository owner", + "positional": true + }, + { + "name": "repo", + "type": "string", + "required": true, + "description": "Repository name", + "positional": true + }, + { + "name": "path", + "type": "string", + "required": true, + "description": "File path in repo", + "positional": true + } + ] + }, { - "type": "binary", - "value": "ghgrab" + "namespace": "ghgrab", + "resource": "self", + "action": "version", + "description": "Print ghgrab version", + "adapter": "process", + "adapterConfig": { + "command": "ghgrab", + "baseArgs": [ + "version" + ], + "missingDependencyHelp": "Install ghgrab: go install github.com/abhixdd/ghgrab@latest" + }, + "args": [] + }, + { + "namespace": "ghgrab", + "resource": "_", + "action": "_", + "description": "Passthrough to ghgrab CLI", + "adapter": "process", + "adapterConfig": { + "command": "ghgrab", + "passthrough": true, + "cwd": "invoke_cwd", + "missingDependencyHelp": "Install ghgrab: go install github.com/abhixdd/ghgrab@latest" + }, + "args": [] } ] } diff --git a/plugins/gitlab-activity/plugin.json b/plugins/gitlab-activity/plugin.json index 8369629d42..ec693bfe90 100644 --- a/plugins/gitlab-activity/plugin.json +++ b/plugins/gitlab-activity/plugin.json @@ -1,31 +1,106 @@ { "name": "gitlab-activity", "version": "1.0.0", - "description": "Retrieve GitLab user activity for agents", "author": "javimosch", - "binary": "gitlab-activity-cli", - "check": "gitlab-activity-cli version", + "description": "Retrieve GitLab user activity for agents", + "checks": [ + { + "type": "binary", + "name": "gitlab-activity-cli", + "args": [ + "version" + ] + } + ], + "install_guidance": { + "plugin": "gitlab-activity", + "binary": "gitlab-activity-cli", + "check": "gitlab-activity-cli version", + "install_steps": [ + "cd ~/ai/supercli-clis/gitlab-activity-cli", + "go build -ldflags \"-s -w\" -o gitlab-activity-cli main.go", + "sudo cp gitlab-activity-cli /usr/local/bin/", + "gitlab-activity-cli version" + ], + "note": "Requires Go 1.21+ to build from source. Auto-detects GitLab tokens from ~/.gitlab/ directory." + }, + "learn": { + "file": "skills/quickstart/SKILL.md" + }, "commands": [ { - "name": "me", + "namespace": "gitlab-activity", + "resource": "activity", + "action": "me", "description": "Get current user's GitLab activity", - "usage": "gitlab-activity-cli me [options]", - "examples": [ - "gitlab-activity-cli me", - "gitlab-activity-cli me --days 7", - "gitlab-activity-cli me --instance https://git.geored.fr --json" - ] + "adapter": "process", + "adapterConfig": { + "command": "gitlab-activity-cli", + "baseArgs": [ + "me" + ], + "passthrough": true, + "cwd": "invoke_cwd", + "missingDependencyHelp": "Install gitlab-activity-cli: cd ~/ai/supercli-clis/gitlab-activity-cli" + }, + "args": [] }, { - "name": "user", + "namespace": "gitlab-activity", + "resource": "activity", + "action": "user", "description": "Get specific user's GitLab activity", - "usage": "gitlab-activity-cli user [options]", - "examples": [ - "gitlab-activity-cli user jarancibia", - "gitlab-activity-cli user jarancibia --days 3 --project georedv3" + "adapter": "process", + "adapterConfig": { + "command": "gitlab-activity-cli", + "baseArgs": [ + "user" + ], + "positionalArgs": [ + "username" + ], + "passthrough": true, + "cwd": "invoke_cwd", + "missingDependencyHelp": "Install gitlab-activity-cli: cd ~/ai/supercli-clis/gitlab-activity-cli" + }, + "args": [ + { + "name": "username", + "type": "string", + "required": true, + "description": "GitLab username", + "positional": true + } ] + }, + { + "namespace": "gitlab-activity", + "resource": "self", + "action": "version", + "description": "Print gitlab-activity-cli version", + "adapter": "process", + "adapterConfig": { + "command": "gitlab-activity-cli", + "baseArgs": [ + "version" + ], + "missingDependencyHelp": "Install gitlab-activity-cli: cd ~/ai/supercli-clis/gitlab-activity-cli" + }, + "args": [] + }, + { + "namespace": "gitlab-activity", + "resource": "_", + "action": "_", + "description": "Passthrough to gitlab-activity-cli CLI", + "adapter": "process", + "adapterConfig": { + "command": "gitlab-activity-cli", + "passthrough": true, + "cwd": "invoke_cwd", + "missingDependencyHelp": "Install gitlab-activity-cli: cd ~/ai/supercli-clis/gitlab-activity-cli" + }, + "args": [] } - ], - "tags": ["gitlab", "activity", "devops", "api"], - "category": "development" -} \ No newline at end of file + ] +} diff --git a/plugins/gitmoji/plugin.json b/plugins/gitmoji/plugin.json index 8824daf725..261d87ab3b 100644 --- a/plugins/gitmoji/plugin.json +++ b/plugins/gitmoji/plugin.json @@ -1,17 +1,67 @@ { "name": "gitmoji", - "description": "A gitmoji interactive cli tool for using emojis on commits", "version": "1.0.0", - "binary": "gitmoji", - "check": "gitmoji --version", - "install": { - "method": "npm", - "command": "npm install -g gitmoji-cli" + "description": "A gitmoji interactive cli tool for using emojis on commits", + "source": "https://github.com/carloscuesta/gitmoji-cli", + "checks": [ + { + "type": "binary", + "name": "gitmoji" + } + ], + "install_guidance": { + "plugin": "gitmoji", + "binary": "gitmoji", + "check": "gitmoji --version", + "install_steps": [ + "npm install -g gitmoji-cli" + ], + "note": "Requires Node.js and npm. Installs globally as 'gitmoji'." + }, + "learn": { + "file": "skills/quickstart/SKILL.md" }, - "commands": { - "default": { - "command": "gitmoji", - "description": "A gitmoji interactive cli tool for using emojis on commits" + "commands": [ + { + "namespace": "gitmoji", + "resource": "cli", + "action": "run", + "description": "Launch gitmoji interactive CLI for emoji commits", + "adapter": "process", + "adapterConfig": { + "command": "gitmoji", + "missingDependencyHelp": "Install gitmoji: npm install -g gitmoji-cli" + }, + "args": [] + }, + { + "namespace": "gitmoji", + "resource": "self", + "action": "version", + "description": "Print gitmoji version", + "adapter": "process", + "adapterConfig": { + "command": "gitmoji", + "baseArgs": [ + "--version" + ], + "missingDependencyHelp": "Install gitmoji: npm install -g gitmoji-cli" + }, + "args": [] + }, + { + "namespace": "gitmoji", + "resource": "_", + "action": "_", + "description": "Passthrough to gitmoji CLI", + "adapter": "process", + "adapterConfig": { + "command": "gitmoji", + "passthrough": true, + "cwd": "invoke_cwd", + "missingDependencyHelp": "Install gitmoji: npm install -g gitmoji-cli" + }, + "args": [] } - } -} \ No newline at end of file + ] +} diff --git a/plugins/googlews/plugin.json b/plugins/googlews/plugin.json index 9755157998..d66262968b 100644 --- a/plugins/googlews/plugin.json +++ b/plugins/googlews/plugin.json @@ -2,39 +2,176 @@ "name": "googlews", "version": "1.0.0", "description": "Google Workspace CLI integration for supercli", - "binary": "googlews", + "source": "https://github.com/googleworkspace/cli", + "checks": [ + { + "type": "binary", + "name": "googlews", + "args": [ + "version" + ] + } + ], + "install_guidance": { + "plugin": "googlews", + "binary": "googlews", + "check": "googlews version", + "install_steps": [ + "go install github.com/googleworkspace/cli@latest" + ], + "note": "Requires Google OAuth2 credentials. Run `googlews auth login` to authenticate." + }, + "learn": { + "file": "skills/quickstart/SKILL.md" + }, "commands": [ { - "name": "version", - "description": "Display Google Workspace CLI version" + "namespace": "googlews", + "resource": "drive", + "action": "run", + "description": "Google Drive management - upload, download, share files and folders", + "adapter": "process", + "adapterConfig": { + "command": "googlews", + "baseArgs": [ + "drive" + ], + "passthrough": true, + "cwd": "invoke_cwd", + "missingDependencyHelp": "Install googlews: go install github.com/googleworkspace/cli@latest" + }, + "args": [] + }, + { + "namespace": "googlews", + "resource": "gmail", + "action": "run", + "description": "Gmail operations - send emails, manage labels, search messages", + "adapter": "process", + "adapterConfig": { + "command": "googlews", + "baseArgs": [ + "gmail" + ], + "passthrough": true, + "cwd": "invoke_cwd", + "missingDependencyHelp": "Install googlews: go install github.com/googleworkspace/cli@latest" + }, + "args": [] }, { - "name": "drive", - "description": "Google Drive management - upload, download, share files and folders" + "namespace": "googlews", + "resource": "calendar", + "action": "run", + "description": "Google Calendar - manage events, list calendars, set availability", + "adapter": "process", + "adapterConfig": { + "command": "googlews", + "baseArgs": [ + "calendar" + ], + "passthrough": true, + "cwd": "invoke_cwd", + "missingDependencyHelp": "Install googlews: go install github.com/googleworkspace/cli@latest" + }, + "args": [] }, { - "name": "gmail", - "description": "Gmail operations - send emails, manage labels, search messages" + "namespace": "googlews", + "resource": "sheets", + "action": "run", + "description": "Google Sheets - read, write, and manage spreadsheets", + "adapter": "process", + "adapterConfig": { + "command": "googlews", + "baseArgs": [ + "sheets" + ], + "passthrough": true, + "cwd": "invoke_cwd", + "missingDependencyHelp": "Install googlews: go install github.com/googleworkspace/cli@latest" + }, + "args": [] }, { - "name": "calendar", - "description": "Google Calendar - manage events, list calendars, set availability" + "namespace": "googlews", + "resource": "docs", + "action": "run", + "description": "Google Docs - create and manage documents", + "adapter": "process", + "adapterConfig": { + "command": "googlews", + "baseArgs": [ + "docs" + ], + "passthrough": true, + "cwd": "invoke_cwd", + "missingDependencyHelp": "Install googlews: go install github.com/googleworkspace/cli@latest" + }, + "args": [] }, { - "name": "sheets", - "description": "Google Sheets - read, write, and manage spreadsheets" + "namespace": "googlews", + "resource": "chat", + "action": "run", + "description": "Google Chat - send messages and manage spaces", + "adapter": "process", + "adapterConfig": { + "command": "googlews", + "baseArgs": [ + "chat" + ], + "passthrough": true, + "cwd": "invoke_cwd", + "missingDependencyHelp": "Install googlews: go install github.com/googleworkspace/cli@latest" + }, + "args": [] }, { - "name": "docs", - "description": "Google Docs - create and manage documents" + "namespace": "googlews", + "resource": "admin", + "action": "run", + "description": "Google Workspace Admin - manage users, groups, and domain settings", + "adapter": "process", + "adapterConfig": { + "command": "googlews", + "baseArgs": [ + "admin" + ], + "passthrough": true, + "cwd": "invoke_cwd", + "missingDependencyHelp": "Install googlews: go install github.com/googleworkspace/cli@latest" + }, + "args": [] }, { - "name": "chat", - "description": "Google Chat - send messages and manage spaces" + "namespace": "googlews", + "resource": "self", + "action": "version", + "description": "Print googlews version", + "adapter": "process", + "adapterConfig": { + "command": "googlews", + "baseArgs": [ + "version" + ], + "missingDependencyHelp": "Install googlews: go install github.com/googleworkspace/cli@latest" + }, + "args": [] }, { - "name": "admin", - "description": "Google Workspace Admin - manage users, groups, and domain settings" + "namespace": "googlews", + "resource": "_", + "action": "_", + "description": "Passthrough to googlews CLI", + "adapter": "process", + "adapterConfig": { + "command": "googlews", + "passthrough": true, + "cwd": "invoke_cwd", + "missingDependencyHelp": "Install googlews: go install github.com/googleworkspace/cli@latest" + }, + "args": [] } ] } diff --git a/plugins/html-minifier-next/plugin.json b/plugins/html-minifier-next/plugin.json index fa6641e305..be2effb74a 100644 --- a/plugins/html-minifier-next/plugin.json +++ b/plugins/html-minifier-next/plugin.json @@ -2,24 +2,68 @@ "name": "html-minifier-next", "version": "1.0.0", "description": "Super-configurable and well-tested web page minifier (enhanced successor of HTML Minifier). Handles HTML, CSS, JS, and SVG minification.", + "source": "https://www.npmjs.com/package/html-minifier-next", + "checks": [ + { + "type": "binary", + "name": "html-minifier-next" + } + ], + "install_guidance": { + "plugin": "html-minifier-next", + "binary": "html-minifier-next", + "check": "html-minifier-next --version", + "install_steps": [ + "npm install -g html-minifier-next" + ], + "note": "Requires Node.js to be installed." + }, + "learn": { + "file": "skills/quickstart/SKILL.md" + }, "commands": [ { - "name": "version", - "description": "Show html-minifier-next version", - "command": "html-minifier-next --version" + "namespace": "html-minifier-next", + "resource": "html", + "action": "minify", + "description": "Minify HTML, CSS, JS, and SVG files", + "adapter": "process", + "adapterConfig": { + "command": "html-minifier-next", + "passthrough": true, + "cwd": "invoke_cwd", + "missingDependencyHelp": "Install html-minifier-next: npm install -g html-minifier-next" + }, + "args": [] }, { - "name": "minify", - "description": "Minify HTML, CSS, JS, and SVG files", - "command": "html-minifier-next", - "args": true - } - ], - "checks": [ + "namespace": "html-minifier-next", + "resource": "self", + "action": "version", + "description": "Print html-minifier-next version", + "adapter": "process", + "adapterConfig": { + "command": "html-minifier-next", + "baseArgs": [ + "--version" + ], + "missingDependencyHelp": "Install html-minifier-next: npm install -g html-minifier-next" + }, + "args": [] + }, { - "name": "html-minifier-next", - "type": "binary", - "command": "html-minifier-next --version" + "namespace": "html-minifier-next", + "resource": "_", + "action": "_", + "description": "Passthrough to html-minifier-next CLI", + "adapter": "process", + "adapterConfig": { + "command": "html-minifier-next", + "passthrough": true, + "cwd": "invoke_cwd", + "missingDependencyHelp": "Install html-minifier-next: npm install -g html-minifier-next" + }, + "args": [] } ] } diff --git a/plugins/jar-skills/plugin.json b/plugins/jar-skills/plugin.json index 3c53699e0b..1a590425e6 100644 --- a/plugins/jar-skills/plugin.json +++ b/plugins/jar-skills/plugin.json @@ -7,10 +7,6 @@ "skills": [ "rtk-context-memory-graph" ], - "commands": { - "install": "./install.sh", - "uninstall": "./uninstall.sh" - }, "files": [ "SKILL.md", "AGENTS.md.template", @@ -20,5 +16,46 @@ ], "requirements": { "supercli": ">=1.0.0" - } + }, + "learn": { + "file": "SKILL.md" + }, + "install_guidance": { + "plugin": "jar-skills", + "binary": "jar-skills", + "check": "which jar-skills || ls $HOME/.agents/skills/rtk-context-memory-graph/SKILL.md", + "install_steps": [ + "cd plugins/jar-skills && ./install.sh --global", + "Or for local project: cd plugins/jar-skills && ./install.sh --local --project /path/to/project" + ], + "note": "Installs rtk-context-memory-graph skill. Use --force to overwrite local modifications." + }, + "commands": [ + { + "namespace": "jar-skills", + "resource": "self", + "action": "install", + "description": "Install rtk-context-memory-graph skill (install.sh)", + "adapter": "shell", + "adapterConfig": { + "script": "./install.sh --global", + "unsafe": true, + "cwd": "plugin_dir" + }, + "args": [] + }, + { + "namespace": "jar-skills", + "resource": "self", + "action": "uninstall", + "description": "Uninstall rtk-context-memory-graph skill (uninstall.sh)", + "adapter": "shell", + "adapterConfig": { + "script": "./uninstall.sh", + "unsafe": true, + "cwd": "plugin_dir" + }, + "args": [] + } + ] } diff --git a/plugins/just-cli/plugin.json b/plugins/just-cli/plugin.json index 6d6ee5675f..c4a9962380 100644 --- a/plugins/just-cli/plugin.json +++ b/plugins/just-cli/plugin.json @@ -2,5 +2,95 @@ "name": "just-cli", "version": "0.1.0", "description": "Just command runner - a simpler Make alternative", - "source": "https://github.com/casey/just" + "source": "https://github.com/casey/just", + "checks": [ + { + "type": "binary", + "name": "just" + } + ], + "install_guidance": { + "plugin": "just-cli", + "binary": "just", + "check": "which just", + "install_steps": [ + "brew install just", + "Verify: just --version", + "supercli plugins install ./plugins/just-cli --on-conflict replace --json" + ] + }, + "learn": { + "file": "skills/quickstart/SKILL.md" + }, + "commands": [ + { + "namespace": "just-cli", + "resource": "recipe", + "action": "run", + "description": "Run a justfile recipe", + "adapter": "process", + "adapterConfig": { + "command": "just", + "positionalArgs": [ + "recipe" + ], + "cwd": "invoke_cwd", + "missingDependencyHelp": "Install just: brew install just" + }, + "args": [ + { + "name": "recipe", + "type": "string", + "required": true, + "description": "Recipe name from justfile", + "positional": true + } + ] + }, + { + "namespace": "just-cli", + "resource": "recipe", + "action": "list", + "description": "List available justfile recipes", + "adapter": "process", + "adapterConfig": { + "command": "just", + "baseArgs": [ + "--list" + ], + "cwd": "invoke_cwd", + "missingDependencyHelp": "Install just: brew install just" + }, + "args": [] + }, + { + "namespace": "just-cli", + "resource": "self", + "action": "version", + "description": "Print just version", + "adapter": "process", + "adapterConfig": { + "command": "just", + "baseArgs": [ + "--version" + ], + "missingDependencyHelp": "Install just: brew install just" + }, + "args": [] + }, + { + "namespace": "just-cli", + "resource": "_", + "action": "_", + "description": "Passthrough to just CLI", + "adapter": "process", + "adapterConfig": { + "command": "just", + "passthrough": true, + "cwd": "invoke_cwd", + "missingDependencyHelp": "Install just: brew install just" + }, + "args": [] + } + ] } diff --git a/plugins/just-cli/skills/quickstart/SKILL.md b/plugins/just-cli/skills/quickstart/SKILL.md new file mode 100644 index 0000000000..47fcd86cf9 --- /dev/null +++ b/plugins/just-cli/skills/quickstart/SKILL.md @@ -0,0 +1,38 @@ +# just-cli Quickstart + +Just command runner - a simpler Make alternative. Runs recipes defined in a `justfile`. + +## Installation + +```bash +# Via Homebrew +brew install just + +# Via cargo +cargo install just + +# See https://github.com/casey/just for more options +``` + +## Basic Usage + +```bash +# List recipes in the current justfile +just --list + +# Run a recipe +just + +# Run a recipe via supercli +supercli just-cli recipe run --recipe + +# Show just version +just --version +``` + +## SuperCLI Commands + +- `just-cli recipe run --recipe ` — Run a justfile recipe +- `just-cli recipe list` — List available recipes +- `just-cli self version` — Print just version +- `just-cli _ _` — Passthrough to just CLI diff --git a/plugins/k9s/plugin.json b/plugins/k9s/plugin.json index c6b517f368..d4559b761f 100644 --- a/plugins/k9s/plugin.json +++ b/plugins/k9s/plugin.json @@ -1,34 +1,145 @@ { "name": "k9s", - "description": "Kubernetes CLI to manage your clusters in style", "version": "1.0.0", - "binary": "k9s", - "check": "k9s version", - "install": { - "method": "brew", - "command": "brew install k9s" + "description": "Kubernetes CLI to manage your clusters in style", + "source": "https://github.com/derailed/k9s", + "checks": [ + { + "type": "binary", + "name": "k9s", + "args": [ + "version" + ] + } + ], + "install_guidance": { + "plugin": "k9s", + "binary": "k9s", + "check": "k9s version", + "install_steps": [ + "brew install k9s", + "# Or via curl: curl -sS https://webinstall.dev/k9s | bash" + ], + "note": "Requires a Kubernetes cluster configured in ~/.kube/config. Works with minikube, kind, EKS, GKE, AKS, etc." }, - "commands": { - "start": { - "command": "k9s", - "description": "Launch k9s TUI for Kubernetes cluster management" + "learn": { + "file": "skills/quickstart/SKILL.md" + }, + "commands": [ + { + "namespace": "k9s", + "resource": "cluster", + "action": "open", + "description": "Launch k9s TUI for Kubernetes cluster management", + "adapter": "process", + "adapterConfig": { + "command": "k9s", + "missingDependencyHelp": "Install k9s: brew install k9s" + }, + "args": [] }, - "pods": { - "command": "k9s -c pod", - "description": "Open k9s with pods view" + { + "namespace": "k9s", + "resource": "pods", + "action": "view", + "description": "Open k9s with pods view", + "adapter": "process", + "adapterConfig": { + "command": "k9s", + "baseArgs": [ + "-c", + "pod" + ], + "missingDependencyHelp": "Install k9s: brew install k9s" + }, + "args": [] }, - "deployments": { - "command": "k9s -c deployment", - "description": "Open k9s with deployments view" + { + "namespace": "k9s", + "resource": "deployments", + "action": "view", + "description": "Open k9s with deployments view", + "adapter": "process", + "adapterConfig": { + "command": "k9s", + "baseArgs": [ + "-c", + "deployment" + ], + "missingDependencyHelp": "Install k9s: brew install k9s" + }, + "args": [] }, - "logs": { - "command": "k9s -c logs", - "description": "Open k9s with logs view" + { + "namespace": "k9s", + "resource": "logs", + "action": "view", + "description": "Open k9s with logs view", + "adapter": "process", + "adapterConfig": { + "command": "k9s", + "baseArgs": [ + "-c", + "logs" + ], + "missingDependencyHelp": "Install k9s: brew install k9s" + }, + "args": [] }, - "namespace": { - "command": "k9s -n {namespace}", + { + "namespace": "k9s", + "resource": "namespace", + "action": "open", "description": "Open k9s in specific namespace", - "args": ["namespace"] + "adapter": "process", + "adapterConfig": { + "command": "k9s", + "baseArgs": [ + "-n" + ], + "positionalArgs": [ + "namespace" + ], + "missingDependencyHelp": "Install k9s: brew install k9s" + }, + "args": [ + { + "name": "namespace", + "type": "string", + "required": true, + "description": "Kubernetes namespace", + "positional": true + } + ] + }, + { + "namespace": "k9s", + "resource": "self", + "action": "version", + "description": "Print k9s version", + "adapter": "process", + "adapterConfig": { + "command": "k9s", + "baseArgs": [ + "version" + ], + "missingDependencyHelp": "Install k9s: brew install k9s" + }, + "args": [] + }, + { + "namespace": "k9s", + "resource": "_", + "action": "_", + "description": "Passthrough to k9s CLI", + "adapter": "process", + "adapterConfig": { + "command": "k9s", + "passthrough": true, + "cwd": "invoke_cwd", + "missingDependencyHelp": "Install k9s: brew install k9s" + }, + "args": [] } - } + ] } diff --git a/plugins/kreuzberg/plugin.json b/plugins/kreuzberg/plugin.json index f679b6c7d4..b0ed15eb34 100644 --- a/plugins/kreuzberg/plugin.json +++ b/plugins/kreuzberg/plugin.json @@ -1,28 +1,134 @@ { "name": "kreuzberg", - "description": "Polyglot document intelligence framework for extracting text and metadata", "version": "1.0.0", - "binary": "kreuzberg", - "check": "kreuzberg --version", - "install": { - "method": "cargo", - "command": "cargo install kreuzberg-cli" + "description": "Polyglot document intelligence framework for extracting text and metadata", + "source": "https://crates.io/crates/kreuzberg-cli", + "checks": [ + { + "type": "binary", + "name": "kreuzberg" + } + ], + "install_guidance": { + "plugin": "kreuzberg", + "binary": "kreuzberg", + "check": "kreuzberg --version", + "install_steps": [ + "cargo install kreuzberg-cli", + "# Or download pre-built binary from GitHub releases" + ], + "note": "Supports 97+ document formats including PDF, DOCX, XLSX, PPTX, images, and more" }, - "commands": { - "extract": { - "command": "kreuzberg extract {file}", + "learn": { + "file": "skills/quickstart/SKILL.md" + }, + "commands": [ + { + "namespace": "kreuzberg", + "resource": "document", + "action": "extract", "description": "Extract text from document", - "args": ["file"] + "adapter": "process", + "adapterConfig": { + "command": "kreuzberg", + "baseArgs": [ + "extract" + ], + "positionalArgs": [ + "file" + ], + "missingDependencyHelp": "Install kreuzberg: cargo install kreuzberg-cli" + }, + "args": [ + { + "name": "file", + "type": "string", + "required": true, + "description": "Document path", + "positional": true + } + ] }, - "metadata": { - "command": "kreuzberg metadata {file}", + { + "namespace": "kreuzberg", + "resource": "document", + "action": "metadata", "description": "Extract metadata from document", - "args": ["file"] + "adapter": "process", + "adapterConfig": { + "command": "kreuzberg", + "baseArgs": [ + "metadata" + ], + "positionalArgs": [ + "file" + ], + "missingDependencyHelp": "Install kreuzberg: cargo install kreuzberg-cli" + }, + "args": [ + { + "name": "file", + "type": "string", + "required": true, + "description": "Document path", + "positional": true + } + ] }, - "batch": { - "command": "kreuzberg batch {directory}", + { + "namespace": "kreuzberg", + "resource": "document", + "action": "batch", "description": "Process multiple documents in directory", - "args": ["directory"] + "adapter": "process", + "adapterConfig": { + "command": "kreuzberg", + "baseArgs": [ + "batch" + ], + "positionalArgs": [ + "directory" + ], + "missingDependencyHelp": "Install kreuzberg: cargo install kreuzberg-cli" + }, + "args": [ + { + "name": "directory", + "type": "string", + "required": true, + "description": "Directory containing documents", + "positional": true + } + ] + }, + { + "namespace": "kreuzberg", + "resource": "self", + "action": "version", + "description": "Print kreuzberg version", + "adapter": "process", + "adapterConfig": { + "command": "kreuzberg", + "baseArgs": [ + "--version" + ], + "missingDependencyHelp": "Install kreuzberg: cargo install kreuzberg-cli" + }, + "args": [] + }, + { + "namespace": "kreuzberg", + "resource": "_", + "action": "_", + "description": "Passthrough to kreuzberg CLI", + "adapter": "process", + "adapterConfig": { + "command": "kreuzberg", + "passthrough": true, + "cwd": "invoke_cwd", + "missingDependencyHelp": "Install kreuzberg: cargo install kreuzberg-cli" + }, + "args": [] } - } + ] } diff --git a/plugins/massgen/plugin.json b/plugins/massgen/plugin.json index dda7f4cf8a..9da429af42 100644 --- a/plugins/massgen/plugin.json +++ b/plugins/massgen/plugin.json @@ -1,29 +1,98 @@ { - "plugin": "massgen", + "name": "massgen", "version": "1.0.0", "description": "Multi-agent scaling system that coordinates AI agents to solve complex tasks", - "commands": [ + "source": "https://pypi.org/project/massgen/", + "checks": [ { - "name": "version", - "description": "Show massgen version", - "command": "massgen --version" - }, + "type": "binary", + "name": "massgen" + } + ], + "install_guidance": { + "plugin": "massgen", + "binary": "massgen", + "check": "massgen --version", + "install_steps": [ + "pip install massgen" + ], + "note": "Requires Python and pip to be installed" + }, + "learn": { + "file": "skills/quickstart/SKILL.md" + }, + "commands": [ { - "name": "run", + "namespace": "massgen", + "resource": "task", + "action": "run", "description": "Run massgen with a task", - "command": "massgen run " + "adapter": "process", + "adapterConfig": { + "command": "massgen", + "baseArgs": [ + "run" + ], + "positionalArgs": [ + "task" + ], + "timeout_ms": 300000, + "missingDependencyHelp": "Install massgen: pip install massgen" + }, + "args": [ + { + "name": "task", + "type": "string", + "required": true, + "description": "Task description for agents", + "positional": true + } + ] }, { - "name": "serve", + "namespace": "massgen", + "resource": "server", + "action": "serve", "description": "Start massgen server", - "command": "massgen serve" - } - ], - "checks": [ + "adapter": "process", + "adapterConfig": { + "command": "massgen", + "baseArgs": [ + "serve" + ], + "timeout_ms": 300000, + "missingDependencyHelp": "Install massgen: pip install massgen" + }, + "args": [] + }, + { + "namespace": "massgen", + "resource": "self", + "action": "version", + "description": "Print massgen version", + "adapter": "process", + "adapterConfig": { + "command": "massgen", + "baseArgs": [ + "--version" + ], + "missingDependencyHelp": "Install massgen: pip install massgen" + }, + "args": [] + }, { - "name": "massgen", - "command": "massgen --version", - "parse": "\\d+\\.\\d+\\.\\d+" + "namespace": "massgen", + "resource": "_", + "action": "_", + "description": "Passthrough to massgen CLI", + "adapter": "process", + "adapterConfig": { + "command": "massgen", + "passthrough": true, + "cwd": "invoke_cwd", + "missingDependencyHelp": "Install massgen: pip install massgen" + }, + "args": [] } ] } diff --git a/plugins/matchmaker/plugin.json b/plugins/matchmaker/plugin.json index 946451ae7e..8932a19f84 100644 --- a/plugins/matchmaker/plugin.json +++ b/plugins/matchmaker/plugin.json @@ -2,5 +2,52 @@ "name": "matchmaker", "version": "0.1.0", "description": "Pattern matching and text processing utility", - "source": "https://github.com" + "source": "https://github.com", + "checks": [ + { + "type": "binary", + "name": "matchmaker" + } + ], + "install_guidance": { + "plugin": "matchmaker", + "binary": "matchmaker", + "check": "which matchmaker", + "install_steps": [ + "brew install matchmaker", + "Verify: matchmaker --version", + "supercli plugins install ./plugins/matchmaker --on-conflict replace --json" + ] + }, + "commands": [ + { + "namespace": "matchmaker", + "resource": "self", + "action": "version", + "description": "Print matchmaker version", + "adapter": "process", + "adapterConfig": { + "command": "matchmaker", + "baseArgs": [ + "--version" + ], + "missingDependencyHelp": "Install matchmaker: brew install matchmaker" + }, + "args": [] + }, + { + "namespace": "matchmaker", + "resource": "_", + "action": "_", + "description": "Passthrough to matchmaker CLI", + "adapter": "process", + "adapterConfig": { + "command": "matchmaker", + "passthrough": true, + "cwd": "invoke_cwd", + "missingDependencyHelp": "Install matchmaker: brew install matchmaker" + }, + "args": [] + } + ] } diff --git a/plugins/omni-article-markdown/install-guidance.json b/plugins/omni-article-markdown/install-guidance.json index ffbacf2f68..80312f0c95 100644 --- a/plugins/omni-article-markdown/install-guidance.json +++ b/plugins/omni-article-markdown/install-guidance.json @@ -1,9 +1,10 @@ { "plugin": "omni-article-markdown", - "check": "which undefined", + "check": "which mdcli", "install_steps": [ "pip install omni-article-markdown", - "Verify: undefined --version", + "Verify: mdcli --version", "supercli plugins install ./plugins/omni-article-markdown --on-conflict replace --json" - ] -} \ No newline at end of file + ], + "binary": "mdcli" +} diff --git a/plugins/omni-article-markdown/plugin.json b/plugins/omni-article-markdown/plugin.json index bca61e191e..8a418933dc 100644 --- a/plugins/omni-article-markdown/plugin.json +++ b/plugins/omni-article-markdown/plugin.json @@ -5,213 +5,139 @@ "source": "https://github.com/caol64/omni-article-markdown", "checks": [ { - "type": "binary" + "type": "binary", + "name": "mdcli" } ], "install_guidance": { "plugin": "omni-article-markdown", - "check": "which undefined", + "check": "which mdcli", "install_steps": [ "pip install omni-article-markdown", - "Verify: undefined --version", + "Verify: mdcli --version", "supercli plugins install ./plugins/omni-article-markdown --on-conflict replace --json" - ] + ], + "binary": "mdcli" }, "learn": { "file": "skills/quickstart/SKILL.md" }, "commands": [ - { - "namespace": "omni-article-markdown", - "resource": "self", - "action": "version", - "description": "Print omni-article-markdown version", - "adapter": "process", - "adapterConfig": { - "missingDependencyHelp": "Install omni-article-markdown: pip install omni-article-markdown", - "baseArgs": [ - "--version" - ] - }, - "args": [] - }, { "namespace": "omni-article-markdown", "resource": "article", - "action": "convert", - "description": "convert article via undefined", - "adapter": "process", - "adapterConfig": { - "missingDependencyHelp": "Install omni-article-markdown: pip install omni-article-markdown", - "baseArgs": [], - "passthrough": true, - "timeout_ms": 300000 - }, - "args": [ - { - "name": "args", - "type": "string", - "required": false, - "description": "Additional arguments" - } - ] - }, - { - "namespace": "omni-article-markdown", - "resource": "url", - "action": "fetch", - "description": "fetch url via undefined", + "action": "parse", + "description": "Parse a web article or local file into clean Markdown", "adapter": "process", "adapterConfig": { - "missingDependencyHelp": "Install omni-article-markdown: pip install omni-article-markdown", + "command": "mdcli", "baseArgs": [ - "--url" + "parse" ], - "passthrough": true, - "timeout_ms": 300000 + "positionalArgs": [ + "url" + ], + "timeout_ms": 120000, + "missingDependencyHelp": "Install omni-article-markdown: pip install omni-article-markdown" }, "args": [ { - "name": "args", + "name": "url", "type": "string", - "required": false, - "description": "Additional arguments" - } - ] - }, - { - "namespace": "omni-article-markdown", - "resource": "output", - "action": "set", - "description": "set output via undefined", - "adapter": "process", - "adapterConfig": { - "missingDependencyHelp": "Install omni-article-markdown: pip install omni-article-markdown", - "baseArgs": [ - "--output" - ], - "passthrough": true, - "timeout_ms": 300000 - }, - "args": [ + "required": true, + "description": "Article URL or local file path", + "positional": true + }, { - "name": "args", + "name": "--save", "type": "string", "required": false, - "description": "Additional arguments" - } - ] - }, - { - "namespace": "omni-article-markdown", - "resource": "format", - "action": "set", - "description": "set format via undefined", - "adapter": "process", - "adapterConfig": { - "missingDependencyHelp": "Install omni-article-markdown: pip install omni-article-markdown", - "baseArgs": [ - "--format" - ], - "passthrough": true, - "timeout_ms": 300000 - }, - "args": [ + "description": "Save result to directory (use -s for ./)" + }, { - "name": "args", - "type": "string", + "name": "--no-verify-ssl", + "type": "boolean", "required": false, - "description": "Additional arguments" + "description": "Disable SSL certificate verification" } ] }, { "namespace": "omni-article-markdown", - "resource": "image", - "action": "download", - "description": "download image via undefined", + "resource": "article", + "action": "read", + "description": "Read and format raw article HTML", "adapter": "process", "adapterConfig": { - "missingDependencyHelp": "Install omni-article-markdown: pip install omni-article-markdown", + "command": "mdcli", "baseArgs": [ - "--download-images" + "read" ], - "passthrough": true, - "timeout_ms": 300000 + "positionalArgs": [ + "url" + ], + "timeout_ms": 120000, + "missingDependencyHelp": "Install omni-article-markdown: pip install omni-article-markdown" }, "args": [ { - "name": "args", + "name": "url", "type": "string", + "required": true, + "description": "Article URL or local file path", + "positional": true + }, + { + "name": "--prettify", + "type": "boolean", "required": false, - "description": "Additional arguments" + "description": "Prettify the HTML output" } ] }, { "namespace": "omni-article-markdown", - "resource": "verbose", - "action": "set", - "description": "set verbose via undefined", + "resource": "self", + "action": "version", + "description": "Print mdcli version", "adapter": "process", "adapterConfig": { - "missingDependencyHelp": "Install omni-article-markdown: pip install omni-article-markdown", + "command": "mdcli", "baseArgs": [ - "--verbose" + "--version" ], - "passthrough": true, - "timeout_ms": 30000 + "missingDependencyHelp": "Install omni-article-markdown: pip install omni-article-markdown" }, - "args": [ - { - "name": "args", - "type": "string", - "required": false, - "description": "Additional arguments" - } - ] + "args": [] }, { "namespace": "omni-article-markdown", "resource": "help", "action": "show", - "description": "show help via undefined", + "description": "Show mdcli help", "adapter": "process", "adapterConfig": { - "missingDependencyHelp": "Install omni-article-markdown: pip install omni-article-markdown", + "command": "mdcli", "baseArgs": [ "--help" ], - "passthrough": true, - "timeout_ms": 30000 + "missingDependencyHelp": "Install omni-article-markdown: pip install omni-article-markdown" }, - "args": [ - { - "name": "args", - "type": "string", - "required": false, - "description": "Additional arguments" - } - ] + "args": [] }, { "namespace": "omni-article-markdown", "resource": "_", "action": "_", - "description": "_ _ via undefined", + "description": "Passthrough to mdcli CLI", "adapter": "process", "adapterConfig": { - "missingDependencyHelp": "Install omni-article-markdown: pip install omni-article-markdown", - "passthrough": true + "command": "mdcli", + "passthrough": true, + "cwd": "invoke_cwd", + "missingDependencyHelp": "Install omni-article-markdown: pip install omni-article-markdown" }, - "args": [ - { - "name": "args", - "type": "string", - "required": false, - "description": "Additional arguments" - } - ] + "args": [] } ] -} \ No newline at end of file +} diff --git a/plugins/omni-article-markdown/skills/quickstart/SKILL.md b/plugins/omni-article-markdown/skills/quickstart/SKILL.md index ff6911601a..3e1acdef7f 100644 --- a/plugins/omni-article-markdown/skills/quickstart/SKILL.md +++ b/plugins/omni-article-markdown/skills/quickstart/SKILL.md @@ -5,22 +5,21 @@ description: Use this skill when the user wants to turn any web article into cle # Omni-article-markdown Plugin -Turn any web article into clean Markdown via CLI tool. +Turn any web article into clean Markdown via CLI tool. The installed binary is `mdcli`. ## Commands ### Operations -- `omni-article-markdown article convert` — convert article via undefined -- `omni-article-markdown url fetch` — fetch url via undefined -- `omni-article-markdown output set` — set output via undefined -- `omni-article-markdown format set` — set format via undefined -- `omni-article-markdown image download` — download image via undefined -- `omni-article-markdown verbose set` — set verbose via undefined -- `omni-article-markdown help show` — show help via undefined +- `omni-article-markdown article parse` — Parse a web article or local file into clean Markdown +- `omni-article-markdown article read` — Read and format raw article HTML +- `omni-article-markdown self version` — Print mdcli version +- `omni-article-markdown help show` — Show mdcli help +- `omni-article-markdown _ _` — Passthrough to mdcli CLI ## Usage Examples -- "omni-article-markdown --help" -- "omni-article-markdown " +- "omni-article-markdown article parse --url https://example.com/post" +- "omni-article-markdown article parse --url https://example.com/post --save ./out" +- "omni-article-markdown article read --url https://example.com/post --prettify" ## Installation @@ -31,9 +30,12 @@ pip install omni-article-markdown ## Examples ```bash -undefined --version -undefined --help +mdcli --version +mdcli --help +mdcli parse https://example.com/post -s ./out ``` ## Key Features -- markdown\n- web\n- scraping +- markdown +- web +- scraping diff --git a/plugins/prom2json/plugin.json b/plugins/prom2json/plugin.json index c83ad274cc..f227ac43eb 100644 --- a/plugins/prom2json/plugin.json +++ b/plugins/prom2json/plugin.json @@ -2,48 +2,177 @@ "name": "prom2json", "version": "1.0.0", "description": "Convert Prometheus metrics to JSON format for parsing and processing", + "source": "https://github.com/prometheus/prom2json", + "checks": [ + { + "type": "binary", + "name": "prom2json", + "args": [ + "version" + ] + } + ], + "install_guidance": { + "plugin": "prom2json", + "binary": "prom2json", + "check": "prom2json version", + "install_steps": [ + "go install github.com/prometheus/prom2json/cmd/prom2json@latest", + "Or download from: https://github.com/prometheus/prom2json/releases" + ], + "note": "prom2json is a Prometheus tool that scrapes metrics endpoints and converts them to JSON format for easier processing" + }, + "learn": { + "file": "skills/quickstart/SKILL.md" + }, "commands": [ { - "name": "convert", + "namespace": "prom2json", + "resource": "metrics", + "action": "convert", "description": "Convert Prometheus metrics URL to JSON", - "binary": "prom2json", - "args": ["{{.url}}"], - "output_format": "json" + "adapter": "shell", + "adapterConfig": { + "script": "prom2json \"{{url}}\"", + "unsafe": true + }, + "args": [ + { + "name": "url", + "type": "string", + "required": true, + "description": "Metrics endpoint URL" + } + ] }, { - "name": "convert-file", + "namespace": "prom2json", + "resource": "metrics", + "action": "convert-file", "description": "Convert Prometheus metrics file to JSON", - "binary": "prom2json", - "args": ["{{.file}}"], - "output_format": "json" + "adapter": "shell", + "adapterConfig": { + "script": "prom2json \"{{file}}\"", + "unsafe": true + }, + "args": [ + { + "name": "file", + "type": "string", + "required": true, + "description": "Metrics file path" + } + ] }, { - "name": "convert-stdin", + "namespace": "prom2json", + "resource": "metrics", + "action": "convert-stdin", "description": "Convert Prometheus metrics from stdin to JSON", - "binary": "prom2json", - "args": [], - "output_format": "json" + "adapter": "shell", + "adapterConfig": { + "script": "prom2json", + "unsafe": true + }, + "args": [] }, { - "name": "convert-tls", + "namespace": "prom2json", + "resource": "metrics", + "action": "convert-tls", "description": "Convert HTTPS metrics with TLS client authentication", - "binary": "prom2json", - "args": ["--cert", "{{.cert}}", "--key", "{{.key}}", "{{.url}}"], - "output_format": "json" + "adapter": "shell", + "adapterConfig": { + "script": "prom2json --cert \"{{cert}}\" --key \"{{key}}\" \"{{url}}\"", + "unsafe": true + }, + "args": [ + { + "name": "cert", + "type": "string", + "required": true, + "description": "TLS client certificate path" + }, + { + "name": "key", + "type": "string", + "required": true, + "description": "TLS client key path" + }, + { + "name": "url", + "type": "string", + "required": true, + "description": "Metrics endpoint URL" + } + ] }, { - "name": "convert-insecure", + "namespace": "prom2json", + "resource": "metrics", + "action": "convert-insecure", "description": "Convert HTTPS metrics without TLS validation (testing only)", - "binary": "prom2json", - "args": ["--accept-invalid-cert", "{{.url}}"], - "output_format": "json" + "adapter": "shell", + "adapterConfig": { + "script": "prom2json --accept-invalid-cert \"{{url}}\"", + "unsafe": true + }, + "args": [ + { + "name": "url", + "type": "string", + "required": true, + "description": "Metrics endpoint URL" + } + ] }, { - "name": "convert-utf8", + "namespace": "prom2json", + "resource": "metrics", + "action": "convert-utf8", "description": "Convert metrics with UTF-8 escaping scheme", - "binary": "prom2json", - "args": ["--escaping", "allow-utf-8", "{{.url}}"], - "output_format": "json" + "adapter": "shell", + "adapterConfig": { + "script": "prom2json --escaping allow-utf-8 \"{{url}}\"", + "unsafe": true + }, + "args": [ + { + "name": "url", + "type": "string", + "required": true, + "description": "Metrics endpoint URL" + } + ] + }, + { + "namespace": "prom2json", + "resource": "self", + "action": "version", + "description": "Print prom2json version", + "adapter": "process", + "adapterConfig": { + "command": "prom2json", + "baseArgs": [ + "version" + ], + "missingDependencyHelp": "Install prom2json: go install github.com/prometheus/prom2json/cmd/prom2json@latest" + }, + "args": [] + }, + { + "namespace": "prom2json", + "resource": "_", + "action": "_", + "description": "Passthrough to prom2json CLI", + "adapter": "process", + "adapterConfig": { + "command": "prom2json", + "passthrough": true, + "cwd": "invoke_cwd", + "missingDependencyHelp": "Install prom2json: go install github.com/prometheus/prom2json/cmd/prom2json@latest" + }, + "args": [] } ] -} \ No newline at end of file +} diff --git a/plugins/quarto/plugin.json b/plugins/quarto/plugin.json index 88fce8ba0e..7d90838c6d 100644 --- a/plugins/quarto/plugin.json +++ b/plugins/quarto/plugin.json @@ -1,37 +1,180 @@ { "name": "quarto", - "description": "Open-source scientific and technical publishing system built on Pandoc", "version": "1.9.37", - "binary": "quarto", - "check": "quarto --version", - "install": { - "method": "custom", - "command": "Download .deb/.rpm/.tar.gz from https://github.com/quarto-dev/quarto-cli/releases/latest" + "description": "Open-source scientific and technical publishing system built on Pandoc", + "source": "https://github.com/quarto-dev/quarto-cli", + "checks": [ + { + "type": "binary", + "name": "quarto" + } + ], + "install_guidance": { + "plugin": "quarto", + "binary": "quarto", + "check": "quarto --version", + "install_steps": [ + "Download the appropriate release for your platform from https://github.com/quarto-dev/quarto-cli/releases/latest", + "Linux (.deb): sudo dpkg -i quarto-*.deb", + "Linux (.tar.gz): tar -C ~/opt -xvzf quarto-*.tar.gz && ln -s ~/opt/quarto-*/bin/quarto ~/bin/quarto", + "macOS: Download .pkg installer and double-click to install", + "Windows: Download .msi installer and run" + ], + "note": "Quarto requires Pandoc and optionally TeX for PDF output. See https://quarto.org/docs/get-started/ for full installation instructions." }, - "commands": { - "render": { - "command": "quarto render {file}", + "learn": { + "file": "skills/quickstart/SKILL.md" + }, + "commands": [ + { + "namespace": "quarto", + "resource": "document", + "action": "render", "description": "Render a document to various formats", - "args": ["file"] + "adapter": "process", + "adapterConfig": { + "command": "quarto", + "baseArgs": [ + "render" + ], + "positionalArgs": [ + "file" + ], + "missingDependencyHelp": "Install quarto: Download the appropriate release for your platform from https://github.com/quarto-dev/quarto-cli/releases/latest" + }, + "args": [ + { + "name": "file", + "type": "string", + "required": true, + "description": "Document path (.qmd, .ipynb, .md)", + "positional": true + } + ] }, - "preview": { - "command": "quarto preview {file}", + { + "namespace": "quarto", + "resource": "document", + "action": "preview", "description": "Preview a document with live reload", - "args": ["file"] + "adapter": "process", + "adapterConfig": { + "command": "quarto", + "baseArgs": [ + "preview" + ], + "positionalArgs": [ + "file" + ], + "timeout_ms": 300000, + "missingDependencyHelp": "Install quarto: Download the appropriate release for your platform from https://github.com/quarto-dev/quarto-cli/releases/latest" + }, + "args": [ + { + "name": "file", + "type": "string", + "required": true, + "description": "Document path", + "positional": true + } + ] }, - "create": { - "command": "quarto create {type}", + { + "namespace": "quarto", + "resource": "project", + "action": "create", "description": "Create a new project (project, document, extension)", - "args": ["type"] + "adapter": "process", + "adapterConfig": { + "command": "quarto", + "baseArgs": [ + "create" + ], + "positionalArgs": [ + "type" + ], + "missingDependencyHelp": "Install quarto: Download the appropriate release for your platform from https://github.com/quarto-dev/quarto-cli/releases/latest" + }, + "args": [ + { + "name": "type", + "type": "string", + "required": true, + "description": "Project type to create", + "positional": true + } + ] }, - "convert": { - "command": "quarto convert {file}", + { + "namespace": "quarto", + "resource": "document", + "action": "convert", "description": "Convert between .qmd and .ipynb formats", - "args": ["file"] + "adapter": "process", + "adapterConfig": { + "command": "quarto", + "baseArgs": [ + "convert" + ], + "positionalArgs": [ + "file" + ], + "missingDependencyHelp": "Install quarto: Download the appropriate release for your platform from https://github.com/quarto-dev/quarto-cli/releases/latest" + }, + "args": [ + { + "name": "file", + "type": "string", + "required": true, + "description": "Document path", + "positional": true + } + ] + }, + { + "namespace": "quarto", + "resource": "self", + "action": "check", + "description": "Verify Quarto installation and dependencies", + "adapter": "process", + "adapterConfig": { + "command": "quarto", + "baseArgs": [ + "check" + ], + "timeout_ms": 60000, + "missingDependencyHelp": "Install quarto: Download the appropriate release for your platform from https://github.com/quarto-dev/quarto-cli/releases/latest" + }, + "args": [] + }, + { + "namespace": "quarto", + "resource": "self", + "action": "version", + "description": "Print quarto version", + "adapter": "process", + "adapterConfig": { + "command": "quarto", + "baseArgs": [ + "--version" + ], + "missingDependencyHelp": "Install quarto: Download the appropriate release for your platform from https://github.com/quarto-dev/quarto-cli/releases/latest" + }, + "args": [] }, - "check": { - "command": "quarto check", - "description": "Verify Quarto installation and dependencies" + { + "namespace": "quarto", + "resource": "_", + "action": "_", + "description": "Passthrough to quarto CLI", + "adapter": "process", + "adapterConfig": { + "command": "quarto", + "passthrough": true, + "cwd": "invoke_cwd", + "missingDependencyHelp": "Install quarto: Download the appropriate release for your platform from https://github.com/quarto-dev/quarto-cli/releases/latest" + }, + "args": [] } - } + ] } diff --git a/plugins/readme-gen/plugin.json b/plugins/readme-gen/plugin.json index fb0ea5846b..81d33f2bcf 100644 --- a/plugins/readme-gen/plugin.json +++ b/plugins/readme-gen/plugin.json @@ -1,17 +1,67 @@ { "name": "readme-gen", - "description": "CLI that generates beautiful README.md files", "version": "1.0.0", - "binary": "readme-md-generator", - "check": "readme-md-generator --version", - "install": { - "method": "npm", - "command": "npm install -g readme-md-generator" + "description": "CLI that generates beautiful README.md files", + "source": "https://github.com/kefranabg/readme-md-generator", + "checks": [ + { + "type": "binary", + "name": "readme-md-generator" + } + ], + "install_guidance": { + "plugin": "readme-gen", + "binary": "readme-md-generator", + "check": "readme-md-generator --version", + "install_steps": [ + "npm install -g readme-md-generator" + ], + "note": "Requires Node.js and npm. Installs globally as 'readme-md-generator'." + }, + "learn": { + "file": "skills/quickstart/SKILL.md" }, - "commands": { - "default": { - "command": "readme-md-generator", - "description": "CLI that generates beautiful README.md files" + "commands": [ + { + "namespace": "readme-gen", + "resource": "readme", + "action": "generate", + "description": "Generate a README.md via interactive questionnaire", + "adapter": "process", + "adapterConfig": { + "command": "readme-md-generator", + "missingDependencyHelp": "Install readme-md-generator: npm install -g readme-md-generator" + }, + "args": [] + }, + { + "namespace": "readme-gen", + "resource": "self", + "action": "version", + "description": "Print readme-md-generator version", + "adapter": "process", + "adapterConfig": { + "command": "readme-md-generator", + "baseArgs": [ + "--version" + ], + "missingDependencyHelp": "Install readme-md-generator: npm install -g readme-md-generator" + }, + "args": [] + }, + { + "namespace": "readme-gen", + "resource": "_", + "action": "_", + "description": "Passthrough to readme-md-generator CLI", + "adapter": "process", + "adapterConfig": { + "command": "readme-md-generator", + "passthrough": true, + "cwd": "invoke_cwd", + "missingDependencyHelp": "Install readme-md-generator: npm install -g readme-md-generator" + }, + "args": [] } - } -} \ No newline at end of file + ] +} diff --git a/plugins/resume-cli/plugin.json b/plugins/resume-cli/plugin.json index 894b71ff27..d73ed848ad 100644 --- a/plugins/resume-cli/plugin.json +++ b/plugins/resume-cli/plugin.json @@ -1,30 +1,128 @@ { "name": "resume-cli", - "description": "CLI tool to easily setup a new resume using JSON Resume standard", "version": "1.0.0", - "binary": "resume", - "check": "resume --version", - "install": { - "method": "npm", - "command": "npm install -g resume-cli" + "description": "CLI tool to easily setup a new resume using JSON Resume standard", + "source": "https://github.com/jsonresume/resume-cli", + "checks": [ + { + "type": "binary", + "name": "resume" + } + ], + "install_guidance": { + "plugin": "resume-cli", + "binary": "resume", + "check": "resume --version", + "install_steps": [ + "npm install -g resume-cli" + ], + "note": "Uses JSON Resume schema. Export requires a theme - install with npm install -g jsonresume-theme-" }, - "commands": { - "init": { - "command": "resume init", - "description": "Create a new resume.json file" + "learn": { + "file": "skills/quickstart/SKILL.md" + }, + "commands": [ + { + "namespace": "resume-cli", + "resource": "resume", + "action": "init", + "description": "Create a new resume.json file", + "adapter": "process", + "adapterConfig": { + "command": "resume", + "baseArgs": [ + "init" + ], + "missingDependencyHelp": "Install resume: npm install -g resume-cli" + }, + "args": [] }, - "export": { - "command": "resume export {filename}", + { + "namespace": "resume-cli", + "resource": "resume", + "action": "export", "description": "Export resume to PDF or HTML", - "args": ["filename"] + "adapter": "process", + "adapterConfig": { + "command": "resume", + "baseArgs": [ + "export" + ], + "positionalArgs": [ + "filename" + ], + "timeout_ms": 60000, + "missingDependencyHelp": "Install resume: npm install -g resume-cli" + }, + "args": [ + { + "name": "filename", + "type": "string", + "required": true, + "description": "Output filename (e.g. resume.pdf)", + "positional": true + } + ] + }, + { + "namespace": "resume-cli", + "resource": "resume", + "action": "serve", + "description": "Serve resume locally for preview", + "adapter": "process", + "adapterConfig": { + "command": "resume", + "baseArgs": [ + "serve" + ], + "timeout_ms": 300000, + "missingDependencyHelp": "Install resume: npm install -g resume-cli" + }, + "args": [] + }, + { + "namespace": "resume-cli", + "resource": "resume", + "action": "validate", + "description": "Validate resume.json format", + "adapter": "process", + "adapterConfig": { + "command": "resume", + "baseArgs": [ + "validate" + ], + "missingDependencyHelp": "Install resume: npm install -g resume-cli" + }, + "args": [] }, - "serve": { - "command": "resume serve", - "description": "Serve resume locally for preview" + { + "namespace": "resume-cli", + "resource": "self", + "action": "version", + "description": "Print resume version", + "adapter": "process", + "adapterConfig": { + "command": "resume", + "baseArgs": [ + "--version" + ], + "missingDependencyHelp": "Install resume: npm install -g resume-cli" + }, + "args": [] }, - "validate": { - "command": "resume validate", - "description": "Validate resume.json format" + { + "namespace": "resume-cli", + "resource": "_", + "action": "_", + "description": "Passthrough to resume CLI", + "adapter": "process", + "adapterConfig": { + "command": "resume", + "passthrough": true, + "cwd": "invoke_cwd", + "missingDependencyHelp": "Install resume: npm install -g resume-cli" + }, + "args": [] } - } + ] } diff --git a/plugins/resume/plugin.json b/plugins/resume/plugin.json index 2076cb132f..fc46dbbc30 100644 --- a/plugins/resume/plugin.json +++ b/plugins/resume/plugin.json @@ -1,17 +1,67 @@ { "name": "resume", - "description": "CLI tool to easily setup a new resume", "version": "1.0.0", - "binary": "resume", - "check": "resume --version", - "install": { - "method": "npm", - "command": "npm install -g resume-cli" + "description": "CLI tool to easily setup a new resume", + "source": "https://github.com/jsonresume/resume-cli", + "checks": [ + { + "type": "binary", + "name": "resume" + } + ], + "install_guidance": { + "plugin": "resume", + "binary": "resume", + "check": "resume --version", + "install_steps": [ + "npm install -g resume-cli" + ], + "note": "Requires Node.js and npm. Installs globally as 'resume'." + }, + "learn": { + "file": "skills/quickstart/SKILL.md" }, - "commands": { - "default": { - "command": "resume", - "description": "CLI tool to easily setup a new resume" + "commands": [ + { + "namespace": "resume", + "resource": "cli", + "action": "run", + "description": "Run resume CLI (JSON Resume tool)", + "adapter": "process", + "adapterConfig": { + "command": "resume", + "missingDependencyHelp": "Install resume: npm install -g resume-cli" + }, + "args": [] + }, + { + "namespace": "resume", + "resource": "self", + "action": "version", + "description": "Print resume version", + "adapter": "process", + "adapterConfig": { + "command": "resume", + "baseArgs": [ + "--version" + ], + "missingDependencyHelp": "Install resume: npm install -g resume-cli" + }, + "args": [] + }, + { + "namespace": "resume", + "resource": "_", + "action": "_", + "description": "Passthrough to resume CLI", + "adapter": "process", + "adapterConfig": { + "command": "resume", + "passthrough": true, + "cwd": "invoke_cwd", + "missingDependencyHelp": "Install resume: npm install -g resume-cli" + }, + "args": [] } - } -} \ No newline at end of file + ] +} diff --git a/plugins/social-analyzer/plugin.json b/plugins/social-analyzer/plugin.json index 28ffc8f801..e590f9af2a 100644 --- a/plugins/social-analyzer/plugin.json +++ b/plugins/social-analyzer/plugin.json @@ -1,26 +1,113 @@ { "name": "social-analyzer", - "description": "Analyze and find a person's profile across 1000+ social media websites", "version": "1.0.0", - "binary": "social-analyzer", - "check": "social-analyzer --version", - "install": { - "method": "npm", - "command": "npm install -g social-analyzer" + "description": "Analyze and find a person's profile across 1000+ social media websites", + "source": "https://github.com/qeeqbox/social-analyzer", + "checks": [ + { + "type": "binary", + "name": "social-analyzer" + } + ], + "install_guidance": { + "plugin": "social-analyzer", + "binary": "social-analyzer", + "check": "social-analyzer --version", + "install_steps": [ + "npm install -g social-analyzer" + ], + "note": "Searches for username presence across 1000+ social media platforms. No API key required for basic usage." }, - "commands": { - "analyze": { - "command": "social-analyzer --username {username}", + "learn": { + "file": "skills/quickstart/SKILL.md" + }, + "commands": [ + { + "namespace": "social-analyzer", + "resource": "profile", + "action": "analyze", "description": "Analyze username across social media platforms", - "args": ["username"] + "adapter": "process", + "adapterConfig": { + "command": "social-analyzer", + "timeout_ms": 300000, + "missingDependencyHelp": "Install social-analyzer: npm install -g social-analyzer" + }, + "args": [ + { + "name": "--username", + "type": "string", + "required": true, + "description": "Username to analyze" + } + ] + }, + { + "namespace": "social-analyzer", + "resource": "websites", + "action": "list", + "description": "List all supported websites", + "adapter": "process", + "adapterConfig": { + "command": "social-analyzer", + "baseArgs": [ + "--websites" + ], + "missingDependencyHelp": "Install social-analyzer: npm install -g social-analyzer" + }, + "args": [] + }, + { + "namespace": "social-analyzer", + "resource": "metadata", + "action": "extract", + "description": "Extract metadata from found profiles", + "adapter": "process", + "adapterConfig": { + "command": "social-analyzer", + "baseArgs": [ + "--metadata" + ], + "timeout_ms": 300000, + "missingDependencyHelp": "Install social-analyzer: npm install -g social-analyzer" + }, + "args": [ + { + "name": "--username", + "type": "string", + "required": true, + "description": "Username to analyze" + } + ] }, - "websites": { - "command": "social-analyzer --websites", - "description": "List all supported websites" + { + "namespace": "social-analyzer", + "resource": "self", + "action": "version", + "description": "Print social-analyzer version", + "adapter": "process", + "adapterConfig": { + "command": "social-analyzer", + "baseArgs": [ + "--version" + ], + "missingDependencyHelp": "Install social-analyzer: npm install -g social-analyzer" + }, + "args": [] }, - "metadata": { - "command": "social-analyzer --metadata", - "description": "Extract metadata from found profiles" + { + "namespace": "social-analyzer", + "resource": "_", + "action": "_", + "description": "Passthrough to social-analyzer CLI", + "adapter": "process", + "adapterConfig": { + "command": "social-analyzer", + "passthrough": true, + "cwd": "invoke_cwd", + "missingDependencyHelp": "Install social-analyzer: npm install -g social-analyzer" + }, + "args": [] } - } + ] } diff --git a/plugins/sqleton/plugin.json b/plugins/sqleton/plugin.json index 5acdc9e047..90592198d4 100644 --- a/plugins/sqleton/plugin.json +++ b/plugins/sqleton/plugin.json @@ -2,69 +2,367 @@ "name": "sqleton", "version": "1.0.0", "description": "Powerful SQL CLI tool with rich output and JSON support for multiple database types", + "source": "https://github.com/go-go-golems/sqleton", + "checks": [ + { + "type": "binary", + "name": "sqleton", + "args": [ + "version" + ] + } + ], + "install_guidance": { + "plugin": "sqleton", + "binary": "sqleton", + "check": "sqleton version", + "install_steps": [ + "go install github.com/go-go-golems/sqleton@latest", + "Or download from: https://github.com/go-go-golems/sqleton/releases" + ], + "note": "sqleton is a powerful SQL CLI tool with rich output formatting, supporting MySQL, PostgreSQL, SQLite and other databases with professional-grade output" + }, + "learn": { + "file": "skills/quickstart/SKILL.md" + }, "commands": [ { - "name": "query", + "namespace": "sqleton", + "resource": "sql", + "action": "query", "description": "Execute SQL query with JSON output", - "binary": "sqleton", - "args": ["query", "--db-type", "{{.db_type}}", "--host", "{{.host}}", "--database", "{{.database}}", "--output", "json", "{{.query}}"], - "output_format": "json" + "adapter": "shell", + "adapterConfig": { + "script": "sqleton query --db-type \"{{db_type}}\" --host \"{{host}}\" --database \"{{database}}\" --output json \"{{query}}\"", + "unsafe": true + }, + "args": [ + { + "name": "db_type", + "type": "string", + "required": true, + "description": "Database type (mysql, postgres, sqlite, ...)" + }, + { + "name": "host", + "type": "string", + "required": true, + "description": "Database host" + }, + { + "name": "database", + "type": "string", + "required": true, + "description": "Database name" + }, + { + "name": "query", + "type": "string", + "required": true, + "description": "SQL query to execute" + } + ] }, { - "name": "query-mysql", + "namespace": "sqleton", + "resource": "sql", + "action": "query-mysql", "description": "Execute SQL query on MySQL with JSON output", - "binary": "sqleton", - "args": ["query", "--db-type", "mysql", "--host", "{{.host}}", "--user", "{{.user}}", "--database", "{{.database}}", "--output", "json", "{{.query}}"], - "output_format": "json" + "adapter": "shell", + "adapterConfig": { + "script": "sqleton query --db-type mysql --host \"{{host}}\" --user \"{{user}}\" --database \"{{database}}\" --output json \"{{query}}\"", + "unsafe": true + }, + "args": [ + { + "name": "host", + "type": "string", + "required": true, + "description": "Database host" + }, + { + "name": "user", + "type": "string", + "required": true, + "description": "Database user" + }, + { + "name": "database", + "type": "string", + "required": true, + "description": "Database name" + }, + { + "name": "query", + "type": "string", + "required": true, + "description": "SQL query to execute" + } + ] }, { - "name": "query-postgres", + "namespace": "sqleton", + "resource": "sql", + "action": "query-postgres", "description": "Execute SQL query on PostgreSQL with JSON output", - "binary": "sqleton", - "args": ["query", "--db-type", "postgres", "--host", "{{.host}}", "--user", "{{.user}}", "--database", "{{.database}}", "--output", "json", "{{.query}}"], - "output_format": "json" + "adapter": "shell", + "adapterConfig": { + "script": "sqleton query --db-type postgres --host \"{{host}}\" --user \"{{user}}\" --database \"{{database}}\" --output json \"{{query}}\"", + "unsafe": true + }, + "args": [ + { + "name": "host", + "type": "string", + "required": true, + "description": "Database host" + }, + { + "name": "user", + "type": "string", + "required": true, + "description": "Database user" + }, + { + "name": "database", + "type": "string", + "required": true, + "description": "Database name" + }, + { + "name": "query", + "type": "string", + "required": true, + "description": "SQL query to execute" + } + ] }, { - "name": "query-sqlite", + "namespace": "sqleton", + "resource": "sql", + "action": "query-sqlite", "description": "Execute SQL query on SQLite with JSON output", - "binary": "sqleton", - "args": ["query", "--db-type", "sqlite", "--database", "{{.database}}", "--output", "json", "{{.query}}"], - "output_format": "json" + "adapter": "shell", + "adapterConfig": { + "script": "sqleton query --db-type sqlite --database \"{{database}}\" --output json \"{{query}}\"", + "unsafe": true + }, + "args": [ + { + "name": "database", + "type": "string", + "required": true, + "description": "SQLite database file" + }, + { + "name": "query", + "type": "string", + "required": true, + "description": "SQL query to execute" + } + ] }, { - "name": "export-csv", + "namespace": "sqleton", + "resource": "export", + "action": "csv", "description": "Export query results to CSV", - "binary": "sqleton", - "args": ["query", "--db-type", "{{.db_type}}", "--host", "{{.host}}", "--database", "{{.database}}", "--output", "csv", "{{.query}}"], - "output_format": "csv" + "adapter": "shell", + "adapterConfig": { + "script": "sqleton query --db-type \"{{db_type}}\" --host \"{{host}}\" --database \"{{database}}\" --output csv \"{{query}}\"", + "unsafe": true + }, + "args": [ + { + "name": "db_type", + "type": "string", + "required": true, + "description": "Database type (mysql, postgres, sqlite, ...)" + }, + { + "name": "host", + "type": "string", + "required": true, + "description": "Database host" + }, + { + "name": "database", + "type": "string", + "required": true, + "description": "Database name" + }, + { + "name": "query", + "type": "string", + "required": true, + "description": "SQL query to execute" + } + ] }, { - "name": "export-yaml", + "namespace": "sqleton", + "resource": "export", + "action": "yaml", "description": "Export query results to YAML", - "binary": "sqleton", - "args": ["query", "--db-type", "{{.db_type}}", "--host", "{{.host}}", "--database", "{{.database}}", "--output", "yaml", "{{.query}}"], - "output_format": "yaml" + "adapter": "shell", + "adapterConfig": { + "script": "sqleton query --db-type \"{{db_type}}\" --host \"{{host}}\" --database \"{{database}}\" --output yaml \"{{query}}\"", + "unsafe": true + }, + "args": [ + { + "name": "db_type", + "type": "string", + "required": true, + "description": "Database type (mysql, postgres, sqlite, ...)" + }, + { + "name": "host", + "type": "string", + "required": true, + "description": "Database host" + }, + { + "name": "database", + "type": "string", + "required": true, + "description": "Database name" + }, + { + "name": "query", + "type": "string", + "required": true, + "description": "SQL query to execute" + } + ] }, { - "name": "list-tables", + "namespace": "sqleton", + "resource": "tables", + "action": "list", "description": "List all tables in database", - "binary": "sqleton", - "args": ["db", "ls-tables", "--db-type", "{{.db_type}}", "--host", "{{.host}}", "--database", "{{.database}}"], - "output_format": "json" + "adapter": "shell", + "adapterConfig": { + "script": "sqleton db ls-tables --db-type \"{{db_type}}\" --host \"{{host}}\" --database \"{{database}}\"", + "unsafe": true + }, + "args": [ + { + "name": "db_type", + "type": "string", + "required": true, + "description": "Database type (mysql, postgres, sqlite, ...)" + }, + { + "name": "host", + "type": "string", + "required": true, + "description": "Database host" + }, + { + "name": "database", + "type": "string", + "required": true, + "description": "Database name" + } + ] }, { - "name": "describe-table", + "namespace": "sqleton", + "resource": "table", + "action": "describe", "description": "Describe table structure", - "binary": "sqleton", - "args": ["select", "--table", "{{.table}}", "--describe", "--db-type", "{{.db_type}}", "--host", "{{.host}}", "--database", "{{.database}}"], - "output_format": "json" + "adapter": "shell", + "adapterConfig": { + "script": "sqleton select --table \"{{table}}\" --describe --db-type \"{{db_type}}\" --host \"{{host}}\" --database \"{{database}}\"", + "unsafe": true + }, + "args": [ + { + "name": "table", + "type": "string", + "required": true, + "description": "Table name" + }, + { + "name": "db_type", + "type": "string", + "required": true, + "description": "Database type (mysql, postgres, sqlite, ...)" + }, + { + "name": "host", + "type": "string", + "required": true, + "description": "Database host" + }, + { + "name": "database", + "type": "string", + "required": true, + "description": "Database name" + } + ] }, { - "name": "test-connection", + "namespace": "sqleton", + "resource": "connection", + "action": "test", "description": "Test database connection", - "binary": "sqleton", - "args": ["db", "test", "--db-type", "{{.db_type}}", "--host", "{{.host}}", "--database", "{{.database}}"], - "output_format": "text" + "adapter": "shell", + "adapterConfig": { + "script": "sqleton db test --db-type \"{{db_type}}\" --host \"{{host}}\" --database \"{{database}}\"", + "unsafe": true + }, + "args": [ + { + "name": "db_type", + "type": "string", + "required": true, + "description": "Database type (mysql, postgres, sqlite, ...)" + }, + { + "name": "host", + "type": "string", + "required": true, + "description": "Database host" + }, + { + "name": "database", + "type": "string", + "required": true, + "description": "Database name" + } + ] + }, + { + "namespace": "sqleton", + "resource": "self", + "action": "version", + "description": "Print sqleton version", + "adapter": "process", + "adapterConfig": { + "command": "sqleton", + "baseArgs": [ + "version" + ], + "missingDependencyHelp": "Install sqleton: go install github.com/go-go-golems/sqleton@latest" + }, + "args": [] + }, + { + "namespace": "sqleton", + "resource": "_", + "action": "_", + "description": "Passthrough to sqleton CLI", + "adapter": "process", + "adapterConfig": { + "command": "sqleton", + "passthrough": true, + "cwd": "invoke_cwd", + "missingDependencyHelp": "Install sqleton: go install github.com/go-go-golems/sqleton@latest" + }, + "args": [] } ] -} \ No newline at end of file +} diff --git a/plugins/stride/plugin.json b/plugins/stride/plugin.json index 2a4e7250c6..483c48f699 100644 --- a/plugins/stride/plugin.json +++ b/plugins/stride/plugin.json @@ -2,118 +2,434 @@ "name": "stride", "version": "1.0.0", "description": "High-performance filesystem traversal and search tool with JSON output support", + "source": "https://github.com/TFMV/stride", + "checks": [ + { + "type": "binary", + "name": "stride", + "args": [ + "version" + ] + } + ], + "install_guidance": { + "plugin": "stride", + "binary": "stride", + "check": "stride version", + "install_steps": [ + "go install github.com/TFMV/stride@latest", + "Or download from: https://github.com/TFMV/stride/releases" + ], + "note": "stride is a high-performance filesystem traversal tool that extends filepath.Walk with concurrency, filtering, and monitoring capabilities. Requires Go 1.24.0 or later." + }, + "learn": { + "file": "skills/quickstart/SKILL.md" + }, "commands": [ { - "name": "walk", + "namespace": "stride", + "resource": "tree", + "action": "walk", "description": "Traverse directory with JSON output", - "binary": "stride", - "args": ["{{.path}}", "--format=json"], - "output_format": "json" + "adapter": "shell", + "adapterConfig": { + "script": "stride \"{{path}}\" --format=json", + "unsafe": true + }, + "args": [ + { + "name": "path", + "type": "string", + "required": true, + "description": "Directory path" + } + ] }, { - "name": "walk-workers", + "namespace": "stride", + "resource": "tree", + "action": "walk-workers", "description": "Traverse directory with custom worker count", - "binary": "stride", - "args": ["{{.path}}", "--format=json", "--workers={{.workers}}"], - "output_format": "json" + "adapter": "shell", + "adapterConfig": { + "script": "stride \"{{path}}\" --format=json --workers=\"{{workers}}\"", + "unsafe": true + }, + "args": [ + { + "name": "path", + "type": "string", + "required": true, + "description": "Directory path" + }, + { + "name": "workers", + "type": "string", + "required": true, + "description": "Worker thread count" + } + ] }, { - "name": "find-name", + "namespace": "stride", + "resource": "find", + "action": "name", "description": "Find files by name pattern with JSON output", - "binary": "stride", - "args": ["find", "{{.path}}", "--name={{.pattern}}", "--format=json"], - "output_format": "json" + "adapter": "shell", + "adapterConfig": { + "script": "stride find \"{{path}}\" --name=\"{{pattern}}\" --format=json", + "unsafe": true + }, + "args": [ + { + "name": "path", + "type": "string", + "required": true, + "description": "Directory path" + }, + { + "name": "pattern", + "type": "string", + "required": true, + "description": "Filename pattern" + } + ] }, { - "name": "find-regex", + "namespace": "stride", + "resource": "find", + "action": "regex", "description": "Find files by regex pattern with JSON output", - "binary": "stride", - "args": ["find", "{{.path}}", "--regex={{.pattern}}", "--format=json"], - "output_format": "json" + "adapter": "shell", + "adapterConfig": { + "script": "stride find \"{{path}}\" --regex=\"{{pattern}}\" --format=json", + "unsafe": true + }, + "args": [ + { + "name": "path", + "type": "string", + "required": true, + "description": "Directory path" + }, + { + "name": "pattern", + "type": "string", + "required": true, + "description": "Regex pattern" + } + ] }, { - "name": "find-large", + "namespace": "stride", + "resource": "find", + "action": "large", "description": "Find files larger than specified size", - "binary": "stride", - "args": ["find", "{{.path}}", "--larger-than={{.size}}", "--format=json"], - "output_format": "json" + "adapter": "shell", + "adapterConfig": { + "script": "stride find \"{{path}}\" --larger-than=\"{{size}}\" --format=json", + "unsafe": true + }, + "args": [ + { + "name": "path", + "type": "string", + "required": true, + "description": "Directory path" + }, + { + "name": "size", + "type": "string", + "required": true, + "description": "Size threshold (e.g. 100M)" + } + ] }, { - "name": "find-small", + "namespace": "stride", + "resource": "find", + "action": "small", "description": "Find files smaller than specified size", - "binary": "stride", - "args": ["find", "{{.path}}", "--smaller-than={{.size}}", "--format=json"], - "output_format": "json" + "adapter": "shell", + "adapterConfig": { + "script": "stride find \"{{path}}\" --smaller-than=\"{{size}}\" --format=json", + "unsafe": true + }, + "args": [ + { + "name": "path", + "type": "string", + "required": true, + "description": "Directory path" + }, + { + "name": "size", + "type": "string", + "required": true, + "description": "Size threshold (e.g. 10K)" + } + ] }, { - "name": "find-recent", + "namespace": "stride", + "resource": "find", + "action": "recent", "description": "Find files modified recently", - "binary": "stride", - "args": ["find", "{{.path}}", "--newer-than={{.time}}", "--format=json"], - "output_format": "json" + "adapter": "shell", + "adapterConfig": { + "script": "stride find \"{{path}}\" --newer-than=\"{{time}}\" --format=json", + "unsafe": true + }, + "args": [ + { + "name": "path", + "type": "string", + "required": true, + "description": "Directory path" + }, + { + "name": "time", + "type": "string", + "required": true, + "description": "Time threshold (e.g. 1h, 30m)" + } + ] }, { - "name": "find-old", + "namespace": "stride", + "resource": "find", + "action": "old", "description": "Find files older than specified time", - "binary": "stride", - "args": ["find", "{{.path}}", "--older-than={{.time}}", "--format=json"], - "output_format": "json" + "adapter": "shell", + "adapterConfig": { + "script": "stride find \"{{path}}\" --older-than=\"{{time}}\" --format=json", + "unsafe": true + }, + "args": [ + { + "name": "path", + "type": "string", + "required": true, + "description": "Directory path" + }, + { + "name": "time", + "type": "string", + "required": true, + "description": "Time threshold (e.g. 7d)" + } + ] }, { - "name": "find-depth", + "namespace": "stride", + "resource": "find", + "action": "depth", "description": "Find files with maximum depth limit", - "binary": "stride", - "args": ["find", "{{.path}}", "--max-depth={{.depth}}", "--format=json"], - "output_format": "json" + "adapter": "shell", + "adapterConfig": { + "script": "stride find \"{{path}}\" --max-depth=\"{{depth}}\" --format=json", + "unsafe": true + }, + "args": [ + { + "name": "path", + "type": "string", + "required": true, + "description": "Directory path" + }, + { + "name": "depth", + "type": "string", + "required": true, + "description": "Max directory depth" + } + ] }, { - "name": "find-permissions", + "namespace": "stride", + "resource": "find", + "action": "permissions", "description": "Find files by exact permissions", - "binary": "stride", - "args": ["find", "{{.path}}", "--exact-permissions={{.perms}}", "--format=json"], - "output_format": "json" + "adapter": "shell", + "adapterConfig": { + "script": "stride find \"{{path}}\" --exact-permissions=\"{{perms}}\" --format=json", + "unsafe": true + }, + "args": [ + { + "name": "path", + "type": "string", + "required": true, + "description": "Directory path" + }, + { + "name": "perms", + "type": "string", + "required": true, + "description": "Permission bits (e.g. 644)" + } + ] }, { - "name": "watch", + "namespace": "stride", + "resource": "dir", + "action": "watch", "description": "Watch directory for changes with JSON output", - "binary": "stride", - "args": ["watch", "{{.path}}", "--format=json"], - "output_format": "json" + "adapter": "shell", + "adapterConfig": { + "script": "stride watch \"{{path}}\" --format=json", + "unsafe": true + }, + "args": [ + { + "name": "path", + "type": "string", + "required": true, + "description": "Directory path" + } + ] }, { - "name": "watch-pattern", + "namespace": "stride", + "resource": "dir", + "action": "watch-pattern", "description": "Watch for specific file patterns", - "binary": "stride", - "args": ["watch", "{{.path}}", "--pattern={{.pattern}}", "--format=json"], - "output_format": "json" + "adapter": "shell", + "adapterConfig": { + "script": "stride watch \"{{path}}\" --pattern=\"{{pattern}}\" --format=json", + "unsafe": true + }, + "args": [ + { + "name": "path", + "type": "string", + "required": true, + "description": "Directory path" + }, + { + "name": "pattern", + "type": "string", + "required": true, + "description": "File pattern to watch" + } + ] }, { - "name": "watch-events", + "namespace": "stride", + "resource": "dir", + "action": "watch-events", "description": "Watch for specific event types", - "binary": "stride", - "args": ["watch", "{{.path}}", "--events={{.events}}", "--format=json"], - "output_format": "json" + "adapter": "shell", + "adapterConfig": { + "script": "stride watch \"{{path}}\" --events=\"{{events}}\" --format=json", + "unsafe": true + }, + "args": [ + { + "name": "path", + "type": "string", + "required": true, + "description": "Directory path" + }, + { + "name": "events", + "type": "string", + "required": true, + "description": "Event types to watch" + } + ] }, { - "name": "analyze", + "namespace": "stride", + "resource": "dir", + "action": "analyze", "description": "Analyze directory structure with JSON output", - "binary": "stride", - "args": ["analyze", "{{.path}}", "--format=json"], - "output_format": "json" + "adapter": "shell", + "adapterConfig": { + "script": "stride analyze \"{{path}}\" --format=json", + "unsafe": true + }, + "args": [ + { + "name": "path", + "type": "string", + "required": true, + "description": "Directory path" + } + ] }, { - "name": "analyze-duplicates", + "namespace": "stride", + "resource": "dir", + "action": "analyze-duplicates", "description": "Find duplicate files with JSON output", - "binary": "stride", - "args": ["analyze", "{{.path}}", "--duplicates", "--format=json"], - "output_format": "json" + "adapter": "shell", + "adapterConfig": { + "script": "stride analyze \"{{path}}\" --duplicates --format=json", + "unsafe": true + }, + "args": [ + { + "name": "path", + "type": "string", + "required": true, + "description": "Directory path" + } + ] }, { - "name": "analyze-code", + "namespace": "stride", + "resource": "dir", + "action": "analyze-code", "description": "Analyze code statistics with JSON output", - "binary": "stride", - "args": ["analyze", "{{.path}}", "--code-stats", "--languages={{.langs}}", "--format=json"], - "output_format": "json" + "adapter": "shell", + "adapterConfig": { + "script": "stride analyze \"{{path}}\" --code-stats --languages=\"{{langs}}\" --format=json", + "unsafe": true + }, + "args": [ + { + "name": "path", + "type": "string", + "required": true, + "description": "Directory path" + }, + { + "name": "langs", + "type": "string", + "required": true, + "description": "Comma-separated languages" + } + ] + }, + { + "namespace": "stride", + "resource": "self", + "action": "version", + "description": "Print stride version", + "adapter": "process", + "adapterConfig": { + "command": "stride", + "baseArgs": [ + "version" + ], + "missingDependencyHelp": "Install stride: go install github.com/TFMV/stride@latest" + }, + "args": [] + }, + { + "namespace": "stride", + "resource": "_", + "action": "_", + "description": "Passthrough to stride CLI", + "adapter": "process", + "adapterConfig": { + "command": "stride", + "passthrough": true, + "cwd": "invoke_cwd", + "missingDependencyHelp": "Install stride: go install github.com/TFMV/stride@latest" + }, + "args": [] } ] -} \ No newline at end of file +} diff --git a/plugins/superfile/plugin.json b/plugins/superfile/plugin.json index 2151653812..d499615873 100644 --- a/plugins/superfile/plugin.json +++ b/plugins/superfile/plugin.json @@ -1,22 +1,92 @@ { "name": "superfile", - "description": "Pretty fancy and modern terminal file manager", "version": "1.0.0", - "binary": "spf", - "check": "spf --version", - "install": { - "method": "brew", - "command": "brew install superfile" + "description": "Pretty fancy and modern terminal file manager", + "source": "https://github.com/yorukot/superfile", + "checks": [ + { + "type": "binary", + "name": "spf" + } + ], + "install_guidance": { + "plugin": "superfile", + "binary": "spf", + "check": "spf --version", + "install_steps": [ + "Install via Homebrew: brew install superfile", + "Or download binary from GitHub releases: https://github.com/yorukot/superfile/releases", + "Or install via Go: go install github.com/yorukot/superfile@latest" + ], + "note": "Binary is named 'spf'. Make sure your PATH includes the Go bin directory if installing via go install." }, - "commands": { - "open": { - "command": "spf", - "description": "Open superfile file manager in current directory" + "learn": { + "file": "skills/quickstart/SKILL.md" + }, + "commands": [ + { + "namespace": "superfile", + "resource": "files", + "action": "open", + "description": "Open superfile file manager in current directory", + "adapter": "process", + "adapterConfig": { + "command": "spf", + "missingDependencyHelp": "Install spf: Install via Homebrew: brew install superfile" + }, + "args": [] }, - "open-path": { - "command": "spf {path}", + { + "namespace": "superfile", + "resource": "files", + "action": "open-path", "description": "Open superfile at specific path", - "args": ["path"] + "adapter": "process", + "adapterConfig": { + "command": "spf", + "positionalArgs": [ + "path" + ], + "missingDependencyHelp": "Install spf: Install via Homebrew: brew install superfile" + }, + "args": [ + { + "name": "path", + "type": "string", + "required": true, + "description": "Directory path to open", + "positional": true + } + ] + }, + { + "namespace": "superfile", + "resource": "self", + "action": "version", + "description": "Print spf version", + "adapter": "process", + "adapterConfig": { + "command": "spf", + "baseArgs": [ + "--version" + ], + "missingDependencyHelp": "Install spf: Install via Homebrew: brew install superfile" + }, + "args": [] + }, + { + "namespace": "superfile", + "resource": "_", + "action": "_", + "description": "Passthrough to spf CLI", + "adapter": "process", + "adapterConfig": { + "command": "spf", + "passthrough": true, + "cwd": "invoke_cwd", + "missingDependencyHelp": "Install spf: Install via Homebrew: brew install superfile" + }, + "args": [] } - } + ] } diff --git a/plugins/surf/plugin.json b/plugins/surf/plugin.json index b379194192..b52c01075d 100644 --- a/plugins/surf/plugin.json +++ b/plugins/surf/plugin.json @@ -2,26 +2,122 @@ "name": "surf", "version": "1.0.0", "description": "CLI for AI agents to control Chrome", - "commands": [ + "source": "https://www.npmjs.com/package/surf-cli", + "checks": [ { - "name": "version", - "description": "Get surf CLI version", - "command": "surf --version" - }, + "type": "binary", + "name": "surf" + } + ], + "install_guidance": { + "plugin": "surf", + "binary": "surf", + "check": "surf --version", + "install_steps": [ + "npm install -g surf-cli" + ], + "note": "Requires Node.js and npm installed globally" + }, + "learn": { + "file": "skills/quickstart/SKILL.md" + }, + "commands": [ { - "name": "browse", + "namespace": "surf", + "resource": "page", + "action": "browse", "description": "Navigate to a URL", - "command": "surf browse " + "adapter": "process", + "adapterConfig": { + "command": "surf", + "baseArgs": [ + "browse" + ], + "positionalArgs": [ + "url" + ], + "missingDependencyHelp": "Install surf: npm install -g surf-cli" + }, + "args": [ + { + "name": "url", + "type": "string", + "required": true, + "description": "URL to open", + "positional": true + } + ] }, { - "name": "screenshot", + "namespace": "surf", + "resource": "page", + "action": "screenshot", "description": "Take a screenshot of the current page", - "command": "surf screenshot" + "adapter": "process", + "adapterConfig": { + "command": "surf", + "baseArgs": [ + "screenshot" + ], + "timeout_ms": 60000, + "missingDependencyHelp": "Install surf: npm install -g surf-cli" + }, + "args": [] }, { - "name": "evaluate", + "namespace": "surf", + "resource": "page", + "action": "evaluate", "description": "Execute JavaScript in the browser", - "command": "surf evaluate