tpmjs/packages/cli
Ajax Davis 5d00f2a711 feat: add chunked skills.md generation for large collections
Implements batched generation to avoid Vercel 120s timeout for collections
with 60+ tools. Uses per-tool caching and recursive serverless invocations.

- Add ToolSkillsCache and SkillsGenerationJob models to schema
- Create tool-skills-generator.ts for per-tool markdown generation
- Create skills-summary-generator.ts for final pass summary/intro
- Update route handler with chunked generation logic
- Small collections (<20 tools) use original monolithic approach
- Large collections use 10-tool batches with progress tracking
2026-01-21 16:26:06 +10:00
..
bin feat(cli): add @tpmjs/cli package and browser auth page 2026-01-18 06:12:34 +10:00
src feat: add skills.md endpoint and CLI run command 2026-01-21 14:50:07 +10:00
oclif.manifest.json feat: add chunked skills.md generation for large collections 2026-01-21 16:26:06 +10:00
package.json chore(cli): bump version to 0.1.4 for npm publish 2026-01-19 05:50:32 +10:00
README.md feat: add skills.md endpoint and CLI run command 2026-01-21 14:50:07 +10:00
tsconfig.json feat(cli): add @tpmjs/cli package and browser auth page 2026-01-18 06:12:34 +10:00
tsup.config.ts feat: add use cases marketing product with AI-generated content 2026-01-20 16:17:35 +10:00

@tpmjs/cli

Command-line interface for TPMJS - the universal tool registry for AI agents.

Installation

npm install -g @tpmjs/cli

Quick Start

# Search for tools
tpm tool search firecrawl

# Get tool info
tpm tool info @tpmjs/official-firecrawl scrapeTool

# Show trending tools
tpm tool trending

# Authenticate
tpm auth login --api-key YOUR_API_KEY

# List your agents
tpm agent list

# List your collections
tpm collection list

# Generate MCP config
tpm mcp config ajax/ajax-collection

Commands

Authentication

tpm auth login           # Login with API key or browser OAuth
tpm auth logout          # Log out
tpm auth status          # Show authentication status
tpm auth whoami          # Show current user info

Tools

tpm tool search [query]  # Search for tools
tpm tool info <pkg> <tool>  # Get tool details
tpm tool trending        # Show trending tools
tpm tool validate        # Validate local tpmjs config

Agents

tpm agent list           # List your agents
tpm agent create         # Create a new agent
tpm agent update <id>    # Update an agent
tpm agent delete <id>    # Delete an agent
tpm agent chat <id>      # Chat with an agent

Collections

tpm collection list      # List your collections
tpm collection create    # Create a collection
tpm collection add       # Add tools to a collection
tpm collection remove    # Remove tools from a collection

Run Tools

Execute tools directly from collections via the MCP API:

# Basic usage
tpm run -c ajax/unsandbox -t execute --args '{"code":"print(1)","language":"python"}'

# With environment variables
tpm run -c ajax/my-collection -t myTool --env API_KEY=xxx --env DEBUG=true

# Using process environment
OPENAI_API_KEY=xxx tpm run -c ajax/ai-tools -t generate

# JSON output for scripting
tpm run -c ajax/tools -t base64Encode --args '{"data":"hello"}' --json | jq .result

MCP Integration

tpm mcp config <user/collection>  # Generate MCP config
tpm mcp serve                      # Run as local MCP server

Utilities

tpm doctor               # Run diagnostic checks
tpm update               # Update CLI to latest version

Configuration

Config is stored in ~/.tpmjs/config.json:

{
  "apiUrl": "https://tpmjs.com/api",
  "defaultOutput": "human",
  "verbose": false,
  "analytics": false
}

Credentials are stored securely in ~/.tpmjs/credentials.json.

Environment Variables

  • TPMJS_API_KEY - API key for authentication
  • TPMJS_API_URL - Custom API URL (default: https://tpmjs.com/api)

Output Formats

All commands support --json flag for machine-readable output:

tpm tool search firecrawl --json | jq '.data[0].name'

Verbose Mode

Use --verbose or -v for detailed output:

tpm doctor --verbose

License

MIT