> ## Documentation Index
> Fetch the complete documentation index at: https://docs.praison.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Add Templates

> Add templates from GitHub or local paths to PraisonAI

## How to Add Templates from Local Path

<Steps>
  <Step title="Create Template Directory">
    ```bash theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
    mkdir /tmp/my-joke-template
    cd /tmp/my-joke-template
    ```
  </Step>

  <Step title="Create TEMPLATE.yaml">
    ```yaml theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
    name: joke-generator
    version: "1.0.0"
    description: "Generate jokes on any topic"

    variables:
      topic:
        description: "Topic for the joke"
        required: true
      style:
        description: "Style of joke"
        default: "one-liner"

    requires:
      tools: []
    ```
  </Step>

  <Step title="Create agents.yaml">
    ```yaml theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
    framework: praisonai
    topic: "Joke Generation"

    roles:
      comedian:
        role: Stand-up Comedian
        goal: Create hilarious jokes
        tasks:
          generate_joke:
            description: |
              Create a {{style}} joke about: {{topic}}
            expected_output: "A hilarious joke"
    ```
  </Step>

  <Step title="Create workflow.yaml">
    ```yaml theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
    name: joke-generator-workflow
    description: Generate jokes workflow

    steps:
      - name: generate_joke
        agent: comedian
        task: generate_joke
    ```
  </Step>

  <Step title="Add Template">
    ```bash theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
    praisonai templates add /tmp/my-joke-template
    ```

    Output:

    ```
    ✅ Added template: my-joke-template
       Copied to: ~/.praisonai/templates/my-joke-template
    ```
  </Step>

  <Step title="Run the Template">
    ```bash theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
    praisonai templates run my-joke-template --topic "programming" --style "pun"
    ```
  </Step>
</Steps>

## How to Add Templates from GitHub

<Steps>
  <Step title="Add Template from GitHub">
    ```bash theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
    praisonai templates add github:MervinPraison/Agent-Recipes/ai-video-editor
    ```
  </Step>

  <Step title="Verify Installation">
    Template is downloaded to `~/.praisonai/templates/ai-video-editor/`
  </Step>

  <Step title="Run the Template">
    ```bash theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
    praisonai templates run ai-video-editor --input video.mp4
    ```
  </Step>
</Steps>

## How to Add Template Sources

<Steps>
  <Step title="Add GitHub Repository as Source">
    ```bash theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
    praisonai templates add-sources github:MervinPraison/Agent-Recipes
    ```
  </Step>

  <Step title="Verify Configuration">
    ```bash theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
    cat ~/.praisonai/templates_sources.yaml
    ```
  </Step>
</Steps>

## Template Structure

A valid template requires these files:

```
my-template/
├── TEMPLATE.yaml    # Template metadata and variables
├── agents.yaml      # Agent definitions
└── workflow.yaml    # Workflow steps
```

## Configuration File

Template sources are stored in `~/.praisonai/templates_sources.yaml`:

```yaml theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
sources:
- github:MervinPraison/Agent-Recipes
- github:user/custom-templates
```
