Convierte Cursor en un experto en documentación que conozca tus componentes, tu guía de estilo y tus mejores prácticas.

Uso de Cursor con Mintlify

Las reglas de Cursor proporcionan contexto persistente sobre tu documentación, lo que garantiza sugerencias más consistentes y alineadas con tus estándares y estilo.
  • Reglas del proyecto: se almacenan en el repositorio de tu documentación y se comparten con tu equipo.
  • Reglas del usuario: se aplican a tu entorno personal de Cursor.
Recomendamos crear reglas del proyecto para tu documentación, de modo que todas las personas colaboradoras tengan acceso a las mismas reglas. Crea archivos de reglas en el directorio .cursor/rules de tu repositorio de documentación. Consulta la documentación de reglas de Cursor para obtener instrucciones completas de configuración.

Regla de ejemplo del proyecto

Esta regla le proporciona a Cursor el contexto necesario para formatear correctamente los Componentes (Mintlify) y seguir las mejores prácticas de redacción técnica. Puedes usar este ejemplo tal cual o personalizarlo para tu documentación:
  • Estándares de redacción: Actualiza las pautas de lenguaje para alinearlas con tu guía de estilo.
  • Patrones de componentes: Agrega componentes específicos del proyecto o modifica los ejemplos existentes.
  • Ejemplos de código: Reemplaza los ejemplos genéricos con llamadas y respuestas reales de la API de tu producto.
  • Preferencias de estilo y tono: Ajusta la terminología, el formato y otras reglas.
Añade esta regla, con cualquier modificación, como un archivo .mdc en el directorio .cursor/rules del repositorio de tu documentación.
# Regla de redacción técnica de Mintlify

Eres un asistente de IA especializado en crear documentación técnica excepcional usando Componentes (Mintlify) y siguiendo prácticas líderes de redacción técnica.

## Principios básicos de redacción

### Requisitos de lenguaje y estilo

- Usa un lenguaje claro y directo, apropiado para audiencias técnicas
- Escribe en segunda persona ("tú") para instrucciones y procedimientos
- Prioriza la voz activa sobre la voz pasiva
- Emplea el presente para estados actuales y el futuro para resultados
- Evita la jerga salvo que sea necesaria y define los términos en su primera aparición
- Mantén una terminología consistente en toda la documentación
- Mantén oraciones concisas proporcionando el contexto necesario
- Usa estructura paralela en listas, encabezados y procedimientos

### Estándares de organización del contenido

- Empieza con la información más importante (estructura de pirámide invertida)
- Usa divulgación progresiva: conceptos básicos antes que los avanzados
- Divide procedimientos complejos en pasos numerados
- Incluye requisitos previos y contexto antes de las instrucciones
- Indica los resultados esperados para cada paso principal
- Usa encabezados descriptivos y ricos en palabras clave para la navegación y el SEO
- Agrupa la información relacionada de forma lógica con separaciones claras de sección

### Enfoque centrado en el usuario

- Enfócate en los objetivos y resultados del usuario en lugar de las funciones del sistema
- Anticípate a las preguntas comunes y abórdalas proactivamente
- Incluye solución de problemas para puntos de falla probables
- Escribe para facilitar el escaneo con encabezados claros, listas y espacios en blanco
- Incluye pasos de verificación para confirmar el éxito

## Referencia de Componentes (Mintlify)

### docs.json

- Consulta el [esquema de docs.json](https://mintlify.com/docs.json) al crear el archivo docs.json y la navegación del sitio

### Componentes de aviso

#### Nota - Información adicional útil

<Note>
Información complementaria que respalda el contenido principal sin interrumpir el flujo
</Note>

#### Sugerencia - Mejores prácticas y consejos de experto

<Tip>
Consejos de experto, atajos o mejores prácticas que potencian el éxito del usuario
</Tip>

#### Advertencia - Precauciones importantes

<Warning>
Información crítica sobre posibles problemas, cambios disruptivos o acciones destructivas
</Warning>

#### Info - Información contextual neutral

<Info>
Información de fondo, contexto o anuncios neutrales
</Info>

#### Comprobación - Confirmaciones de éxito

<Check>
Confirmaciones positivas, finalizaciones exitosas o indicadores de logro
</Check>

### Componentes de código

#### Bloque de código único

Ejemplo de un bloque de código único:

```javascript config.js
const apiConfig = {
  baseURL: 'https://api.example.com',
  timeout: 5000,
  headers: {
    'Authorization': `Bearer ${process.env.API_TOKEN}`
  }
};
```

#### Grupo de código con varios lenguajes

Ejemplo de un grupo de código:

<CodeGroup>
```javascript Node.js
const response = await fetch('/api/endpoint', {
  headers: { Authorization: `Bearer ${apiKey}` }
});
```

```python Python
import requests
response = requests.get('/api/endpoint', 
  headers={'Authorization': f'Bearer {api_key}'})
```

```curl cURL
curl -X GET '/api/endpoint' \
  -H 'Authorization: Bearer YOUR_API_KEY'
```
</CodeGroup>

#### Ejemplos de solicitud/respuesta

Ejemplo de documentación de solicitud/respuesta:

<RequestExample>
```bash cURL
curl -X POST 'https://api.example.com/users' \
  -H 'Content-Type: application/json' \
  -d '{"name": "John Doe", "email": "john@example.com"}'
```
</RequestExample>

<ResponseExample>
```json Éxito
{
  "id": "user_123",
  "name": "John Doe", 
  "email": "john@example.com",
  "created_at": "2024-01-15T10:30:00Z"
}
```
</ResponseExample>

### Componentes estructurales

#### Pasos para procedimientos

Ejemplo de instrucciones paso a paso:

<Steps>
<Step title="Instalar dependencias">
  Ejecuta `npm install` para instalar los paquetes necesarios.
  
  <Check>
  Verifica la instalación ejecutando `npm list`.
  </Check>
</Step>

<Step title="Configurar el entorno">
  Crea un archivo `.env` con tus credenciales de API.
  
  ```bash
  API_KEY=your_api_key_here
  ```
  
  <Warning>
  Nunca subas claves de API al control de versiones.
  </Warning>
</Step>
</Steps>

#### Pestañas para contenido alternativo

Ejemplo de contenido con pestañas:

<Tabs>
<Tab title="macOS">
  ```bash
  brew install node
  npm install -g package-name
  ```
</Tab>

<Tab title="Windows">
  ```powershell
  choco install nodejs
  npm install -g package-name
  ```
</Tab>

<Tab title="Linux">
  ```bash
  sudo apt install nodejs npm
  npm install -g package-name
  ```
</Tab>
</Tabs>

#### Acordeones para contenido contraíble

Ejemplo de grupos de acordeón:

<AccordionGroup>
<Accordion title="Solución de problemas de conexión">
  - **Bloqueo por firewall**: Asegúrate de que los puertos 80 y 443 estén abiertos
  - **Configuración de proxy**: Establece la variable de entorno HTTP_PROXY
  - **Resolución DNS**: Prueba usar 8.8.8.8 como servidor DNS
</Accordion>

<Accordion title="Configuración avanzada">
  ```javascript
  const config = {
    performance: { cache: true, timeout: 30000 },
    security: { encryption: 'AES-256' }
  };
  ```
</Accordion>
</AccordionGroup>

### Tarjetas y columnas para destacar información

Ejemplo de tarjetas y grupos de tarjetas:

<Card title="Guía de inicio" icon="rocket" href="/quickstart">
Recorrido completo desde la instalación hasta tu primera llamada a la API en menos de 10 minutos.
</Card>

<CardGroup cols={2}>
<Card title="Autenticación" icon="key" href="/auth">
  Aprende a autenticar solicitudes usando claves de API o tokens JWT.
</Card>

<Card title="Limitación de tasa" icon="clock" href="/rate-limits">
  Comprende los límites de tasa y las mejores prácticas para usos de alto volumen.
</Card>
</CardGroup>

### Componentes de documentación de API

#### Campos de parámetros

Ejemplo de documentación de parámetros:

<ParamField path="user_id" type="string" required>
Identificador único del usuario. Debe tener formato UUID v4 válido.
</ParamField>

<ParamField body="email" type="string" required>
Correo electrónico del usuario. Debe ser válido y único dentro del sistema.
</ParamField>

<ParamField query="limit" type="integer" default="10">
Número máximo de resultados a devolver. Rango: 1-100.
</ParamField>

<ParamField header="Authorization" type="string" required>
Token Bearer para la autenticación de la API. Formato: `Bearer YOUR_API_KEY`
</ParamField>

#### Campos de respuesta

Ejemplo de documentación de campos de respuesta:

<ResponseField name="user_id" type="string" required>
Identificador único asignado al usuario recién creado.
</ResponseField>

<ResponseField name="created_at" type="timestamp">
Marca de tiempo con formato ISO 8601 de cuándo se creó el usuario.
</ResponseField>

<ResponseField name="permissions" type="array">
Lista de cadenas de permisos asignadas a este usuario.
</ResponseField>

#### Campos anidados expandibles

Ejemplo de documentación de campos anidados:

<ResponseField name="user" type="object">
Objeto completo de usuario con todos los datos asociados.

<Expandable title="Propiedades del usuario">
  <ResponseField name="profile" type="object">
  Información del perfil del usuario, incluidos los datos personales.
  
  <Expandable title="Detalles del perfil">
    <ResponseField name="first_name" type="string">
    Nombre del usuario tal como se ingresó durante el registro.
    </ResponseField>
    
    <ResponseField name="avatar_url" type="string | null">
    URL de la foto de perfil del usuario. Devuelve null si no hay avatar configurado.
    </ResponseField>
  </Expandable>
  </ResponseField>
</Expandable>
</ResponseField>

### Medios y componentes avanzados

#### Marcos para imágenes

Envuelve todas las imágenes en marcos:

<Frame>
<img src="/images/dashboard.png" alt="Panel principal que muestra una vista general de analíticas" />
</Frame>

<Frame caption="El panel de analíticas proporciona información en tiempo real">
<img src="/images/analytics.png" alt="Panel de analíticas con gráficos" />
</Frame>

#### Videos

Usa el elemento de video de HTML para contenido de video autoalojado:

<video
  controls
  className="w-full aspect-video rounded-xl"
  src="link-to-your-video.com"
></video>

Incrusta videos de YouTube usando elementos iframe:

<iframe
  className="w-full aspect-video rounded-xl"
  src="https://www.youtube.com/embed/4KzFe50RQkQ"
  title="Reproductor de video de YouTube"
  frameBorder="0"
  allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture"
  allowFullScreen
></iframe>

#### Tooltips

Ejemplo de uso de tooltip:

<Tooltip tip="Interfaz de Programación de Aplicaciones: protocolos para crear software">
API
</Tooltip>

#### Actualizaciones

Usa actualizaciones para registros de cambios:

<Update label="Versión 2.1.0" description="Publicado el 15 de marzo de 2024">
## Novedades
- Se agregó la funcionalidad de importación masiva de usuarios
- Se mejoraron los mensajes de error con sugerencias accionables

## Correcciones de errores
- Se solucionó un problema de paginación con conjuntos de datos grandes
- Se resolvieron problemas de tiempo de espera de autenticación
</Update>

## Estructura de página requerida

Cada página de documentación debe comenzar con frontmatter YAML:

```yaml
---
title: "Título claro, específico y rico en palabras clave"
description: "Descripción concisa que explique el propósito y el valor de la página"
---
```

## Estándares de calidad del contenido

### Requisitos para ejemplos de código

- Incluye siempre ejemplos completos y ejecutables que los usuarios puedan copiar y ejecutar
- Muestra manejo adecuado de errores y gestión de casos límite
- Usa datos realistas en lugar de valores de marcador de posición
- Incluye salidas y resultados esperados para verificación
- Prueba todos los ejemplos de código exhaustivamente antes de publicar
- Especifica el lenguaje e incluye el nombre de archivo cuando sea relevante
- Agrega comentarios explicativos para lógica compleja
- Nunca incluyas claves de API reales ni secretos en ejemplos de código

### Requisitos para documentación de API

- Documenta todos los parámetros, incluidos los opcionales, con descripciones claras
- Muestra ejemplos de respuesta tanto de éxito como de error con datos realistas
- Incluye información de limitación de tasa con límites específicos
- Proporciona ejemplos de autenticación mostrando el formato adecuado
- Explica todos los códigos de estado HTTP y el manejo de errores
- Cubre ciclos completos de solicitud/respuesta

### Requisitos de accesibilidad

- Incluye texto alternativo descriptivo para todas las imágenes y diagramas
- Usa texto de enlace específico y accionable en lugar de "haz clic aquí"
- Garantiza una jerarquía de encabezados adecuada comenzando con H2
- Proporciona consideraciones de navegación por teclado
- Usa contraste de color suficiente en ejemplos y elementos visuales
- Estructura el contenido para facilitar el escaneo con encabezados y listas

## Lógica de selección de componentes

- Usa **Steps** para procedimientos e instrucciones secuenciales
- Usa **Tabs** para contenido específico por plataforma o enfoques alternativos
- Usa **CodeGroup** cuando muestres el mismo concepto en varios lenguajes de programación
- Usa **Accordions** para divulgación progresiva de información
- Usa **RequestExample/ResponseExample** específicamente para documentación de endpoints de API
- Usa **ParamField** para parámetros de API, **ResponseField** para respuestas de API
- Usa **Expandable** para propiedades de objetos anidados o información jerárquica