MCP Tool

Template Generator 智能模板生成器

基于项目分析结果生成完整的项目代码模板,包含最佳实践的项目结构、配置文件和核心代码。

快速开始

基础用法:

template_generator(analysis_result, project_name="my-app", target_directory="./projects")

函数签名

template_generator(
  analysis_result: ProjectAnalysisResult,
  project_name: string,
  target_directory?: string,
  customizations?: {
    ui_framework?: string,
    css_framework?: string,
    auth_provider?: string,
    database_config?: object,
    deployment_target?: string
  }
) -> TemplateGenerationResult

参数说明

必需参数

analysis_result

项目分析结果 - 来自 project_analyzer 的输出

ProjectAnalysisResult
project_name

项目名称 - 将用作目录名和包名

string

可选参数

target_directory

目标目录 - 项目生成位置,默认为当前目录

string
customizations

自定义配置 - 覆盖默认的技术栈选择

ui_framework
css_framework
auth_provider
database_config

生成的项目结构

my-app/
├── src/
│   ├── app/                     # Next.js App Router
│   │   ├── (auth)/             # 认证相关页面
│   │   ├── (dashboard)/        # 仪表板页面
│   │   ├── api/                # API路由
│   │   ├── globals.css         # 全局样式
│   │   └── layout.tsx          # 根布局
│   ├── components/             # React组件
│   │   ├── ui/                 # 基础UI组件
│   │   ├── forms/              # 表单组件
│   │   └── layout/             # 布局组件
│   ├── lib/                    # 工具库
│   │   ├── auth.ts             # 认证逻辑
│   │   ├── db.ts               # 数据库连接
│   │   └── utils.ts            # 工具函数
│   └── types/                  # TypeScript类型定义
├── prisma/                     # 数据库Schema
│   ├── schema.prisma
│   └── migrations/
├── public/                     # 静态资源
├── package.json               # 项目配置
├── tailwind.config.js         # Tailwind配置
├── next.config.js             # Next.js配置
├── .env.example               # 环境变量示例
└── README.md                  # 项目文档

返回值结构

{
  success: boolean,              // 生成是否成功
  project_path: string,          // 项目完整路径
  generated_files: string[],     // 生成的文件列表
  template_used: string,         // 使用的模板名称
  tech_stack: {                  // 实际使用的技术栈
    frontend: string[],
    backend: string[],
    database: string,
    styling: string[]
  },
  setup_instructions: string[],  // 安装和配置指令
  next_steps: string[],          // 建议的下一步操作
  estimated_setup_time: string, // 预计配置时间
  documentation_links: string[] // 相关文档链接
}

支持的模板类型

电商平台 (ecommerce)

包含商品管理、购物车、支付集成

Next.js
Stripe
Prisma
SaaS应用 (saas)

多租户架构、订阅计费、仪表板

多租户
计费
分析
内容管理 (blog)

博客系统、CMS、SEO优化

MDX
SEO
CMS
管理后台 (dashboard)

数据可视化、用户管理、权限控制

Charts
RBAC
Admin

使用示例

基础模板生成

# 先分析项目
analysis = project_analyzer(
  description="电商平台",
  requirements=["用户认证", "商品管理", "支付"]
)

# 生成模板
result = template_generator(
  analysis_result=analysis,
  project_name="my-ecommerce",
  target_directory="./projects"
)

自定义配置生成

template_generator(
  analysis_result=analysis,
  project_name="custom-saas",
  customizations={
    "ui_framework": "antd",
    "css_framework": "styled-components",
    "auth_provider": "auth0",
    "database_config": {
      "provider": "mysql",
      "connection_pooling": true
    },
    "deployment_target": "aws"
  }
)

最佳实践

确保分析结果质量

使用高置信度的项目分析结果,避免基于不准确的分析生成模板

选择合适的项目名称

使用有意义的项目名称,遵循命名规范(小写、连字符分隔)

谨慎使用自定义配置

只在必要时覆盖默认配置,保持技术栈的一致性和兼容性

检查目标目录

确保目标目录存在且有写入权限,避免重名项目覆盖

常见问题

模板生成失败

可能原因:目标目录权限不足或磁盘空间不够

解决方案: 检查目录权限,确保有足够的磁盘空间

依赖冲突

可能原因:自定义配置导致的包版本冲突

解决方案: 使用推荐的默认配置,或检查包兼容性

项目无法启动

可能原因:环境变量未配置或数据库连接问题

解决方案: 按照 setup_instructions 完成环境配置