Skip to main content

Overview

This reference explains how to use existing Mastra templates and create your own. It also covers contributing templates to the community ecosystem.

Mastra templates are pre-built project structures that demonstrate specific use cases and patterns. They provide:

  • Working examples: Complete, functional Mastra applications
  • Best practices: Proper project structure and coding conventions
  • Educational resources: Learn Mastra patterns through real implementations
  • Quickstarts: Bootstrap projects faster than building from scratch

Available templates
Direct link to Available templates

The following templates demonstrate Gateway-first Mastra applications:

  • template-docs-expert: Answers documentation questions with Gateway web search, citations, memory, and structured responses.
  • template-browser-agent: Uses AgentBrowser to browse, inspect, and interact with web pages.
  • template-meeting-notes: Turns Zoom transcripts or uploaded transcripts into structured notes with decisions and action items.
  • template-company-knowledge: Indexes Linear and Notion content into pgvector and answers internal knowledge questions.
  • template-claw-assistant: Operates a workspace with filesystem, sandbox, browser, and web-search tools.

Using templates
Direct link to Using templates

Installation
Direct link to Installation

Install a template using the create-mastra command:

npx create-mastra@latest my-project --template template-name

This creates a complete project and installs its dependencies. The template author controls the models, provider dependencies, environment variables, and source code.

Setup Process
Direct link to Setup Process

After installation:

  1. Navigate to project directory:

    cd your-project-name
  2. Configure environment variables:

    cp .env.example .env

    Edit .env with required API keys as documented in the template's README.

  3. Start development server:

    npm run dev

Template structure
Direct link to Template structure

All templates follow this standardized structure:

your-template/
├── src/
│ └── mastra/
│ ├── agents/ # Agent definitions
│ ├── tools/ # Tool definitions
│ ├── workflows/ # Workflow definitions
│ └── index.ts # Main Mastra config
├── .env.example # Required environment variables
├── package.json
├── tsconfig.json
└── README.md
On this page