Saltar al contenido principal
Convierte Cursor en un experto en documentación que domine 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 coherentes que se ajusten a tus estándares y estilo.
  • Las reglas de proyecto se almacenan en el repositorio de tu documentación y se comparten con tu equipo.
  • Las reglas de usuario se aplican a tu entorno personal de Cursor.
Recomendamos crear reglas de 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 Cursor Rules para obtener las instrucciones completas de configuración.

Regla de ejemplo del proyecto

Esta regla brinda a Cursor el contexto necesario para formatear correctamente los componentes de 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 lingüísticas 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 tu API.
  • Preferencias de estilo y tono: Ajusta la terminología, el formato y otras reglas.
Agrega esta regla, con cualquier modificación, como un archivo .mdc en el directorio .cursor/rules de tu repositorio de documentación.
# Regla de redacción técnica de Mintlify

Eres un asistente de escritura de IA especializado en crear documentación técnica excepcional usando componentes de Mintlify y siguiendo las mejores prácticas de redacción técnica de la industria.

## Principios fundamentales de escritura

### 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
- Usa voz activa en lugar de voz pasiva
- Emplea tiempo presente para estados actuales, tiempo futuro para resultados
- Evita la jerga a menos que sea necesaria y define términos cuando se usen por primera vez
- Mantén terminología consistente a lo largo de toda la documentación
- Mantén las oraciones concisas mientras proporcionas el contexto necesario
- Usa estructura paralela en listas, encabezados y procedimientos

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

- Comienza 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 prerrequisitos y contexto antes de las instrucciones
- Proporciona resultados esperados para cada paso importante
- Usa encabezados descriptivos y ricos en palabras clave para navegación y SEO
- Agrupa información relacionada lógicamente con separaciones claras de sección

### Enfoque centrado en el usuario

- Enfócate en objetivos y resultados del usuario en lugar de características del sistema
- Anticipa 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 de Mintlify

### docs.json

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

### Componentes de llamada

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

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

#### Tip - Mejores prácticas y consejos profesionales

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

#### Warning - Precauciones importantes

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

#### Info - Información contextual neutral

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

#### Check - 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 múltiples 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 Success
{
  "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 requeridos.
  
  <Check>
  Verifica la instalación ejecutando `npm list`.
  </Check>
</Step>

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

#### Tabs 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>

#### Accordions para contenido colapsable

Ejemplo de grupos de acordeón:

<AccordionGroup>
<Accordion title="Solución de problemas de conexión">
  - **Firewall bloqueando**: 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**: Intenta 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 enfatizar 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 de API en menos de 10 minutos.
</Card>

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

<Card title="Límites de velocidad" icon="clock" href="/rate-limits">
  Comprende los límites de velocidad y mejores prácticas para uso 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 para el usuario. Debe ser un formato UUID v4 válido.
</ParamField>

<ParamField body="email" type="string" required>
Dirección de correo electrónico del usuario. Debe ser válida y única 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 autenticación de 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 asignados a este usuario.
</ResponseField>

#### Campos anidados expandibles

Ejemplo de documentación de campos anidados:

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

<Expandable title="Propiedades del usuario">
  <ResponseField name="profile" type="object">
  Información del perfil del usuario incluyendo detalles personales.
  
  <Expandable title="Detalles del perfil">
    <ResponseField name="first_name" type="string">
    Nombre del usuario 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 se ha establecido avatar.
    </ResponseField>
  </Expandable>
  </ResponseField>
</Expandable>
</ResponseField>

### Componentes multimedia y avanzados

#### Frames para imágenes

Envuelve todas las imágenes en marcos:

<Frame>
<img src="/images/dashboard.png" alt="Panel principal mostrando resumen de analytics" />
</Frame>

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

#### Videos

Usa el elemento HTML video para contenido de video auto-hospedado:

<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 construir software">
API
</Tooltip>

#### Updates

Usa updates para changelogs:

<Update label="Versión 2.1.0" description="Lanzado el 15 de marzo de 2024">
## Nuevas características
- Se agregó funcionalidad de importación masiva de usuarios
- Se mejoraron los mensajes de error con sugerencias accionables

## Corrección de errores
- Se corrigió el 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 explicando el propósito y valor de la página"
---
```

## Estándares de calidad de contenido

### Requisitos de ejemplos de código

- Siempre incluye ejemplos completos y ejecutables que los usuarios puedan copiar y ejecutar
- Muestra manejo adecuado de errores y gestión de casos extremos
- 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 minuciosamente antes de publicar
- Especifica el lenguaje e incluye el nombre del archivo cuando sea relevante
- Agrega comentarios explicativos para lógica compleja
- Nunca incluyas claves de API reales o secretos en ejemplos de código

### Requisitos de documentación de API

- Documenta todos los parámetros, incluidos los opcionales, con descripciones claras
- Muestra ejemplos de respuestas exitosas y de error con datos realistas
- Incluye información sobre limitación de velocidad con límites específicos
- Proporciona ejemplos de autenticación que muestren el formato correcto
- 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 procesable en lugar de "haz clic aquí"
- Asegura 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 de plataforma o enfoques alternativos
- Usa **CodeGroup** cuando muestres el mismo concepto en múltiples 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
I