> ## Documentation Index
> Fetch the complete documentation index at: https://docs.twenty.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Andamiaje

> Genera archivos de entidad de forma interactiva con yarn twenty dev:add — objetos, campos, vistas, funciones de lógica y más.

En lugar de crear archivos de entidad a mano, usa el generador interactivo:

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

Te pide que elijas un tipo de entidad y te guía por los campos requeridos; luego escribe un archivo listo para usar con un `universalIdentifier` estable y la llamada correcta a `defineEntity()`.

También puedes pasar el tipo de entidad directamente para omitir la primera pregunta:

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

## Tipos de entidad disponibles

| Tipo de entidad                 | Comando                                  | Archivo generado                       |
| ------------------------------- | ---------------------------------------- | -------------------------------------- |
| Objeto                          | `yarn twenty dev:add object`             | `src/objects/\<name>.ts`               |
| Campo                           | `yarn twenty dev:add field`              | `src/fields/\<name>.ts`                |
| Función de lógica               | `yarn twenty dev:add logicFunction`      | `src/logic-functions/\<name>.ts`       |
| Componente de frontend          | `yarn twenty dev:add frontComponent`     | `src/front-components/\<name>.tsx`     |
| Rol                             | `yarn twenty dev:add role`               | `src/roles/\<name>.ts`                 |
| Habilidad                       | `yarn twenty dev:add skill`              | `src/skills/\<name>.ts`                |
| Agente                          | `yarn twenty dev:add agent`              | `src/agents/\<name>.ts`                |
| Vista                           | `yarn twenty dev:add view`               | `src/views/\<name>.ts`                 |
| Elemento del menú de navegación | `yarn twenty dev:add navigationMenuItem` | `src/navigation-menu-items/\<name>.ts` |
| Diseño de página                | `yarn twenty dev:add pageLayout`         | `src/page-layouts/\<name>.ts`          |
| Pestaña Diseño de página        | `yarn twenty dev:add pageLayoutTab`      | `src/page-layout-tabs/\<name>.ts`      |
| Elemento del menú de comandos   | `yarn twenty dev:add commandMenuItem`    | `src/command-menu-items/\<name>.ts`    |
| Campo de vista                  | `yarn twenty dev:add viewField`          | `src/view-fields/\<name>.ts`           |
| Proveedor de conexión           | `yarn twenty dev:add connectionProvider` | `src/connection-providers/\<name>.ts`  |

## Qué genera el generador

Cada tipo de entidad tiene su propia plantilla. Por ejemplo, `yarn twenty dev:add object` solicita:

1. **Nombre (singular)** — p. ej., `invoice`
2. **Nombre (plural)** — p. ej., `invoices`
3. **Etiqueta (singular)** — se completa automáticamente a partir del nombre (p. ej., `Invoice`)
4. **Etiqueta (plural)** — se completa automáticamente (p. ej., `Invoices`)
5. **¿Crear una vista y un elemento de navegación?** — si respondes que sí, el generador también crea una vista correspondiente y un enlace en la barra lateral para el nuevo objeto.

Otros tipos de entidad tienen indicaciones más simples: la mayoría solo piden un nombre.

El tipo de entidad `field` es más detallado: pide el nombre del campo, etiqueta, tipo (de una lista de todos los tipos de campo disponibles como `TEXT`, `NUMBER`, `SELECT`, `RELATION`, etc.) y el `universalIdentifier` del objeto de destino.

## Ruta de salida personalizada

Usa la opción `--path` para colocar el archivo generado en una ubicación personalizada:

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