Documentación versionada, desde los repositorios que ya tienes
duxt es una capa de Nuxt: extiéndela y tu carpeta docs/ se convierte en un sitio, con tema, búsqueda, referencia de API y llms.txt. Apúntala a otros repositorios, o a etiquetas del mismo, y cada uno se convierte en una versión.
- línea de configuración
- 1
- idiomas incluidos
- 7
- con licencia, código abierto
- MIT
Demo en vivo
Configuración
Una línea, y la carpeta es un sitio
duxt es una capa de Nuxt: extenderla aporta el tema, las páginas, los componentes y los pasos de compilación a la vez, y deja todo reemplazable.
- Sin generador y sin nada que expulsar: tu repositorio conserva sus archivos.
- Sobrescribe un componente colocando el tuyo en la misma ruta.
- Compila a un sitio estático: despliégalo donde vaya Nuxt.
export default defineNuxtConfig({
extends: ['@kirchdev/duxt']
})
Fuentes
Varios repositorios, varias versiones, una lista
Una fuente es un repositorio y las refs que publicar de él. duxt convierte la lista en una colección por versión y repositorio, y en los prefijos de URL que las separan: decidido en tiempo de compilación.
- Clonado, autenticación de repos privados y caché son del propio Content v3.
- Una fuente única no necesita prefijo: un segmento con un solo valor no distingue nada.
- El selector permanece en la página que lees, y avisa cuando allí no existe.
sources: [
// The repository you are standing in.
{ path: 'docs' },
// Another one, at three of its tags.
{
repo: 'acme/api',
path: 'docs',
refs: [
{ branch: 'main', status: 'upcoming' },
{ tag: 'v2.0.0' },
{ tag: 'v1.4.0', status: 'eol' }
]
}
],
sourceOptions: { defaultRef: 'v2.0.0' }
Referencia de API
Un documento OpenAPI, publicado como páginas
Apunta una fuente al archivo y duxt construye un resumen, una página por etiqueta y otra por operación, con los esquemas expandidos, la seguridad nombrada y los ejemplos derivados. Son una colección normal, y ese es el objetivo.
- La búsqueda las encuentra, llms.txt las lista, el sitemap las incluye.
- Versionada como la prosa: el selector cambia entre dos versiones de un mismo endpoint.
- Junto a tu Markdown: una página de operación puede llevar su propia prosa.
Pruébalo
Un cliente que envía la petición real
Cada página de operación lleva un cliente. Rellena los parámetros, edita el cuerpo contra su esquema, envíalo desde tu navegador y lee la respuesta junto al ejemplo que la habría producido.
- Siete ejemplos de fábrica, doce incluidos, o uno propio: reescritos mientras escribes.
- El editor del cuerpo es CodeMirror, cargado bajo demanda: una página sin endpoint no descarga nada de él.
- Tu token se queda en tu navegador: aquí no hay servidor al que enviarlo.
Enviar una solicitud
En tu stack
La misma petición, en tu propio lenguaje
No un ejemplo de una petición como la de arriba: esa petición. El servidor que elegiste, el token que escribiste y el cuerpo que editaste, reescritos en cada pulsación al cliente donde vayas a pegarlo.
- Un solo componente: el ejemplo y el botón no pueden discrepar.
- Añade los tuyos con `requestSamples`, o quita los que tus lectores no usan.
Ejemplo de petición
curl '/demo/echo' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer demo-token' \
-d '{
"reference": "HB-1042",
"mode": "sea"
}'Lectores automáticos
Escrita también para el modelo que la lee
El mismo contenido, publicado por segunda vez en las formas que lee una máquina: un índice en llms.txt, el sitio entero en llms-full.txt, cada página como su propio Markdown y una ruta MCP que un asistente puede buscar.
- Salida de compilación, no un servicio en ejecución: los archivos están en el CDN con las páginas.
- Cada página tiene un «copiar como Markdown» y un enlace que la abre en un asistente.
- La ruta MCP sirve las mismas colecciones que consulta el sitio: una fuente, dos lectores.
Funcionalidades
Extender, no generar
Una línea de configuración aporta tema, páginas y componentes: cualquier archivo se puede sobrescribir.
Fuentes como una lista
Una declaración por fuente en lugar de una colección por versión y repositorio.
Versiones conmutables
Una etiqueta se convierte en versión, y el selector no abandona la página que lees.
Localizado de fábrica
La interfaz está traducida; tus páginas llevan prefijo de idioma y hreflang.
Nativo de Git, no reinventado
Ramas, etiquetas, repositorios privados y caché vienen del propio Content v3.
shadcn-vue
Los componentes se copian, no se importan. Rediseñar uno es editar un archivo.
Componentes en Markdown
MDC viene con Content: llama a un componente Vue con sintaxis de bloque.
Legible por máquinas
llms.txt y una ruta MCP sobre el mismo contenido, previstas como salida de compilación.