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

# Contribuir con una plantilla al catálogo público de Vertra Cloud

> Añade una plantilla de la comunidad al catálogo público con un pull request: estructura de carpetas, validación, revisión e insignia Comunidad.

Contribuyes con una plantilla al catálogo público mediante un pull request al [repositorio público de plantillas](https://github.com/vertracloud/templates) en GitHub. No hay ningún formulario de envío en el panel. Una contribución puede ser una plantilla de código o de imagen, y la plantilla sigue abierta: una plantilla pública nunca puede cerrarse.

## Pasos

**1. Haz un fork y añade una carpeta**

Haz un fork del repositorio y añade una carpeta con el nombre de tu plantilla, por ejemplo `discord-bot-tickets/`, con:

```text theme={null}
discord-bot-tickets/
  vertracloud.template.yaml   # the manifest
  src/                        # the code (code template), or a Dockerfile and its context (image template)
  README.md                   # shown on the template's page
  docs/                       # optional extra pages
  icon.svg                    # the icon
```

**2. Valida el manifiesto**

Ejecuta la comprobación desde la carpeta. Compara el manifiesto con el esquema y las reglas de la plataforma y no crea nada:

```bash theme={null}
vertra template validate discord-bot-tickets
```

Añade la línea del esquema al principio del manifiesto para tener ayuda en el editor: consulta el [esquema del manifiesto](https://docs.vertracloud.app/es-es/templates/reference/manifest-schema.md). Las plantillas públicas tienen algunas reglas adicionales, más abajo.

**3. Pruébala como plantilla privada**

Créala como plantilla privada en tu propia cuenta y úsala de verdad; es el mismo motor que el del catálogo público. Consulta [Validar y probar](https://docs.vertracloud.app/es-es/templates/create/validate-and-test.md#pruébala-como-plantilla-privada).

**4. Abre el pull request**

La CI valida el manifiesto, construye la imagen si hay un Dockerfile, busca file capabilities en ella (un binario con una de ellas no se ejecuta en la plataforma) y comprueba la licencia declarada.

**5. Revisión**

Vertra Cloud ejecuta la plantilla en la plataforma y revisa el cambio en cuanto a seguridad (sin miners, telemetría oculta ni secretos en el código), una licencia que permita la distribución pública y la calidad del README. Corrige lo que se pida y vuelve a hacer push.

**6. Merge y publicación**

Al hacer merge, la carpeta de ese commit se empaqueta como una versión de la plantilla y se publica con la insignia **Comunidad** y tu nombre como autor. Nadie depende de tu cuenta: el código vive en Vertra Cloud, y una plantilla de imagen pasa a ser una imagen mantenida por la plataforma.

Las versiones nuevas son pull requests nuevos, revisados de nuevo.

## Reglas adicionales para plantillas públicas

| Regla | Motivo | Hallazgo si se incumple |
| - | - | - |
| Fija cada imagen por digest (`name@sha256:...`) | Todos los que usan una versión obtienen el mismo software | `invalid_source` |
| Los servicios de código necesitan `source.path` | El código vive en el repositorio | `invalid_source` |
| Sin `env_hidden` | Los valores públicos son visibles por definición | `forbidden_in_public` |
| Sin `code.view: false` | El código público siempre es abierto | `forbidden_in_public` |
| Sin `share.full_copy` | Los enlaces para compartir son para plantillas privadas | `forbidden_in_public` |
| `min_plan` debe ser un id de plan real | Un plan renombrado no puede dejar una plantilla mal | `invalid_plan` |

Los ids de plantilla son únicos en todo el catálogo. Escribe el `README.md` como lo necesita un usuario: qué crea la plantilla, qué hacer después del despliegue y dónde viven los datos. Declara la licencia del software original en `links.license`.

## Después del merge

* Vertra Cloud mantiene la plantilla. Las actualizaciones del software llegan mediante versiones nuevas; quienes usan la plantilla ven **Nueva versión disponible** y deciden cuándo actualizar.
* Una plantilla que ya no se mantiene se marca como **obsoleta** y sale de la galería. Las apps ya creadas siguen en ejecución y se les avisa. Una imagen que una plantilla todavía usa solo se elimina con aviso previo y una vía de migración para quienes la usan.

## Relacionado

> [card] [Tutorial: de privado a público](https://docs.vertracloud.app/es-es/templates/tutorials/private-to-public-pr.md)
>
> Todo el camino, de una plantilla privada a un pull request.

> [card] [Buenas prácticas](https://docs.vertracloud.app/es-es/templates/create/best-practices.md)
>
> Léelo antes de abrir el PR.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.