tpmjs/packages/cli/oclif.manifest.json
Ajax Davis a52d32c367 feat: add resend tools, MCP collection endpoint, and UI refinements
- Add @tpmjs/tools-resend with email API tools and blocks.yml entries
- Add MCP route for collection skill discovery
- Add InstallationSection component for collections
- Refactor collection pages to use shared components and simplify layouts
- Update skills questions API, rate limiting, and API key handling
- Add tpmjs-tool-creator skill for Claude
- Update video feature scenes and fix lint issues
- Update .gitignore with IDE and temp file exclusions
2026-02-07 00:49:40 +10:00

1925 lines
55 KiB
JSON

{
"commands": {
"doctor": {
"aliases": [],
"args": {},
"description": "Run diagnostic checks for TPMJS CLI",
"examples": ["<%= config.bin %> <%= command.id %>"],
"flags": {
"json": {
"description": "Output in JSON format",
"name": "json",
"allowNo": false,
"type": "boolean"
},
"verbose": {
"char": "v",
"description": "Show verbose output",
"name": "verbose",
"allowNo": false,
"type": "boolean"
}
},
"hasDynamicHelp": false,
"hiddenAliases": [],
"id": "doctor",
"pluginAlias": "@tpmjs/cli",
"pluginName": "@tpmjs/cli",
"pluginType": "core",
"strict": true,
"enableJsonFlag": false,
"isESM": true,
"relativePath": ["dist", "commands", "doctor.js"]
},
"playground": {
"aliases": [],
"args": {},
"description": "Interactive playground for testing tools",
"examples": [
"<%= config.bin %> <%= command.id %>",
"<%= config.bin %> <%= command.id %> --tool firecrawl-scrape",
"<%= config.bin %> <%= command.id %> --web"
],
"flags": {
"tool": {
"char": "t",
"description": "Start with a specific tool selected",
"name": "tool",
"hasDynamicHelp": false,
"multiple": false,
"type": "option"
},
"web": {
"char": "w",
"description": "Open the web playground instead",
"name": "web",
"allowNo": false,
"type": "boolean"
},
"verbose": {
"char": "v",
"description": "Show verbose output",
"name": "verbose",
"allowNo": false,
"type": "boolean"
}
},
"hasDynamicHelp": false,
"hiddenAliases": [],
"id": "playground",
"pluginAlias": "@tpmjs/cli",
"pluginName": "@tpmjs/cli",
"pluginType": "core",
"strict": true,
"enableJsonFlag": false,
"isESM": true,
"relativePath": ["dist", "commands", "playground.js"]
},
"run": {
"aliases": [],
"args": {},
"description": "Execute a tool from a collection via MCP",
"examples": [
{
"description": "First, list all tools in a collection",
"command": "<%= config.bin %> collection info ajax/unsandbox"
},
{
"description": "Execute Python code in the unsandbox collection",
"command": "<%= config.bin %> run -c ajax/unsandbox -t unsandbox--execute --args '{\"language\":\"python\",\"code\":\"print(42)\"}'"
},
{
"description": "Pass environment variables for tool authentication",
"command": "<%= config.bin %> run -c ajax/unsandbox -t unsandbox--execute -e UNSANDBOX_PUBLIC_KEY=xxx -e UNSANDBOX_SECRET_KEY=xxx --args '{\"language\":\"python\",\"code\":\"print(1)\"}'"
},
{
"description": "Output result as JSON",
"command": "<%= config.bin %> run -c ajax/tools -t search --args '{\"query\":\"test\"}' --json"
},
{
"description": "Show verbose output for debugging",
"command": "<%= config.bin %> run -c ajax/unsandbox -t unsandbox--healthCheck --args '{}' -v"
}
],
"flags": {
"collection": {
"char": "c",
"description": "Collection identifier (username/slug)",
"name": "collection",
"required": true,
"hasDynamicHelp": false,
"multiple": false,
"type": "option"
},
"tool": {
"char": "t",
"description": "Tool name (MCP format: package--toolName)",
"name": "tool",
"required": true,
"hasDynamicHelp": false,
"multiple": false,
"type": "option"
},
"args": {
"char": "a",
"description": "Tool arguments as JSON string",
"name": "args",
"default": "{}",
"hasDynamicHelp": false,
"multiple": false,
"type": "option"
},
"env": {
"char": "e",
"description": "Environment variables (key=value)",
"name": "env",
"hasDynamicHelp": false,
"multiple": true,
"type": "option"
},
"json": {
"description": "Output result as JSON",
"name": "json",
"allowNo": false,
"type": "boolean"
},
"verbose": {
"char": "v",
"description": "Show verbose output",
"name": "verbose",
"allowNo": false,
"type": "boolean"
},
"timeout": {
"description": "Request timeout in seconds",
"name": "timeout",
"default": 60,
"hasDynamicHelp": false,
"multiple": false,
"type": "option"
}
},
"hasDynamicHelp": false,
"hiddenAliases": [],
"id": "run",
"pluginAlias": "@tpmjs/cli",
"pluginName": "@tpmjs/cli",
"pluginType": "core",
"strict": true,
"enableJsonFlag": false,
"isESM": true,
"relativePath": ["dist", "commands", "run.js"]
},
"update": {
"aliases": [],
"args": {},
"description": "Update the TPMJS CLI to the latest version",
"examples": ["<%= config.bin %> <%= command.id %>"],
"flags": {
"json": {
"description": "Output in JSON format",
"name": "json",
"allowNo": false,
"type": "boolean"
},
"verbose": {
"char": "v",
"description": "Show verbose output",
"name": "verbose",
"allowNo": false,
"type": "boolean"
},
"check": {
"description": "Only check for updates, do not install",
"name": "check",
"allowNo": false,
"type": "boolean"
}
},
"hasDynamicHelp": false,
"hiddenAliases": [],
"id": "update",
"pluginAlias": "@tpmjs/cli",
"pluginName": "@tpmjs/cli",
"pluginType": "core",
"strict": true,
"enableJsonFlag": false,
"isESM": true,
"relativePath": ["dist", "commands", "update.js"]
},
"agent:chat": {
"aliases": [],
"args": {
"agent": {
"description": "Agent ID or UID",
"name": "agent",
"required": true
},
"message": {
"description": "Message to send (required unless --interactive)",
"name": "message"
}
},
"description": "Chat with an agent",
"examples": [
"<%= config.bin %> <%= command.id %> my-agent \"Hello!\"",
"<%= config.bin %> <%= command.id %> my-agent --interactive",
"<%= config.bin %> <%= command.id %> my-agent -i"
],
"flags": {
"interactive": {
"char": "i",
"description": "Enter interactive chat mode (REPL)",
"name": "interactive",
"allowNo": false,
"type": "boolean"
},
"conversation": {
"char": "c",
"description": "Continue existing conversation by ID",
"name": "conversation",
"hasDynamicHelp": false,
"multiple": false,
"type": "option"
},
"json": {
"description": "Output in JSON format",
"name": "json",
"allowNo": false,
"type": "boolean"
},
"verbose": {
"char": "v",
"description": "Show verbose output",
"name": "verbose",
"allowNo": false,
"type": "boolean"
}
},
"hasDynamicHelp": false,
"hiddenAliases": [],
"id": "agent:chat",
"pluginAlias": "@tpmjs/cli",
"pluginName": "@tpmjs/cli",
"pluginType": "core",
"strict": true,
"enableJsonFlag": false,
"isESM": true,
"relativePath": ["dist", "commands", "agent", "chat.js"]
},
"agent:create": {
"aliases": [],
"args": {},
"description": "Create a new agent",
"examples": [
"<%= config.bin %> <%= command.id %> --name \"My Agent\" --provider ANTHROPIC --model claude-3-5-sonnet-20241022",
"<%= config.bin %> <%= command.id %> --name \"GPT Agent\" --provider OPENAI --model gpt-4o --public"
],
"flags": {
"name": {
"char": "n",
"description": "Agent name",
"name": "name",
"required": true,
"hasDynamicHelp": false,
"multiple": false,
"type": "option"
},
"uid": {
"description": "Unique identifier (URL-friendly)",
"name": "uid",
"hasDynamicHelp": false,
"multiple": false,
"type": "option"
},
"description": {
"char": "d",
"description": "Agent description",
"name": "description",
"hasDynamicHelp": false,
"multiple": false,
"type": "option"
},
"provider": {
"char": "p",
"description": "AI provider (ANTHROPIC, OPENAI, GOOGLE, GROQ, MISTRAL)",
"name": "provider",
"required": true,
"hasDynamicHelp": false,
"multiple": false,
"options": ["ANTHROPIC", "OPENAI", "GOOGLE", "GROQ", "MISTRAL"],
"type": "option"
},
"model": {
"char": "m",
"description": "Model ID",
"name": "model",
"required": true,
"hasDynamicHelp": false,
"multiple": false,
"type": "option"
},
"system-prompt": {
"char": "s",
"description": "System prompt",
"name": "system-prompt",
"hasDynamicHelp": false,
"multiple": false,
"type": "option"
},
"temperature": {
"char": "t",
"description": "Temperature (0-2)",
"name": "temperature",
"default": "0.7",
"hasDynamicHelp": false,
"multiple": false,
"type": "option"
},
"public": {
"description": "Make agent public",
"name": "public",
"allowNo": false,
"type": "boolean"
},
"json": {
"description": "Output in JSON format",
"name": "json",
"allowNo": false,
"type": "boolean"
},
"verbose": {
"char": "v",
"description": "Show verbose output",
"name": "verbose",
"allowNo": false,
"type": "boolean"
}
},
"hasDynamicHelp": false,
"hiddenAliases": [],
"id": "agent:create",
"pluginAlias": "@tpmjs/cli",
"pluginName": "@tpmjs/cli",
"pluginType": "core",
"strict": true,
"enableJsonFlag": false,
"isESM": true,
"relativePath": ["dist", "commands", "agent", "create.js"]
},
"agent:delete": {
"aliases": [],
"args": {
"id": {
"description": "Agent ID or UID",
"name": "id",
"required": true
}
},
"description": "Delete an agent",
"examples": [
"<%= config.bin %> <%= command.id %> my-agent",
"<%= config.bin %> <%= command.id %> my-agent --force"
],
"flags": {
"force": {
"char": "f",
"description": "Skip confirmation prompt",
"name": "force",
"allowNo": false,
"type": "boolean"
},
"json": {
"description": "Output in JSON format",
"name": "json",
"allowNo": false,
"type": "boolean"
},
"verbose": {
"char": "v",
"description": "Show verbose output",
"name": "verbose",
"allowNo": false,
"type": "boolean"
}
},
"hasDynamicHelp": false,
"hiddenAliases": [],
"id": "agent:delete",
"pluginAlias": "@tpmjs/cli",
"pluginName": "@tpmjs/cli",
"pluginType": "core",
"strict": true,
"enableJsonFlag": false,
"isESM": true,
"relativePath": ["dist", "commands", "agent", "delete.js"]
},
"agent:list": {
"aliases": [],
"args": {},
"description": "List your agents",
"examples": [
"<%= config.bin %> <%= command.id %>",
"<%= config.bin %> <%= command.id %> --limit 10"
],
"flags": {
"limit": {
"char": "l",
"description": "Maximum number of results",
"name": "limit",
"default": 20,
"hasDynamicHelp": false,
"multiple": false,
"type": "option"
},
"offset": {
"char": "o",
"description": "Offset for pagination",
"name": "offset",
"default": 0,
"hasDynamicHelp": false,
"multiple": false,
"type": "option"
},
"json": {
"description": "Output in JSON format",
"name": "json",
"allowNo": false,
"type": "boolean"
},
"verbose": {
"char": "v",
"description": "Show verbose output",
"name": "verbose",
"allowNo": false,
"type": "boolean"
}
},
"hasDynamicHelp": false,
"hiddenAliases": [],
"id": "agent:list",
"pluginAlias": "@tpmjs/cli",
"pluginName": "@tpmjs/cli",
"pluginType": "core",
"strict": true,
"enableJsonFlag": false,
"isESM": true,
"relativePath": ["dist", "commands", "agent", "list.js"]
},
"agent:update": {
"aliases": [],
"args": {
"id": {
"description": "Agent ID or UID",
"name": "id",
"required": true
}
},
"description": "Update an agent",
"examples": [
"<%= config.bin %> <%= command.id %> my-agent --name \"New Name\"",
"<%= config.bin %> <%= command.id %> my-agent --temperature 0.5 --public false"
],
"flags": {
"name": {
"char": "n",
"description": "Agent name",
"name": "name",
"hasDynamicHelp": false,
"multiple": false,
"type": "option"
},
"uid": {
"description": "Unique identifier (URL-friendly)",
"name": "uid",
"hasDynamicHelp": false,
"multiple": false,
"type": "option"
},
"description": {
"char": "d",
"description": "Agent description",
"name": "description",
"hasDynamicHelp": false,
"multiple": false,
"type": "option"
},
"provider": {
"char": "p",
"description": "AI provider",
"name": "provider",
"hasDynamicHelp": false,
"multiple": false,
"options": ["ANTHROPIC", "OPENAI", "GOOGLE", "GROQ", "MISTRAL"],
"type": "option"
},
"model": {
"char": "m",
"description": "Model ID",
"name": "model",
"hasDynamicHelp": false,
"multiple": false,
"type": "option"
},
"system-prompt": {
"char": "s",
"description": "System prompt",
"name": "system-prompt",
"hasDynamicHelp": false,
"multiple": false,
"type": "option"
},
"temperature": {
"char": "t",
"description": "Temperature (0-2)",
"name": "temperature",
"hasDynamicHelp": false,
"multiple": false,
"type": "option"
},
"public": {
"description": "Make agent public",
"name": "public",
"allowNo": true,
"type": "boolean"
},
"json": {
"description": "Output in JSON format",
"name": "json",
"allowNo": false,
"type": "boolean"
},
"verbose": {
"char": "v",
"description": "Show verbose output",
"name": "verbose",
"allowNo": false,
"type": "boolean"
}
},
"hasDynamicHelp": false,
"hiddenAliases": [],
"id": "agent:update",
"pluginAlias": "@tpmjs/cli",
"pluginName": "@tpmjs/cli",
"pluginType": "core",
"strict": true,
"enableJsonFlag": false,
"isESM": true,
"relativePath": ["dist", "commands", "agent", "update.js"]
},
"auth:login": {
"aliases": [],
"args": {
"key": {
"description": "API key (alternative to --api-key flag)",
"name": "key",
"required": false
}
},
"description": "Authenticate with TPMJS",
"examples": [
"<%= config.bin %> <%= command.id %> --api-key tpm_xxxxx",
"<%= config.bin %> <%= command.id %> --browser"
],
"flags": {
"api-key": {
"char": "k",
"description": "API key (or set TPMJS_API_KEY environment variable)",
"name": "api-key",
"hasDynamicHelp": false,
"multiple": false,
"type": "option"
},
"browser": {
"char": "b",
"description": "Open browser for OAuth authentication",
"name": "browser",
"allowNo": false,
"type": "boolean"
},
"json": {
"description": "Output in JSON format",
"name": "json",
"allowNo": false,
"type": "boolean"
},
"verbose": {
"char": "v",
"description": "Show verbose output",
"name": "verbose",
"allowNo": false,
"type": "boolean"
}
},
"hasDynamicHelp": false,
"hiddenAliases": [],
"id": "auth:login",
"pluginAlias": "@tpmjs/cli",
"pluginName": "@tpmjs/cli",
"pluginType": "core",
"strict": true,
"enableJsonFlag": false,
"isESM": true,
"relativePath": ["dist", "commands", "auth", "login.js"]
},
"auth:logout": {
"aliases": [],
"args": {},
"description": "Log out from TPMJS",
"examples": ["<%= config.bin %> <%= command.id %>"],
"flags": {
"json": {
"description": "Output in JSON format",
"name": "json",
"allowNo": false,
"type": "boolean"
}
},
"hasDynamicHelp": false,
"hiddenAliases": [],
"id": "auth:logout",
"pluginAlias": "@tpmjs/cli",
"pluginName": "@tpmjs/cli",
"pluginType": "core",
"strict": true,
"enableJsonFlag": false,
"isESM": true,
"relativePath": ["dist", "commands", "auth", "logout.js"]
},
"auth:status": {
"aliases": [],
"args": {},
"description": "Show authentication status",
"examples": ["<%= config.bin %> <%= command.id %>"],
"flags": {
"json": {
"description": "Output in JSON format",
"name": "json",
"allowNo": false,
"type": "boolean"
},
"verbose": {
"char": "v",
"description": "Show verbose output",
"name": "verbose",
"allowNo": false,
"type": "boolean"
}
},
"hasDynamicHelp": false,
"hiddenAliases": [],
"id": "auth:status",
"pluginAlias": "@tpmjs/cli",
"pluginName": "@tpmjs/cli",
"pluginType": "core",
"strict": true,
"enableJsonFlag": false,
"isESM": true,
"relativePath": ["dist", "commands", "auth", "status.js"]
},
"auth:whoami": {
"aliases": [],
"args": {},
"description": "Show current user information",
"examples": ["<%= config.bin %> <%= command.id %>"],
"flags": {
"json": {
"description": "Output in JSON format",
"name": "json",
"allowNo": false,
"type": "boolean"
},
"verbose": {
"char": "v",
"description": "Show verbose output",
"name": "verbose",
"allowNo": false,
"type": "boolean"
}
},
"hasDynamicHelp": false,
"hiddenAliases": [],
"id": "auth:whoami",
"pluginAlias": "@tpmjs/cli",
"pluginName": "@tpmjs/cli",
"pluginType": "core",
"strict": true,
"enableJsonFlag": false,
"isESM": true,
"relativePath": ["dist", "commands", "auth", "whoami.js"]
},
"collection:add": {
"aliases": [],
"args": {
"collection": {
"description": "Collection ID or slug",
"name": "collection",
"required": true
}
},
"description": "Add tools to a collection",
"examples": [
"<%= config.bin %> <%= command.id %> my-collection tool-id-1",
"<%= config.bin %> <%= command.id %> my-collection tool-id-1 tool-id-2 tool-id-3"
],
"flags": {
"json": {
"description": "Output in JSON format",
"name": "json",
"allowNo": false,
"type": "boolean"
},
"verbose": {
"char": "v",
"description": "Show verbose output",
"name": "verbose",
"allowNo": false,
"type": "boolean"
}
},
"hasDynamicHelp": false,
"hiddenAliases": [],
"id": "collection:add",
"pluginAlias": "@tpmjs/cli",
"pluginName": "@tpmjs/cli",
"pluginType": "core",
"strict": false,
"enableJsonFlag": false,
"isESM": true,
"relativePath": ["dist", "commands", "collection", "add.js"]
},
"collection:create": {
"aliases": [],
"args": {},
"description": "Create a new collection",
"examples": [
"<%= config.bin %> <%= command.id %> --name \"My Tools\"",
"<%= config.bin %> <%= command.id %> --name \"Web Scrapers\" --description \"Tools for web scraping\" --public"
],
"flags": {
"name": {
"char": "n",
"description": "Collection name",
"name": "name",
"required": true,
"hasDynamicHelp": false,
"multiple": false,
"type": "option"
},
"description": {
"char": "d",
"description": "Collection description",
"name": "description",
"hasDynamicHelp": false,
"multiple": false,
"type": "option"
},
"public": {
"description": "Make collection public",
"name": "public",
"allowNo": false,
"type": "boolean"
},
"json": {
"description": "Output in JSON format",
"name": "json",
"allowNo": false,
"type": "boolean"
},
"verbose": {
"char": "v",
"description": "Show verbose output",
"name": "verbose",
"allowNo": false,
"type": "boolean"
}
},
"hasDynamicHelp": false,
"hiddenAliases": [],
"id": "collection:create",
"pluginAlias": "@tpmjs/cli",
"pluginName": "@tpmjs/cli",
"pluginType": "core",
"strict": true,
"enableJsonFlag": false,
"isESM": true,
"relativePath": ["dist", "commands", "collection", "create.js"]
},
"collection:delete": {
"aliases": [],
"args": {
"id": {
"description": "Collection ID or slug",
"name": "id",
"required": true
}
},
"description": "Delete a collection",
"examples": [
"<%= config.bin %> <%= command.id %> my-collection",
"<%= config.bin %> <%= command.id %> my-collection --force"
],
"flags": {
"force": {
"char": "f",
"description": "Skip confirmation prompt",
"name": "force",
"allowNo": false,
"type": "boolean"
},
"json": {
"description": "Output in JSON format",
"name": "json",
"allowNo": false,
"type": "boolean"
},
"verbose": {
"char": "v",
"description": "Show verbose output",
"name": "verbose",
"allowNo": false,
"type": "boolean"
}
},
"hasDynamicHelp": false,
"hiddenAliases": [],
"id": "collection:delete",
"pluginAlias": "@tpmjs/cli",
"pluginName": "@tpmjs/cli",
"pluginType": "core",
"strict": true,
"enableJsonFlag": false,
"isESM": true,
"relativePath": ["dist", "commands", "collection", "delete.js"]
},
"collection:import": {
"aliases": [],
"args": {
"collection": {
"description": "Collection ID or slug",
"name": "collection",
"required": true
}
},
"description": "Import tools to a collection from a file",
"examples": [
"<%= config.bin %> <%= command.id %> my-collection --file tools.txt",
"<%= config.bin %> <%= command.id %> my-collection --file tools.json"
],
"flags": {
"file": {
"char": "f",
"description": "File containing tool IDs (one per line or JSON array)",
"name": "file",
"required": true,
"hasDynamicHelp": false,
"multiple": false,
"type": "option"
},
"json": {
"description": "Output in JSON format",
"name": "json",
"allowNo": false,
"type": "boolean"
},
"verbose": {
"char": "v",
"description": "Show verbose output",
"name": "verbose",
"allowNo": false,
"type": "boolean"
}
},
"hasDynamicHelp": false,
"hiddenAliases": [],
"id": "collection:import",
"pluginAlias": "@tpmjs/cli",
"pluginName": "@tpmjs/cli",
"pluginType": "core",
"strict": true,
"enableJsonFlag": false,
"isESM": true,
"relativePath": ["dist", "commands", "collection", "import.js"]
},
"collection:info": {
"aliases": [],
"args": {
"collection": {
"description": "Collection identifier (username/slug)",
"name": "collection",
"required": true
}
},
"description": "Show collection details and list all available tools",
"examples": [
"<%= config.bin %> collection info ajax/unsandbox",
"<%= config.bin %> collection info ajax/unsandbox --json",
"<%= config.bin %> collection info ajax/unsandbox --verbose"
],
"flags": {
"json": {
"description": "Output in JSON format",
"name": "json",
"allowNo": false,
"type": "boolean"
},
"verbose": {
"char": "v",
"description": "Show tool input schemas",
"name": "verbose",
"allowNo": false,
"type": "boolean"
}
},
"hasDynamicHelp": false,
"hiddenAliases": [],
"id": "collection:info",
"pluginAlias": "@tpmjs/cli",
"pluginName": "@tpmjs/cli",
"pluginType": "core",
"strict": true,
"enableJsonFlag": false,
"isESM": true,
"relativePath": ["dist", "commands", "collection", "info.js"]
},
"collection:list": {
"aliases": [],
"args": {},
"description": "List your collections",
"examples": [
"<%= config.bin %> <%= command.id %>",
"<%= config.bin %> <%= command.id %> --limit 10"
],
"flags": {
"limit": {
"char": "l",
"description": "Maximum number of results",
"name": "limit",
"default": 20,
"hasDynamicHelp": false,
"multiple": false,
"type": "option"
},
"offset": {
"char": "o",
"description": "Offset for pagination",
"name": "offset",
"default": 0,
"hasDynamicHelp": false,
"multiple": false,
"type": "option"
},
"json": {
"description": "Output in JSON format",
"name": "json",
"allowNo": false,
"type": "boolean"
},
"verbose": {
"char": "v",
"description": "Show verbose output",
"name": "verbose",
"allowNo": false,
"type": "boolean"
}
},
"hasDynamicHelp": false,
"hiddenAliases": [],
"id": "collection:list",
"pluginAlias": "@tpmjs/cli",
"pluginName": "@tpmjs/cli",
"pluginType": "core",
"strict": true,
"enableJsonFlag": false,
"isESM": true,
"relativePath": ["dist", "commands", "collection", "list.js"]
},
"collection:remove": {
"aliases": [],
"args": {
"collection": {
"description": "Collection ID or slug",
"name": "collection",
"required": true
},
"tool": {
"description": "Tool ID to remove",
"name": "tool",
"required": true
}
},
"description": "Remove a tool from a collection",
"examples": ["<%= config.bin %> <%= command.id %> my-collection tool-id-1"],
"flags": {
"json": {
"description": "Output in JSON format",
"name": "json",
"allowNo": false,
"type": "boolean"
},
"verbose": {
"char": "v",
"description": "Show verbose output",
"name": "verbose",
"allowNo": false,
"type": "boolean"
}
},
"hasDynamicHelp": false,
"hiddenAliases": [],
"id": "collection:remove",
"pluginAlias": "@tpmjs/cli",
"pluginName": "@tpmjs/cli",
"pluginType": "core",
"strict": true,
"enableJsonFlag": false,
"isESM": true,
"relativePath": ["dist", "commands", "collection", "remove.js"]
},
"collection:update": {
"aliases": [],
"args": {
"id": {
"description": "Collection ID or slug",
"name": "id",
"required": true
}
},
"description": "Update a collection",
"examples": [
"<%= config.bin %> <%= command.id %> my-collection --name \"New Name\"",
"<%= config.bin %> <%= command.id %> my-collection --public"
],
"flags": {
"name": {
"char": "n",
"description": "Collection name",
"name": "name",
"hasDynamicHelp": false,
"multiple": false,
"type": "option"
},
"description": {
"char": "d",
"description": "Collection description",
"name": "description",
"hasDynamicHelp": false,
"multiple": false,
"type": "option"
},
"public": {
"description": "Make collection public",
"name": "public",
"allowNo": true,
"type": "boolean"
},
"json": {
"description": "Output in JSON format",
"name": "json",
"allowNo": false,
"type": "boolean"
},
"verbose": {
"char": "v",
"description": "Show verbose output",
"name": "verbose",
"allowNo": false,
"type": "boolean"
}
},
"hasDynamicHelp": false,
"hiddenAliases": [],
"id": "collection:update",
"pluginAlias": "@tpmjs/cli",
"pluginName": "@tpmjs/cli",
"pluginType": "core",
"strict": true,
"enableJsonFlag": false,
"isESM": true,
"relativePath": ["dist", "commands", "collection", "update.js"]
},
"mcp:config": {
"aliases": [],
"args": {
"collection": {
"description": "Collection path (username/slug)",
"name": "collection",
"required": true
}
},
"description": "Generate MCP configuration for AI clients",
"examples": [
"<%= config.bin %> <%= command.id %> ajax/ajax-collection",
"<%= config.bin %> <%= command.id %> ajax/ajax-collection --client cursor",
"<%= config.bin %> <%= command.id %> ajax/ajax-collection --output ~/Library/Application\\ Support/Claude/claude_desktop_config.json"
],
"flags": {
"client": {
"char": "c",
"description": "Target client (claude, cursor, windsurf, generic)",
"name": "client",
"default": "claude",
"hasDynamicHelp": false,
"multiple": false,
"options": ["claude", "cursor", "windsurf", "generic"],
"type": "option"
},
"output": {
"char": "o",
"description": "Output file path (will merge with existing config)",
"name": "output",
"hasDynamicHelp": false,
"multiple": false,
"type": "option"
},
"json": {
"description": "Output in JSON format",
"name": "json",
"allowNo": false,
"type": "boolean"
},
"api-key": {
"char": "k",
"description": "API key to include in config (optional)",
"name": "api-key",
"hasDynamicHelp": false,
"multiple": false,
"type": "option"
}
},
"hasDynamicHelp": false,
"hiddenAliases": [],
"id": "mcp:config",
"pluginAlias": "@tpmjs/cli",
"pluginName": "@tpmjs/cli",
"pluginType": "core",
"strict": true,
"enableJsonFlag": false,
"isESM": true,
"relativePath": ["dist", "commands", "mcp", "config.js"]
},
"mcp:serve": {
"aliases": [],
"args": {},
"description": "Run as a local MCP server",
"examples": [
"<%= config.bin %> <%= command.id %>",
"<%= config.bin %> <%= command.id %> --port 8080",
"<%= config.bin %> <%= command.id %> --stdio",
"<%= config.bin %> <%= command.id %> --collection my-collection"
],
"flags": {
"port": {
"char": "p",
"description": "Port to run the server on (HTTP mode)",
"name": "port",
"default": 3333,
"hasDynamicHelp": false,
"multiple": false,
"type": "option"
},
"stdio": {
"description": "Use stdio transport instead of HTTP",
"name": "stdio",
"allowNo": false,
"type": "boolean"
},
"collection": {
"char": "c",
"description": "Serve tools from a specific collection",
"name": "collection",
"hasDynamicHelp": false,
"multiple": false,
"type": "option"
},
"tool": {
"char": "t",
"description": "Serve specific tools (comma-separated)",
"name": "tool",
"hasDynamicHelp": false,
"multiple": true,
"type": "option"
},
"verbose": {
"char": "v",
"description": "Show verbose output",
"name": "verbose",
"allowNo": false,
"type": "boolean"
}
},
"hasDynamicHelp": false,
"hiddenAliases": [],
"id": "mcp:serve",
"pluginAlias": "@tpmjs/cli",
"pluginName": "@tpmjs/cli",
"pluginType": "core",
"strict": true,
"enableJsonFlag": false,
"isESM": true,
"relativePath": ["dist", "commands", "mcp", "serve.js"]
},
"publish:check": {
"aliases": [],
"args": {
"package": {
"description": "npm package name (defaults to current directory)",
"name": "package",
"required": false
}
},
"description": "Check if your package has been discovered by tpmjs.com",
"examples": [
"<%= config.bin %> <%= command.id %> @myorg/my-tool",
"<%= config.bin %> <%= command.id %>"
],
"flags": {
"json": {
"description": "Output in JSON format",
"name": "json",
"allowNo": false,
"type": "boolean"
},
"verbose": {
"char": "v",
"description": "Show verbose output",
"name": "verbose",
"allowNo": false,
"type": "boolean"
}
},
"hasDynamicHelp": false,
"hiddenAliases": [],
"id": "publish:check",
"pluginAlias": "@tpmjs/cli",
"pluginName": "@tpmjs/cli",
"pluginType": "core",
"strict": true,
"enableJsonFlag": false,
"isESM": true,
"relativePath": ["dist", "commands", "publish", "check.js"]
},
"publish:preview": {
"aliases": [],
"args": {},
"description": "Preview how your tool will appear on tpmjs.com",
"examples": [
"<%= config.bin %> <%= command.id %>",
"<%= config.bin %> <%= command.id %> --path ./my-tool"
],
"flags": {
"path": {
"char": "p",
"description": "Path to package directory",
"name": "path",
"default": ".",
"hasDynamicHelp": false,
"multiple": false,
"type": "option"
},
"json": {
"description": "Output in JSON format",
"name": "json",
"allowNo": false,
"type": "boolean"
},
"verbose": {
"char": "v",
"description": "Show verbose output",
"name": "verbose",
"allowNo": false,
"type": "boolean"
}
},
"hasDynamicHelp": false,
"hiddenAliases": [],
"id": "publish:preview",
"pluginAlias": "@tpmjs/cli",
"pluginName": "@tpmjs/cli",
"pluginType": "core",
"strict": true,
"enableJsonFlag": false,
"isESM": true,
"relativePath": ["dist", "commands", "publish", "preview.js"]
},
"tool:execute": {
"aliases": [],
"args": {
"tool": {
"description": "Tool slug or ID",
"name": "tool",
"required": true
}
},
"description": "Execute a TPMJS tool",
"examples": [
"<%= config.bin %> <%= command.id %> firecrawl-scrape --input '{\"url\":\"https://example.com\"}'",
"<%= config.bin %> <%= command.id %> my-tool --input-file params.json",
"<%= config.bin %> <%= command.id %> my-tool --stream"
],
"flags": {
"input": {
"char": "i",
"description": "Input parameters as JSON string",
"name": "input",
"hasDynamicHelp": false,
"multiple": false,
"type": "option"
},
"input-file": {
"char": "f",
"description": "Path to JSON file containing input parameters",
"name": "input-file",
"hasDynamicHelp": false,
"multiple": false,
"type": "option"
},
"stream": {
"char": "s",
"description": "Stream output (for tools that support it)",
"name": "stream",
"allowNo": false,
"type": "boolean"
},
"timeout": {
"char": "t",
"description": "Timeout in seconds",
"name": "timeout",
"default": 300,
"hasDynamicHelp": false,
"multiple": false,
"type": "option"
},
"json": {
"description": "Output in JSON format",
"name": "json",
"allowNo": false,
"type": "boolean"
},
"verbose": {
"char": "v",
"description": "Show verbose output",
"name": "verbose",
"allowNo": false,
"type": "boolean"
}
},
"hasDynamicHelp": false,
"hiddenAliases": [],
"id": "tool:execute",
"pluginAlias": "@tpmjs/cli",
"pluginName": "@tpmjs/cli",
"pluginType": "core",
"strict": true,
"enableJsonFlag": false,
"isESM": true,
"relativePath": ["dist", "commands", "tool", "execute.js"]
},
"tool:info": {
"aliases": [],
"args": {
"package": {
"description": "Package name (e.g., @tpmjs/official-firecrawl)",
"name": "package",
"required": true
},
"tool": {
"description": "Tool name (e.g., scrapeTool)",
"name": "tool",
"required": true
}
},
"description": "Get detailed information about a tool",
"examples": [
"<%= config.bin %> <%= command.id %> @tpmjs/official-firecrawl scrapeTool",
"<%= config.bin %> <%= command.id %> firecrawl-tool default"
],
"flags": {
"json": {
"description": "Output in JSON format",
"name": "json",
"allowNo": false,
"type": "boolean"
},
"verbose": {
"char": "v",
"description": "Show verbose output",
"name": "verbose",
"allowNo": false,
"type": "boolean"
}
},
"hasDynamicHelp": false,
"hiddenAliases": [],
"id": "tool:info",
"pluginAlias": "@tpmjs/cli",
"pluginName": "@tpmjs/cli",
"pluginType": "core",
"strict": true,
"enableJsonFlag": false,
"isESM": true,
"relativePath": ["dist", "commands", "tool", "info.js"]
},
"tool:init": {
"aliases": [],
"args": {
"name": {
"description": "Tool name (creates directory if not exists)",
"name": "name",
"required": false
}
},
"description": "Initialize a new TPMJS tool package",
"examples": [
"<%= config.bin %> <%= command.id %>",
"<%= config.bin %> <%= command.id %> my-tool",
"<%= config.bin %> <%= command.id %> --template minimal"
],
"flags": {
"template": {
"char": "t",
"description": "Template to use",
"name": "template",
"default": "minimal",
"hasDynamicHelp": false,
"multiple": false,
"options": ["minimal", "rich"],
"type": "option"
},
"category": {
"char": "c",
"description": "Tool category",
"name": "category",
"hasDynamicHelp": false,
"multiple": false,
"options": [
"research",
"web",
"data",
"documentation",
"engineering",
"security",
"statistics",
"ops",
"agent",
"sandbox",
"utilities",
"html",
"compliance"
],
"type": "option"
},
"force": {
"char": "f",
"description": "Overwrite existing files",
"name": "force",
"allowNo": false,
"type": "boolean"
},
"yes": {
"char": "y",
"description": "Skip prompts and use defaults",
"name": "yes",
"allowNo": false,
"type": "boolean"
},
"verbose": {
"char": "v",
"description": "Show verbose output",
"name": "verbose",
"allowNo": false,
"type": "boolean"
}
},
"hasDynamicHelp": false,
"hiddenAliases": [],
"id": "tool:init",
"pluginAlias": "@tpmjs/cli",
"pluginName": "@tpmjs/cli",
"pluginType": "core",
"strict": true,
"enableJsonFlag": false,
"isESM": true,
"relativePath": ["dist", "commands", "tool", "init.js"]
},
"tool:search": {
"aliases": [],
"args": {
"query": {
"description": "Search query",
"name": "query",
"required": false
}
},
"description": "Search for tools in the TPMJS registry",
"examples": [
"<%= config.bin %> <%= command.id %> firecrawl",
"<%= config.bin %> <%= command.id %> \"web scraper\" --category web",
"<%= config.bin %> <%= command.id %> --category data --limit 20"
],
"flags": {
"category": {
"char": "c",
"description": "Filter by category",
"name": "category",
"hasDynamicHelp": false,
"multiple": false,
"type": "option"
},
"limit": {
"char": "l",
"description": "Maximum number of results",
"name": "limit",
"default": 20,
"hasDynamicHelp": false,
"multiple": false,
"type": "option"
},
"offset": {
"char": "o",
"description": "Offset for pagination",
"name": "offset",
"default": 0,
"hasDynamicHelp": false,
"multiple": false,
"type": "option"
},
"json": {
"description": "Output in JSON format",
"name": "json",
"allowNo": false,
"type": "boolean"
},
"verbose": {
"char": "v",
"description": "Show verbose output",
"name": "verbose",
"allowNo": false,
"type": "boolean"
}
},
"hasDynamicHelp": false,
"hiddenAliases": [],
"id": "tool:search",
"pluginAlias": "@tpmjs/cli",
"pluginName": "@tpmjs/cli",
"pluginType": "core",
"strict": true,
"enableJsonFlag": false,
"isESM": true,
"relativePath": ["dist", "commands", "tool", "search.js"]
},
"tool:trending": {
"aliases": [],
"args": {},
"description": "Show trending tools",
"examples": [
"<%= config.bin %> <%= command.id %>",
"<%= config.bin %> <%= command.id %> --limit 10"
],
"flags": {
"limit": {
"char": "l",
"description": "Maximum number of results",
"name": "limit",
"default": 10,
"hasDynamicHelp": false,
"multiple": false,
"type": "option"
},
"json": {
"description": "Output in JSON format",
"name": "json",
"allowNo": false,
"type": "boolean"
},
"verbose": {
"char": "v",
"description": "Show verbose output",
"name": "verbose",
"allowNo": false,
"type": "boolean"
}
},
"hasDynamicHelp": false,
"hiddenAliases": [],
"id": "tool:trending",
"pluginAlias": "@tpmjs/cli",
"pluginName": "@tpmjs/cli",
"pluginType": "core",
"strict": true,
"enableJsonFlag": false,
"isESM": true,
"relativePath": ["dist", "commands", "tool", "trending.js"]
},
"tool:validate": {
"aliases": [],
"args": {},
"description": "Validate a tpmjs package configuration",
"examples": [
"<%= config.bin %> <%= command.id %>",
"<%= config.bin %> <%= command.id %> --path ./my-tool"
],
"flags": {
"path": {
"char": "p",
"description": "Path to package directory (defaults to current directory)",
"name": "path",
"default": ".",
"hasDynamicHelp": false,
"multiple": false,
"type": "option"
},
"json": {
"description": "Output in JSON format",
"name": "json",
"allowNo": false,
"type": "boolean"
},
"verbose": {
"char": "v",
"description": "Show verbose output",
"name": "verbose",
"allowNo": false,
"type": "boolean"
}
},
"hasDynamicHelp": false,
"hiddenAliases": [],
"id": "tool:validate",
"pluginAlias": "@tpmjs/cli",
"pluginName": "@tpmjs/cli",
"pluginType": "core",
"strict": true,
"enableJsonFlag": false,
"isESM": true,
"relativePath": ["dist", "commands", "tool", "validate.js"]
},
"scenario:generate": {
"aliases": [],
"args": {
"collection": {
"description": "Collection ID or slug",
"name": "collection",
"required": true
}
},
"description": "Generate AI-powered scenarios for a collection",
"examples": [
"<%= config.bin %> <%= command.id %> my-collection",
"<%= config.bin %> <%= command.id %> my-collection --count 3",
"<%= config.bin %> <%= command.id %> my-collection --skip-similarity-check"
],
"flags": {
"count": {
"char": "n",
"description": "Number of scenarios to generate (1-10)",
"name": "count",
"default": 1,
"hasDynamicHelp": false,
"multiple": false,
"type": "option"
},
"skip-similarity-check": {
"description": "Skip checking for similar existing scenarios",
"name": "skip-similarity-check",
"allowNo": false,
"type": "boolean"
},
"json": {
"description": "Output in JSON format",
"name": "json",
"allowNo": false,
"type": "boolean"
},
"verbose": {
"char": "v",
"description": "Show verbose output",
"name": "verbose",
"allowNo": false,
"type": "boolean"
}
},
"hasDynamicHelp": false,
"hiddenAliases": [],
"id": "scenario:generate",
"pluginAlias": "@tpmjs/cli",
"pluginName": "@tpmjs/cli",
"pluginType": "core",
"strict": true,
"enableJsonFlag": false,
"isESM": true,
"relativePath": ["dist", "commands", "scenario", "generate.js"]
},
"scenario:info": {
"aliases": [],
"args": {
"scenarioId": {
"description": "Scenario ID",
"name": "scenarioId",
"required": true
}
},
"description": "Show detailed information about a scenario",
"examples": [
"<%= config.bin %> <%= command.id %> clu123abc456",
"<%= config.bin %> <%= command.id %> clu123abc456 --runs 20",
"<%= config.bin %> <%= command.id %> clu123abc456 --json"
],
"flags": {
"runs": {
"char": "r",
"description": "Number of recent runs to show",
"name": "runs",
"default": 10,
"hasDynamicHelp": false,
"multiple": false,
"type": "option"
},
"json": {
"description": "Output in JSON format",
"name": "json",
"allowNo": false,
"type": "boolean"
},
"verbose": {
"char": "v",
"description": "Show verbose output",
"name": "verbose",
"allowNo": false,
"type": "boolean"
}
},
"hasDynamicHelp": false,
"hiddenAliases": [],
"id": "scenario:info",
"pluginAlias": "@tpmjs/cli",
"pluginName": "@tpmjs/cli",
"pluginType": "core",
"strict": true,
"enableJsonFlag": false,
"isESM": true,
"relativePath": ["dist", "commands", "scenario", "info.js"]
},
"scenario:list": {
"aliases": [],
"args": {
"collection": {
"description": "Collection ID or slug (optional - shows all public scenarios if omitted)",
"name": "collection",
"required": false
}
},
"description": "List scenarios for a collection or all public scenarios",
"examples": [
"<%= config.bin %> <%= command.id %>",
"<%= config.bin %> <%= command.id %> my-collection",
"<%= config.bin %> <%= command.id %> --limit 20 --json"
],
"flags": {
"limit": {
"char": "l",
"description": "Maximum number of results",
"name": "limit",
"default": 20,
"hasDynamicHelp": false,
"multiple": false,
"type": "option"
},
"offset": {
"char": "o",
"description": "Offset for pagination",
"name": "offset",
"default": 0,
"hasDynamicHelp": false,
"multiple": false,
"type": "option"
},
"tags": {
"char": "t",
"description": "Filter by tags (comma-separated)",
"name": "tags",
"hasDynamicHelp": false,
"multiple": false,
"type": "option"
},
"json": {
"description": "Output in JSON format",
"name": "json",
"allowNo": false,
"type": "boolean"
},
"verbose": {
"char": "v",
"description": "Show verbose output",
"name": "verbose",
"allowNo": false,
"type": "boolean"
}
},
"hasDynamicHelp": false,
"hiddenAliases": [],
"id": "scenario:list",
"pluginAlias": "@tpmjs/cli",
"pluginName": "@tpmjs/cli",
"pluginType": "core",
"strict": true,
"enableJsonFlag": false,
"isESM": true,
"relativePath": ["dist", "commands", "scenario", "list.js"]
},
"scenario:run": {
"aliases": [],
"args": {
"collection": {
"description": "Collection ID or slug",
"name": "collection",
"required": true
}
},
"description": "Run all scenarios for a collection",
"examples": [
"<%= config.bin %> <%= command.id %> my-collection",
"<%= config.bin %> <%= command.id %> my-collection --json",
"<%= config.bin %> <%= command.id %> my-collection --verbose"
],
"flags": {
"json": {
"description": "Output in JSON format",
"name": "json",
"allowNo": false,
"type": "boolean"
},
"verbose": {
"char": "v",
"description": "Show verbose output",
"name": "verbose",
"allowNo": false,
"type": "boolean"
},
"limit": {
"char": "l",
"description": "Maximum number of scenarios to run",
"name": "limit",
"default": 50,
"hasDynamicHelp": false,
"multiple": false,
"type": "option"
}
},
"hasDynamicHelp": false,
"hiddenAliases": [],
"id": "scenario:run",
"pluginAlias": "@tpmjs/cli",
"pluginName": "@tpmjs/cli",
"pluginType": "core",
"strict": true,
"enableJsonFlag": false,
"isESM": true,
"relativePath": ["dist", "commands", "scenario", "run.js"]
},
"scenario:test": {
"aliases": [],
"args": {
"scenarioId": {
"description": "Scenario ID to run",
"name": "scenarioId",
"required": true
}
},
"description": "Run a single scenario by ID",
"examples": [
"<%= config.bin %> <%= command.id %> clu123abc456",
"<%= config.bin %> <%= command.id %> clu123abc456 --json",
"<%= config.bin %> <%= command.id %> clu123abc456 --verbose"
],
"flags": {
"json": {
"description": "Output in JSON format",
"name": "json",
"allowNo": false,
"type": "boolean"
},
"verbose": {
"char": "v",
"description": "Show verbose output including full reason",
"name": "verbose",
"allowNo": false,
"type": "boolean"
}
},
"hasDynamicHelp": false,
"hiddenAliases": [],
"id": "scenario:test",
"pluginAlias": "@tpmjs/cli",
"pluginName": "@tpmjs/cli",
"pluginType": "core",
"strict": true,
"enableJsonFlag": false,
"isESM": true,
"relativePath": ["dist", "commands", "scenario", "test.js"]
}
},
"version": "0.1.5"
}