概要
このリファレンスでは、既存テンプレートの使い方、自作方法、コミュニティエコシステムへの貢献方法など、Mastra テンプレートに関する包括的な情報を提供します。
Mastra テンプレートは、特定のユースケースやパターンを示す、あらかじめ用意されたプロジェクト構成です。次のものを提供します:
- 動作例 - 完全に機能する Mastra アプリケーション
- ベストプラクティス - 適切なプロジェクト構成とコーディング規約
- 学習リソース - 実装例を通じて Mastra のパターンを学ぶ
- クイックスタート - ゼロから作るよりも素早くプロジェクトを立ち上げる
テンプレートの使用
インストール
create-mastra
コマンドを使用してテンプレートをインストールします:
npx create-mastra@latest --template template-name
これにより、必要なすべてのコードと設定を含む完全なプロジェクトが作成されます。
セットアップ手順
インストール後:
-
プロジェクトディレクトリに移動:
cd your-project-name
-
環境変数を設定:
cp .env.example .env
テンプレートのREADMEに記載されている通り、必要なAPIキーで
.env
を編集します。 -
依存関係をインストール(自動で実行されていない場合):
npm install
-
開発サーバーを起動:
npm run dev
テンプレート構造
すべてのテンプレートは以下の標準化された構造に従います:
- index.ts
- .env.example
- package.json
- README.md
- tsconfig.json
テンプレートの作成
要件
テンプレートは次の技術要件を満たす必要があります:
プロジェクト構成
- Mastra コードの配置: すべての Mastra のコードは
src/mastra/
ディレクトリに配置すること - コンポーネントの構成:
- Agents:
src/mastra/agents/
- Tools:
src/mastra/tools/
- Workflows:
src/mastra/workflows/
- メイン設定:
src/mastra/index.ts
- Agents:
TypeScript 設定
標準的な Mastra の TypeScript 設定を使用してください:
{
"compilerOptions": {
"target": "ES2022",
"module": "ES2022",
"moduleResolution": "bundler",
"esModuleInterop": true,
"forceConsistentCasingInFileNames": true,
"strict": true,
"skipLibCheck": true,
"noEmit": true,
"outDir": "dist"
},
"include": ["src/**/*"]
}
環境設定
必要な環境変数をすべて含む .env.example
ファイルを同梱してください:
# LLM provider API keys (choose one or more)
OPENAI_API_KEY=your_openai_api_key_here
ANTHROPIC_API_KEY=your_anthropic_api_key_here
GOOGLE_GENERATIVE_AI_API_KEY=your_google_api_key_here
# Other service API keys as needed
OTHER_SERVICE_API_KEY=your_api_key_here
コード規約
LLM プロバイダ
テンプレートでは OpenAI、Anthropic、または Google のモデルプロバイダの利用を推奨します。ユースケースに最も適したプロバイダを選択してください:
import { Agent } from '@mastra/core/agent';
import { openai } from '@ai-sdk/openai';
// Or use: import { anthropic } from '@ai-sdk/anthropic';
// Or use: import { google } from '@ai-sdk/google';
const agent = new Agent({
name: 'example-agent',
model: openai('gpt-4'), // or anthropic('') or google('')
instructions: 'Your agent instructions here',
// ... other configuration
});
互換性要件
テンプレートは次の要件を満たす必要があります:
- 単一プロジェクト - 複数アプリを含むモノレポではないこと
- フレームワーク非依存 - Next.js、Express、その他の Web フレームワークのボイラープレートを含まないこと
- Mastra に特化 - 余計なレイヤーを追加せずに Mastra の機能を示すこと
- マージ可能 - 既存プロジェクトに容易に統合できるようにコードを構成すること
- Node.js 互換 - Node.js 18 以上をサポートすること
- ESM モジュール - ES モジュールを使用すること(package.json の
"type": "module"
)
ドキュメント要件
README の構成
すべてのテンプレートには包括的な README を含めてください:
# Template Name
Brief description of what the template demonstrates.
## Overview
Detailed explanation of the template's functionality and use case.
## Setup
1. Copy `.env.example` to `.env` and fill in your API keys
2. Install dependencies: `npm install`
3. Run the project: `npm run dev`
## Environment Variables
- `OPENAI_API_KEY`: Your OpenAI API key. Get one at [OpenAI Platform](https://platform.openai.com/api-keys)
- `ANTHROPIC_API_KEY`: Your Anthropic API key. Get one at [Anthropic Console](https://console.anthropic.com/settings/keys)
- `GOOGLE_GENERATIVE_AI_API_KEY`: Your Google AI API key. Get one at [Google AI Studio](https://makersuite.google.com/app/apikey)
- `OTHER_API_KEY`: Description of what this key is for
## Usage
Instructions on how to use the template and examples of expected behavior.
## Customization
Guidelines for modifying the template for different use cases.
コードコメント
次の内容を明確に説明するコメントを含めてください:
- 複雑なロジックやアルゴリズム
- API 連携とその目的
- 設定オプションとその影響
- 例示的な使用パターン
品質基準
テンプレートは次を満たしている必要があります:
- コード品質 - クリーンで、コメントが適切に付され、保守しやすいコード
- エラーハンドリング - 外部 API やユーザー入力に対する適切な処理
- 型安全性 - Zod 検証を伴う完全な TypeScript の型付け
- テスト - 新規インストールでの動作検証済み
Mastra エコシステムにテンプレートを投稿する方法は、コミュニティセクションの Contributing Templates ガイドを参照してください。
テンプレートは Mastra のパターン学習と開発の加速に有効です。テンプレートへの貢献は、コミュニティ全体による優れた AI アプリケーション構築に役立ちます。