> ## Documentation Index
> Fetch the complete documentation index at: https://twenty-claude-cool-pascal-5ay683.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# 脚手架

> 通过 yarn twenty dev:add 以交互方式生成实体文件——对象、字段、视图、逻辑函数等。

无需手动创建实体文件，使用交互式脚手架：

```bash filename="Terminal" theme={null}
yarn twenty dev:add
```

它会提示你选择一个实体类型，引导你填写所需字段，然后生成一个可直接使用的文件，其中包含稳定的 `universalIdentifier` 和正确的 `defineEntity()` 调用。

你也可以直接传入实体类型以跳过第一个提示：

```bash filename="Terminal" theme={null}
yarn twenty dev:add object
yarn twenty dev:add logicFunction
yarn twenty dev:add frontComponent
```

## 可用的实体类型

| 实体类型    | 命令                                         | 生成的文件                                    |
| ------- | ------------------------------------------ | ---------------------------------------- |
| 对象      | `yarn twenty dev:add object`               | `src/objects/\<name>.ts`                 |
| 字段      | `yarn twenty dev:add field`                | `src/fields/\<name>.ts`                  |
| 逻辑函数    | `yarn twenty dev:add logicFunction`        | `src/logic-functions/\<name>.ts`         |
| 前端组件    | `yarn twenty dev:add frontComponent`       | `src/front-components/\<name>.tsx`       |
| 角色      | `yarn twenty dev:add role`                 | `src/roles/\<name>.ts`                   |
| 技能      | `yarn twenty dev:add skill`                | `src/skills/\<name>.ts`                  |
| 代理      | `yarn twenty dev:add agent`                | `src/agents/\<name>.ts`                  |
| 视图      | `yarn twenty dev:add view`                 | `src/views/\<name>.ts`                   |
| 导航菜单项   | `yarn twenty dev:add navigationMenuItem`   | `src/navigation-menu-items/\<name>.ts`   |
| 页面布局    | `yarn twenty dev:add pageLayout`           | `src/page-layouts/\<name>.ts`            |
| 页面布局选项卡 | `yarn twenty dev:add pageLayoutTab`        | `src/page-layout-tabs/\<name>.ts`        |
| 命令菜单项   | `yarn twenty dev:add commandMenuItem`      | `src/command-menu-items/\<name>.ts`      |
| 视图字段    | `yarn twenty dev:add viewField`            | `src/view-fields/\<name>.ts`             |
| 连接提供方   | `yarn twenty dev:add connectionProvider`   | `src/connection-providers/\<name>.ts`    |
| 时间线活动类型 | `yarn twenty dev:add timelineActivityType` | `src/timeline-activity-types/\<name>.ts` |

## 脚手架生成的内容

每种实体类型都有其自己的模板。 例如，`yarn twenty dev:add object` 会询问：

1. **名称（单数）**——例如，`invoice`
2. **名称（复数）**——例如，`invoices`
3. **标签（单数）**——根据名称自动填充（例如，`Invoice`）
4. **标签（复数）**——自动填充（例如，`Invoices`）
5. **创建视图和导航项？**——如果你选择是，脚手架还会为新对象生成相应的视图和侧边栏链接。

其他实体类型的提示更简单——大多只会询问名称。

`field` 实体类型更为详细：它会询问字段名称、标签、类型（从所有可用字段类型列表中选择，如 `TEXT`、`NUMBER`、`SELECT`、`RELATION` 等），以及目标对象的 `universalIdentifier`。

## 自定义输出路径

使用 `--path` 标志将生成的文件放置在自定义位置：

```bash filename="Terminal" theme={null}
yarn twenty dev:add logicFunction --path src/custom-folder
```
