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

# Configura tu ecosistema de plugins

> Crea, aloja y administra un conjunto compartido de plugins de Devin para toda tu organización o enterprise

<Note>
  Los plugins están en **beta cerrada**. Para solicitar acceso, contacta con [support@cognition.ai](mailto:support@cognition.ai). El comportamiento y la configuración pueden cambiar en futuras versiones.
</Note>

Esta guía explica cómo poner en marcha tu propio **ecosistema de plugins**: un repo de plugins propiedad de tu organización, que se distribuye a cada sesión de Devin y a cada usuario de la CLI mediante un manifest administrado, con plugins obligatorios, opcionales y prohibidos como controles de gobernanza.

Esta guía incluye dos repositorios de plantilla:

* [**plugin-template**](https://github.com/CognitionAI/plugin-template) — una plantilla inicial para crear un solo plugin (o un par de ellos).
* [**team-marketplace-template**](https://github.com/CognitionAI/team-marketplace-template) — el patrón completo del ecosistema: un monorepo de plugins junto con un **meta-plugin** cuyo manifiesto define tu configuración base y tu política.

<div id="1-author-your-plugins">
  ## 1. Crea tus plugins
</div>

Un plugin es un directorio con el manifiesto `.devin-plugin/plugin.json`; todo lo demás es opcional:

```
my-plugin/
├── .devin-plugin/
│   └── plugin.json     # name, version, dependency + policy lists
├── AGENTS.md           # always-on rule
├── rules/              # triggered rules
├── agents/<name>.md   # subagentes personalizados (solo CLI/Desktop por ahora); agents/<name>/AGENT.md también funciona
├── hooks.json          # lifecycle hooks
├── mcp_config.json     # MCP servers
└── skills/<name>/SKILL.md   # skills, exposed as /<plugin>:<skill>
```

Haz un fork de [plugin-template](https://github.com/CognitionAI/plugin-template) para empezar y consulta la [Referencia de plugins para la CLI](/es/cli/extensibility/plugins/overview) para ver el formato completo. Mantén `AGENTS.md` breve — consume contexto en cada sesión para todas las personas que tengan el plugin.

<div id="2-validate-and-test-locally">
  ## 2. Validar y probar localmente
</div>

Ambas plantillas incluyen un validador (`node scripts/validate-template.mjs`) y un flujo de trabajo de CI que lo ejecuta en cada PR. Para una prueba real, instala desde una carpeta local con [Devin CLI](/es/cli/index):

```bash theme={null}
devin plugins install ./plugins/my-plugin   # vinculado: los cambios se aplican en la próxima sesión
devin plugins list
```

<div id="3-host-them-in-one-repo">
  ## 3. Aloja todos en un solo repo
</div>

Coloca todos los plugins de tu organización en un único repo como subcarpetas (`plugins/<name>/`), cada uno con su propio origen `git-subdir`. El repo puede seguir siendo privado: las sesiones en la nube lo obtienen mediante tu integración con Git, y quienes usan la CLI lo obtienen con sus propias credenciales de git (así que también necesitan acceso al repo).

Haz un fork de [team-marketplace-template](https://github.com/CognitionAI/team-marketplace-template) para usar esta estructura y actualiza las URL de `git-subdir` de su meta-plugin para que apunten a tu fork. En la plantilla, el meta-plugin está en la **raíz del repo**, así que el propio repo es la unidad instalable: especificar `your-org/your-marketplace` instala toda la configuración base.

<div id="4-define-your-baseline-with-a-meta-plugin">
  ## 4. Define tu configuración base con un meta-plugin
</div>

El patrón de **meta-plugin** convierte todo tu ecosistema en una única unidad instalable. Es un plugin con poco o ningún contenido propio: su manifiesto hace el trabajo. Colócalo en la raíz del repo para que el propio repo sea el meta-plugin:

```jsonc theme={null}
// .devin-plugin/plugin.json (raíz del repositorio)
{
  "name": "team-starter-pack",
  "requiredPlugins": [
    // instalado automáticamente para todos, de forma recursiva
    { "source": "git-subdir", "url": "https://github.com/acme/plugins.git", "path": "plugins/engineering-baseline" },
    { "source": "git-subdir", "url": "https://github.com/acme/plugins.git", "path": "plugins/security-guardrails" }
  ],
  "optionalPlugins": [
    // aprobado, no instalado automáticamente; también una excepción a las restricciones de este manifiesto
    { "source": "git-subdir", "url": "https://github.com/acme/plugins.git", "path": "plugins/frontend-standards" }
  ],
  "forbiddenPlugins": [
    "untrusted-vendor/*"
  ]
}
```

<div id="5-distribute-from-settings-marketplace">
  ## 5. Distribuir desde Settings → Marketplace
</div>

Un Admin agrega una entrada al manifest administrado en la [página de Settings → Marketplace](https://app.devin.ai/settings/marketplace) — consulta la [guía del marketplace de plugins](/es/product-guides/plugins):

```json theme={null}
{
  "requiredPlugins": ["acme/plugins"]
}
```

Exigir el repo del marketplace instala su meta-plugin raíz, que incorpora recursivamente toda la configuración base.

Todos los que estén dentro del ámbito reciben ahora la configuración base automáticamente. Elige el ámbito con cuidado:

* El manifiesto de **enterprise/cuenta** se aplica a las sesiones en la nube **y** a los usuarios de la CLI que hayan iniciado sesión en la cuenta.
* El manifiesto de **organización** se aplica **solo a las sesiones en la nube** — la CLI no tiene contexto de organización.

<div id="6-govern">
  ## 6. Gobernanza
</div>

Las tres listas conforman el lenguaje de políticas en todos los niveles (manifiestos gestionados, configuración del repo, manifiestos de plugins). Prevalece el nivel de autoridad más alto: enterprise/cuenta por encima de organización, organización por encima de repo y repo por encima de usuario; y un nivel inferior nunca puede volver a permitir lo que un nivel superior prohíbe, ni prohibir lo que exige.

Para limitar una cuenta únicamente a un conjunto aprobado:

```json theme={null}
{
  "forbiddenPlugins": ["*"],
  "requiredPlugins": [
    "acme/plugins",
    { "source": "git-subdir", "url": "https://github.com/acme/plugins.git", "path": "plugins/engineering-baseline" },
    { "source": "git-subdir", "url": "https://github.com/acme/plugins.git", "path": "plugins/security-guardrails" }
  ],
  "optionalPlugins": [
    { "source": "git-subdir", "url": "https://github.com/acme/plugins.git", "path": "plugins/frontend-standards" }
  ]
}
```

Las propias entradas required/optional del manifiesto están exentas de su propia prohibición `"*"`; nada más lo está, y ningún nivel inferior puede ampliar esa excepción. La exención cubre solo las entradas *listadas directamente* — las dependencias transitivas de un plugin marcado como required no están exentas — así que, en un entorno bloqueado, lista explícitamente todo lo que incorpora el meta-plugin (aquí `engineering-baseline` y `security-guardrails`). Consulta las [reglas de gobernanza](/es/product-guides/plugins#governance-rules) para ver la semántica completa.

<div id="7-evolve">
  ## 7. Evoluciona
</div>

* Hacer merge en la rama predeterminada del repo de tu plugin **es** la versión: las sesiones nuevas lo recogen automáticamente — consulta [cómo se implementan las actualizaciones](/es/product-guides/plugins#how-updates-roll-out).
* Los equipos agregan plugins mediante una pull request (PR) al repo del marketplace; la CI de la plantilla valida la estructura en cada PR.
* Los plugins de Claude existentes se instalan tal cual (Devin recurre a `.claude-plugin/plugin.json`), así que puedes respaldar plugins de la comunidad en `optionalPlugins` sin tener que incluirlos en el repositorio.

<div id="current-limitations">
  ## Limitaciones actuales
</div>

* Los plugins se cargan en sesiones en la nube, en [Devin CLI](/es/cli/index) y en Devin Desktop (al usar Devin Local); no se aplican al agente Cascade clásico.
* **Subagentes** (`agents/<name>.md` or `agents/<name>/AGENT.md`) se cargan solo en agentes locales de Devin (CLI y Devin Desktop), no en sesiones en la nube.
* **Hooks**: las sesiones en la nube ejecutan hooks de `command` para todos los [eventos](/es/cli/extensibility/hooks/lifecycle-hooks) excepto `SessionStart` y `SessionEnd`; los hooks de tipo `prompt` solo están disponibles en CLI/local.
* **MCP servido por plugins** se carga dentro de la sesión, pero aún no aparece en la interfaz de Settings de MCP.
* Los manifiestos **a nivel de la organización** no llegan a los usuarios de CLI; usa el manifiesto de enterprise/cuenta para aplicar la enforcement en CLI.

<div id="learn-more">
  ## Más información
</div>

* [Marketplace de plugins](/es/product-guides/plugins) — la parte de la aplicación web: manifiestos, ámbitos, cargas
* [Referencia de plugins para la CLI](/es/cli/extensibility/plugins/overview) — formato de archivo, creación, instalaciones por usuario
* [Skills](/es/product-guides/skills) — los procedimientos de `SKILL.md` incluidos en los paquetes de plugins
