Skip to main content

Template Catalog CLI Reference

CLI commands for browsing, building, and managing the PraisonAI template catalog. These commands work the same regardless of whether you’re using Python or TypeScript.

Browse Templates

Open the template catalog in your default browser.
# Open catalog in browser
praisonai templates browse

# Print URL only (don't open browser)
praisonai templates browse --print

# Use custom catalog URL
praisonai templates browse --url https://my-catalog.example.com
OptionDescription
--printPrint the catalog URL without opening browser
--url <url>Use a custom catalog URL
--localRun local catalog server (if installed)

Validate Templates

Validate TEMPLATE.yaml files for correctness.
# Validate templates in default location
praisonai templates validate

# Validate specific directory
praisonai templates validate --source ./my-templates

# Strict mode (warnings become errors)
praisonai templates validate --strict

# JSON output format
praisonai templates validate --json
OptionDescription
--source <dir>Directory containing templates to validate
--strictTreat warnings as errors
--jsonOutput results as JSON

Build Catalog

Build the template catalog locally.
# Build with defaults
praisonai templates catalog build

# Specify output directory
praisonai templates catalog build --out ./dist

# Use custom source directory
praisonai templates catalog build --source ./my-templates

# Minify output
praisonai templates catalog build --minify
OptionDescription
--out <dir>Output directory for generated files
--source <path>Source directory containing templates
--minifyMinify JSON output

Sync Sources

Sync template sources from GitHub repositories.
# Sync all configured sources
praisonai templates catalog sync

# Sync specific source
praisonai templates catalog sync --source agent-recipes

# Use custom config file
praisonai templates catalog sync --config ./my-config.json

# Specify cache directory
praisonai templates catalog sync --cache-dir ./my-cache
OptionDescription
--source <name>Sync only a specific source
--config <path>Path to catalog config file
--cache-dir <dir>Override cache directory

List Templates

# List all templates
praisonai templates list

# Show search paths
praisonai templates list --paths

# Filter by source
praisonai templates list --source custom

Search Templates

# Search by keyword
praisonai templates search video

# Search with offline mode
praisonai templates search transcript --offline

Template Info

# Get template info
praisonai templates info ai-video-editor

Run Templates

# Run a template
praisonai templates run transcript-generator ./audio.mp3

# With options
praisonai templates run ai-video-editor input.mp4 --output edited.mp4

Using with Node.js

You can execute CLI commands from Node.js using child_process:
import { exec } from 'child_process';
import { promisify } from 'util';

const execAsync = promisify(exec);

async function runTemplate(name: string, args: string[] = []) {
  const cmd = `praisonai templates run ${name} ${args.join(' ')}`;
  const { stdout, stderr } = await execAsync(cmd);
  return { stdout, stderr };
}

async function validateTemplates(source?: string) {
  const cmd = source 
    ? `praisonai templates validate --source ${source} --json`
    : `praisonai templates validate --json`;
  const { stdout } = await execAsync(cmd);
  return JSON.parse(stdout);
}

async function buildCatalog(outDir: string) {
  const cmd = `praisonai templates catalog build --out ${outDir}`;
  const { stdout } = await execAsync(cmd);
  return stdout;
}

// Usage
const results = await validateTemplates('./templates');
console.log('Validation results:', results);

Complete Command Reference

CommandDescription
praisonai templates browseOpen catalog in browser
praisonai templates browse --printPrint catalog URL
praisonai templates validateValidate templates
praisonai templates validate --source <dir>Validate specific directory
praisonai templates validate --strictStrict validation mode
praisonai templates validate --jsonJSON output
praisonai templates catalog buildBuild catalog locally
praisonai templates catalog build --out <dir>Build to specific directory
praisonai templates catalog syncSync template sources
praisonai templates catalog sync --source <name>Sync specific source
praisonai templates listList all templates
praisonai templates search <query>Search templates
praisonai templates info <name>Show template details
praisonai templates run <name>Run a template