Docs Commands
Commands para generar documentación y diagramas.
/diagram
Genera diagramas ASCII y Mermaid.
Uso
/diagram
/diagram ascii
/diagram mermaid
Tipos de diagramas
| Tipo | Formato |
|---|---|
ascii | Diagrama en texto plano |
mermaid | Sintaxis Mermaid (renderizable) |
Diagramas soportados
- Flowcharts - Flujos de proceso
- Sequence - Diagramas de secuencia
- Class - Diagramas de clases
- ER - Entity-Relationship
- State - Máquinas de estado
- Architecture - Arquitectura de sistema
Ejemplo ASCII
┌─────────────┐ ┌─────────────┐ ┌─────────────┐
│ Client │──────▶│ Server │──────▶│ Database │
└─────────────┘ └─────────────┘ └─────────────┘
│ │ │
│ HTTP Request │ SQL Query │
│────────────────────▶│─────────────────────▶│
│ │ │
│ JSON Response │ Result Set │
│◀────────────────────│◀─────────────────────│
Ejemplo Mermaid
sequenceDiagram
participant C as Client
participant S as Server
participant D as Database
C->>S: HTTP Request
S->>D: SQL Query
D-->>S: Result Set
S-->>C: JSON Response
¿Qué hace?
- Analiza el contexto o código proporcionado
- Identifica componentes y relaciones
- Genera diagrama en el formato solicitado
- Agrega labels y descripciones
/document
Genera documentación automática para código.
Uso
/document
/document api
/document readme
/document jsdoc
Tipos de documentación
| Tipo | Output |
|---|---|
api | Documentación de API (endpoints, params) |
readme | README.md para el proyecto/módulo |
jsdoc | JSDoc comments para funciones |
typedoc | TypeDoc para TypeScript |
Ejemplo JSDoc
Input:
function calculateDiscount(price, percentage, maxDiscount) {
const discount = price * (percentage / 100);
return Math.min(discount, maxDiscount);
}
Output:
/**
* Calculates a discount amount with a maximum cap.
*
* @param {number} price - The original price
* @param {number} percentage - Discount percentage (0-100)
* @param {number} maxDiscount - Maximum discount allowed
* @returns {number} The calculated discount, capped at maxDiscount
*
* @example
* calculateDiscount(100, 20, 15) // Returns 15 (capped)
* calculateDiscount(100, 10, 15) // Returns 10
*/
function calculateDiscount(price, percentage, maxDiscount) {
const discount = price * (percentage / 100);
return Math.min(discount, maxDiscount);
}
Ejemplo API Docs
## POST /api/users
Creates a new user account.
### Request Body
| Field | Type | Required | Description |
|-------|------|----------|-------------|
| email | string | Yes | User email |
| password | string | Yes | Min 8 chars |
| name | string | No | Display name |
### Response
```json
{
"id": "uuid",
"email": "user@example.com",
"name": "John Doe",
"createdAt": "2025-01-01T00:00:00Z"
}
Errors
| Code | Description | |——|————-| | 400 | Invalid input | | 409 | Email already exists |
---
## Referencia rápida
```bash
# Diagramas
/diagram # Auto-detect tipo
/diagram ascii # Formato texto plano
/diagram mermaid # Formato Mermaid
# Documentación
/document # Auto-detect tipo
/document api # API docs
/document readme # README.md
/document jsdoc # JSDoc comments