Skip to main content
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.

Quick Start

1

Simple Usage

praisonai templates list
2

With Configuration

praisonai templates run my-template

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

Template Catalog

TypeScript API

Agent

Agent configuration