Skip to content
GitHub

CLI Reference

Complete command-line reference for all prompd CLI implementations. Commands are consistent across Python, Go, and Node.js.

OptionDescription
--versionShow version number
--helpShow help message
--verbose, -vEnable verbose logging
--quiet, -qSuppress all output except errors

Initialize a folder with example.prmd and manifest.json.

Terminal window
prompd init <path>

Examples:

Terminal window
prompd init .
prompd init ./my-project

Compile a .prmd file with parameters and return the compiled prompt text.

Terminal window
prompd compile <file> [options]
OptionDescription
--to-markdownCompile to markdown format
--to-openai-jsonCompile to OpenAI JSON format
--to-anthropic-jsonCompile to Anthropic JSON format
--output, -oOutput file path
--param, -pSet parameter values (repeatable)
--param-fileLoad parameters from JSON file

Examples:

Terminal window
# Compile with parameters
prompd compile prompt.prmd -p name=Alice -p style=formal
# Load parameters from file
prompd compile prompt.prmd --param-file params.json
# Save compiled output
prompd compile prompt.prmd -p name=Bob -o rendered.txt
# Combine command line and file parameters
prompd compile prompt.prmd --param-file params.json -p override=value

Run a .prmd file with an LLM provider.

Terminal window
prompd run <file> --provider <provider> --model <model> [options]
OptionDescription
--providerLLM provider (openai, anthropic, ollama)
--modelModel name (gpt-4, claude-3-opus, etc.)
-p, --paramSet parameter value (key=value, repeatable)
-f, --param-fileLoad parameters from JSON file
--api-keyOverride API key for provider
-o, --outputSave response to file
--versionExecute a specific version
--streamEnable streaming output

Examples:

Terminal window
# Basic execution
prompd run prompt.prmd --provider openai --model gpt-4
# With parameters
prompd run prompt.prmd --provider openai --model gpt-4 \
-p language=Python \
-p style=detailed
# With parameter file
prompd run prompt.prmd --provider anthropic --model claude-3-opus \
-f params.json
# Execute a specific version
prompd run prompt.prmd --provider openai --model gpt-4 \
--version 1.2.3 -p name=Alice
# Pass array parameters (JSON syntax)
prompd run prompt.prmd --provider openai --model gpt-4 \
-p tags='["api","backend","nodejs"]'
# Pass object parameters (JSON syntax)
prompd run prompt.prmd --provider openai --model gpt-4 \
-p user='{"name":"Alice","role":"admin"}'

Validate a .prmd file’s syntax and structure.

Terminal window
prompd validate <file> [options]
OptionDescription
-v, --verboseShow detailed validation results
--gitInclude git history consistency checks
--version-onlyOnly validate version-related aspects
--check-overridesValidate section overrides against parent

Validation checks include:

  • YAML syntax validity
  • Required fields presence
  • Name format (kebab-case)
  • Version format (semantic)
  • Parameter definitions
  • Variable references
  • Type consistency
  • Section override validation (with --check-overrides)

Display the structure and parameters of a .prmd file.

Terminal window
prompd show <file> [options]
OptionDescription
--sectionsShow available section IDs for override
--verboseShow detailed section information
Terminal window
# Show sections available for override
prompd show template.prmd --sections

Shortcut for prompd package create. Creates a .pdpkg package from a directory.

Terminal window
prompd pack <source-directory> [output-file]
OptionDescription
-n, --namePackage name (overrides manifest.json)
-V, --versionPackage version (overrides manifest.json)
-d, --descriptionPackage description
-a, --authorPackage author

Examples:

Terminal window
prompd pack . my-package.pdpkg
prompd pack ./my-project
prompd pack . my-package.pdpkg \
--name "@myorg/toolkit" \
--version "1.0.0"

Manage package creation and validation.

Terminal window
prompd package <command> [options]

Subcommands:

  • create - Create a new package
  • validate - Validate package structure
  • info - Show package information

Authenticate with the prompd registry.

Terminal window
prompd login

Opens browser for authentication flow with the registry.

Publish a package to the registry.

Terminal window
prompd publish <package-file>

Install a package from the registry.

Terminal window
prompd install <package-name>[@version]
# Install all dependencies from manifest.json
prompd install
# Install specific version
prompd install @prompd.io/package-name@1.0.0
# Install as dev dependency
prompd install @prompd.io/package-name --dev
# Install globally
prompd install @prompd.io/package-name --global

Search for packages in the registry.

Terminal window
prompd search <query>

List installed packages or available .prmd files.

Terminal window
prompd list [options]
OptionDescription
--globalList global packages
--jsonOutput in JSON format
-p, --pathDirectory to search
-d, --detailedShow detailed information

Uninstall a package.

Terminal window
prompd uninstall <package-name>

Git operations for .prmd files.

Terminal window
prompd git add <files...> # Add to staging
prompd git remove <files...> # Remove from tracking
prompd git status # Show status
prompd git commit -m <message> # Commit staged files
prompd git checkout <file> <ver> # Checkout specific version

Manage semantic versions with git integration.

Terminal window
prompd version bump <file> <type> # Bump version (major/minor/patch)
prompd version history <file> # Show version history
prompd version diff <file> <v1> [v2] # Compare versions
prompd version validate <file> # Validate version consistency
prompd version suggest <file> # Get bump suggestions

Configuration management.

Terminal window
prompd config show # Show all settings
prompd config provider list # List providers
prompd config provider add <name> <url> <models...> # Add provider
prompd config provider show <name> # Show provider details
prompd config provider remove <name> # Remove provider
prompd config provider setkey <name> <key> # Set API key
prompd config registry list # List registries
prompd config registry add <name> <url> # Add registry
prompd config registry remove <name> # Remove registry
prompd config registry set-default <name> # Set default registry
Terminal window
# API Keys
export OPENAI_API_KEY="sk-..."
export ANTHROPIC_API_KEY="sk-ant-..."
export OLLAMA_HOST="http://localhost:11434"
# Defaults
export PROMPD_DEFAULT_PROVIDER="openai"
export PROMPD_DEFAULT_MODEL="gpt-4"

Create ~/.prompd/config.yaml:

default_provider: openai
default_model: gpt-4
timeout: 30
max_retries: 3
verbose: false
api_keys:
openai: sk-...
anthropic: sk-ant-...
registry:
default: prompdhub
registries:
prompdhub:
url: https://registry.prompdhub.ai

Parameters are resolved in this order (highest to lowest priority):

  1. Command-line parameters (-p key=value)
  2. Parameter files (-f file.json)
  3. Default values in .prmd file
  4. Environment variables
CodeMeaning
0Success
1General error
2Validation error
3Provider error
4Configuration error
5File not found
Terminal window
# 1. Initialize
prompd init .
# 2. Validate
prompd validate example.prmd
# 3. Compile
prompd compile example.prmd --to-markdown
# 4. Run with provider
prompd run example.prmd \
--provider openai --model gpt-4o \
--param text="Great product!"
# 5. Package
prompd package create . sentiment-analyzer.pdpkg
# 6. Publish
prompd login
prompd publish sentiment-analyzer.pdpkg

“Missing required field ‘name’” - The .prmd file must have a name field in the YAML frontmatter.

“Undefined variable ‘X’ referenced” - All variables used in content must be defined in the parameters section.

“Provider error: No API key” - Set the API key via environment variable or config file.

“Invalid semantic version” - Version must follow format: major.minor.patch (e.g., 1.2.3)

Terminal window
prompd run prompt.prmd --provider openai --model gpt-4 -v