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

# Editorial contract

> El contrato explícito entre la app de recordings y el repo de docs para playbooks, guidelines y content.

## Metadata obligatoria

Toda entry pública tiene que empezar con frontmatter YAML y declarar:

```yaml theme={null}
---
title: "..."
description: "..."
icon: "..."
assetType: "playbook | guideline | content"
sourceUrl: "https://..."
---
```

* `assetType` fija el rail público donde vive la pieza.
* `sourceUrl` tiene que ser la URL canónica pública del material que disparó el asset.

## Reglas globales

* Nada de placeholders (`TODO`, `[insertar ...]`).
* Nada de URLs locales o privadas (`localhost`, `127.0.0.1`, `0.0.0.0`, rangos `10.x` / `172.16-31.x` / `192.168.x`, `*.local`, `*.internal`).
* Nada de claims factuales que no estén sostenidos por los moments fuente.
* Cada pieza vive en un path canónico y la navegación de `docs.json` la publica bajo su grupo correcto.

## File paths canónicos

* Playbooks: `growth/playbooks/<slug>.mdx`
* Guidelines: `growth/guidelines/<slug>.mdx`
* Content: `growth/content/<slug>.mdx`

## Plantilla: playbook

```mdx theme={null}
---
title: "..."
description: "..."
icon: "rocket"
assetType: "playbook"
sourceUrl: "https://..."
---

## ¿Qué problema resuelve?

## Antes de empezar

## Pasos

## Errores comunes

## Lo que aprendimos
```

## Plantilla: guideline

```mdx theme={null}
---
title: "..."
description: "..."
icon: "compass"
assetType: "guideline"
sourceUrl: "https://..."
---

## La regla

## Por qué

## Cuándo aplica / cuándo no

## Casos del archivo
```

## Plantilla: content

```mdx theme={null}
---
title: "..."
description: "..."
icon: "book-open"
assetType: "content"
sourceUrl: "https://..."
---

## El contexto

## Lo que probé / lo que vi

## Lo que sale en limpio
```

## Por qué este contrato existe

<Note>
  Antes de este bootstrap, `docs.json` y la estructura on-disk eran una suposición difusa del app. Ahora son un contrato explícito: si una pieza no entra en este formato, el preflight la frena antes de abrir la branch de review.
</Note>
