核心概念

了解 AgileBuilder 的核心概念和术语

什么是模板

模板是 AgileBuilder 的核心资产。它是一个包含项目结构、配置文件和代码的目录,通过变量和条件渲染,可以生成不同配置的项目。

my-template/
├── agilebuilder.json      # 模板配置文件
├── template/              # 模板文件目录
│   ├── src/
│   ├── package.json.hbs   # 使用 Handlebars 语法
│   └── README.md.hbs
└── hooks/                 # 钩子脚本(可选)
    ├── pre-generate.js
    └── post-generate.js

变量系统

变量让同一套工程模式适配不同场景,是模板灵活性的核心。

变量类型

类型说明示例
string字符串变量项目名称、包名、端口
boolean布尔变量是否启用 TypeScript
select单选变量选择框架(React/Vue)
multiselect多选变量选择功能模块

条件渲染

使用 Handlebars 语法进行条件渲染:

{{#if useTypeScript}}
"devDependencies": {
  "typescript": "^5.0.0"
}
{{/if}}

循环渲染

{{#each features}}
  "{{this}}": "latest",
{{/each}}

Hooks

Hooks 让你在项目生成前后执行自动化脚本。

Hook执行时机用途
pre-generate生成文件前验证参数、准备环境
post-generate生成文件后安装依赖、初始化 Git

内置 Hooks

AgileBuilder 提供了常用的内置 hooks:

  • @agilebuilder/install-deps - 自动安装依赖
  • @agilebuilder/git-init - 初始化 Git 仓库

MCP

MCP(Model Context Protocol)是一种标准协议,允许 AI 工具(如 Cursor、Claude Code)与 AgileBuilder 交互。

MCP 工具

工具说明
listTemplates列出所有可用模板
getTemplateInfo获取模板详情和变量定义
generateProject根据模板生成项目

项目生成

项目生成是 AgileBuilder 的核心能力。基于模板和变量,一键生成标准化项目骨架。

agilebuilder generate <template-name> <project-name>

例如:

agilebuilder generate react-starter my-app --var useTypeScript=true

下一步