These are templates for Agentuity projects. They are designed to help you get started with building your own Agents using the Agentuity Cloud Platform.
These templates are automatically available when using the agentuity new command from the Agentuity CLI.
Templates define the structure and dependencies for new Agentuity agent projects. This guide explains how to create and contribute templates to this repository.
Templates are defined in YAML files located in runtime-specific directories:
nodejs/templates.yaml- Templates for Node.js runtimebunjs/templates.yaml- Templates for Bun.js runtimepython-uv/templates.yaml- Templates for Python with uv runtime
Each template file must include a schema reference at the top:
# yaml-language-server: $schema=https://raw.githubusercontent.com/agentuity/templates/main/templates.schema.jsonA template is defined as a YAML object with the following required fields:
- name: "Template Name"
  description: "A detailed description of what this template provides"
  steps:
    # List of steps to execute when this template is selected
    # ...name: A descriptive name for the templatedescription: A detailed explanation of what the template providessteps: An array of steps to execute when the template is selected
skip_agent_step: Boolean flag to skip the agent step for this template (defaults to false)
Steps define the actions to be performed when a template is selected. Each step must be one of the following types:
Installs dependencies using the appropriate package manager:
- command: npm  # or bun, uv depending on runtime
  args:
    - install  # or add for bun, add for uv
    - --no-fund  # optional flags
    - --no-audit  # optional flags
    - package-name  # package to install
    - another-package  # additional packagesCreates a new file from a template or source file:
# Using a source file
- action: create_file
  filename: "src/agents/{{ .AgentName | safe_filename }}/index.ts"
  from: "common/js/openai.ts"
# Using a template file
- action: create_file
  filename: "agents/{{ .AgentName | safe_filename }}/agent.py"
  template: "common/py/crewai/agent.py"The filename supports template variables:
{{ .AgentName }}- The name of the agent provided by the user{{ .AgentName | safe_filename }}- The agent name sanitized for use in filenames
Copies an entire directory:
- action: copy_dir
  from: "common/py/crewai/config"
  to: "agents/{{ .AgentName | safe_filename }}/config"Clones a GitHub repository:
- action: clone_repo
  repo: "agentuity/agent-react-miami-concierge-template"
  to: "optional/target/directory"  # Optional, defaults to project directory
  branch: "main"  # Optional, defaults to the default branchTemplate files are stored in the common directory:
common/js/- JavaScript/TypeScript template filescommon/py/- Python template files
These files contain the actual code that will be used in the new agent projects.
- name: "OpenAI SDK for TypeScript"
  description: "Official TypeScript library for OpenAI"
  steps:
    - command: npm
      args:
        - install
        - --no-fund
        - --no-audit
        - openai
    - action: create_file
      filename: "src/agents/{{ .AgentName | safe_filename }}/index.ts"
      from: "common/js/openai.ts"- name: "LangChain"
  description: "LangChain Python SDK with OpenAI"
  steps:
    - command: uv
      args:
        - add
        - --quiet
        - langchain
        - langchain-openai
        - langchain-community
    - action: create_file
      filename: "agents/{{ .AgentName | safe_filename }}/agent.py"
      from: "common/py/langchain/openai.py"- name: "CrewAI"
  description: "CrewAI Python SDK"
  steps:
    - command: uv
      args:
        - add
        - --quiet
        - crewai
    - action: create_file
      filename: "agents/{{ .AgentName | safe_filename }}/agent.py"
      template: "common/py/crewai/agent.py"
    - action: create_file
      filename: "agents/{{ .AgentName | safe_filename }}/crew.py"
      template: "common/py/crewai/crew.py"
    - action: copy_dir
      from: "common/py/crewai/config"
      to: "agents/{{ .AgentName | safe_filename }}/config"To test your templates locally, use the Agentuity CLI with the flag to override the templates directory:
agentuity new --templates-dir=/path/to/your/templatesThis allows you to test your templates before submitting a pull request.
- Clear Naming: Use descriptive names for templates that indicate their purpose
 - Detailed Descriptions: Provide comprehensive descriptions to help users understand what the template offers
 - Minimal Dependencies: Only include necessary dependencies in your template
 - Consistent Structure: Follow the existing patterns for file organization
 - Schema Validation: Ensure your template conforms to the schema defined in 
templates.schema.json - Test Thoroughly: Test your template with the CLI before submitting
 
We welcome pull requests! Please see our CONTRIBUTING.md file for details.
See the LICENSE file for details.
