Template Catalog CLI (JS)
CLI commands for template catalog – reference for JavaScript/TypeScript developers
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
- Simple Usage
bash praisonai templates list - With Configuration
bash 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| Option | Description |
|---|---|
--print | Print the catalog URL without opening browser |
--url <url> | Use a custom catalog URL |
--local | Run 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| Option | Description |
|---|---|
--source <dir> | Directory containing templates to validate |
--strict | Treat warnings as errors |
--json | Output 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| Option | Description |
|---|---|
--out <dir> | Output directory for generated files |
--source <path> | Source directory containing templates |
--minify | Minify 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| Option | Description |
|---|---|
--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 customSearch Templates
# Search by keyword
praisonai templates search video
# Search with offline mode
praisonai templates search transcript --offlineTemplate Info
# Get template info
praisonai templates info ai-video-editorRun Templates
# Run a template
praisonai templates run transcript-generator ./audio.mp3
# With options
praisonai templates run ai-video-editor input.mp4 --output edited.mp4Using 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
| Command | Description |
|---|---|
praisonai templates browse | Open catalog in browser |
praisonai templates browse --print | Print catalog URL |
praisonai templates validate | Validate templates |
praisonai templates validate --source <dir> | Validate specific directory |
praisonai templates validate --strict | Strict validation mode |
praisonai templates validate --json | JSON output |
praisonai templates catalog build | Build catalog locally |
praisonai templates catalog build --out <dir> | Build to specific directory |
praisonai templates catalog sync | Sync template sources |
praisonai templates catalog sync --source <name> | Sync specific source |
praisonai templates list | List all templates |
praisonai templates search <query> | Search templates |
praisonai templates info <name> | Show template details |
praisonai templates run <name> | Run a template |