El español normativo, resuelto desde la terminal.
Una CLI en Go que consulta el Diccionario panhispánico de dudas y las superficies editoriales de la RAE mediante rutas explícitas. Tú eliges la superficie (descubrimiento, entrada directa o un slug conocido), y la respuesta llega por esa misma superficie.
$ dlexa dpd search guion# [dlexa:search] guion*Fuente: Diccionario panhispánico de dudas | Caché: HIT* --- ## Resultado semántico para "guion" - total_candidatos: 1- siguiente_paso: `dlexa dpd guion` ### 1. guion1- snippet: guion1- clasificación: dpd-entry- fuente: Diccionario panhispánico de dudas- ver_contenido: `dlexa dpd guion`Descubrimiento, entrada directa y artículos por slug son comandos distintos, de modo que la respuesta siempre corresponde a la superficie que pediste.
Descubrimiento semántico federado
dlexa search <consulta>Consulta a la vez la búsqueda general de la RAE y el índice de entradas del DPD, y devuelve candidatos con el comando de seguimiento exacto para cada uno. Aquí es donde corresponde una pregunta en lenguaje natural.
$ dlexa search solo o sóloEntrada directa en el Diccionario panhispánico de dudas
dlexa dpd <termino>Consulta por coincidencia exacta de una entrada del DPD que ya conoces. También lleva su propia ruta de descubrimiento, `dlexa dpd search <consulta>`, acotada al índice del DPD.
$ dlexa dpd tildeArtículo editorial de la RAE por slug
dlexa espanol-al-dia <slug>Abre un artículo de orientación complementaria cuando el descubrimiento ya identificó su ruta. El slug es el que aparece en la URL pública, pasado literalmente.
$ dlexa espanol-al-dia un-solo-nombre-para-cada-letraDuda lingüística resuelta por slug
dlexa duda-linguistica <slug>La superficie de la RAE para dudas puntuales ya resueltas editorialmente, mantenida como comando propio para que un slug de una colección nunca se resuelva contra otra.
$ dlexa duda-linguistica cuando-se-escriben-con-tilde-los-adverbios-en-menteAnuncios y recursos con forma de preguntas frecuentes
dlexa noticia <slug>Alcanza la superficie de noticias de la RAE, que además aloja páginas compatibles con preguntas frecuentes. El descubrimiento puede entregarte una de estas rutas directamente cuando la mejor respuesta no es una entrada de diccionario.
$ dlexa noticia preguntas-frecuentes-tilde-en-las-mayusculasCuando una consulta directa no resuelve, imprime un fallo estructurado y te entrega el comando de búsqueda para que lo ejecutes tú. La ruta sigue siendo tuya.
$ dlexa dpd tilde# [dlexa:dpd] tilde*Fuente: Diccionario panhispánico de dudas | Caché: HIT* --- # tilde ## tilde1 Diccionario panhispánico de dudas 2.ª edición … líneas 14 a 339 elididas: el cuerpo de tilde1 y tilde2 … Source: Real Academia Española y Asociación de Academias de la Lengua EspañolaDictionary: Diccionario panhispánico de dudasEdition: 2.ª ediciónURL: https://www.rae.es/dpd/tildeConsulted: 05/08/2026La superficie de descubrimiento federa dos proveedores y devuelve candidatos. Lo valioso es lo que lleva cada candidato: el comando exacto que sigue, y si ese comando puede ejecutarse ahora mismo o es apenas una indicación hacia algo que la CLI todavía no alcanza.
--source dpdEl índice de entradas del DPD, consultado por su propio endpoint de descubrimiento `/srv/keys`. Se ejecuta primero en el modo federado por defecto.
--source searchLa búsqueda general de la RAE, que alcanza artículos editoriales, dudas resueltas y páginas con forma de preguntas frecuentes más allá del diccionario.
Una ejecución federada planifica por proveedor. Para una consulta de varios tokens como `coma que explicativa`, el proveedor del DPD prueba primero el token léxico inicial, `coma`, y solo reintenta la consulta completa si no devuelve nada. La búsqueda general conserva la original, y las imprecisas igual llegan a algo útil.
ver_contenidoEjecutable ahoraEl paso siguiente abre contenido real de inmediato. Copia el comando y ejecútalo.
seguir_buscandoDiferidoEl resultado es real pero todavía ningún comando de la CLI lo cubre, así que la herramienta lo declara tal cual. En la salida JSON ese mismo estado es el campo `deferred` del candidato, que cualquier automatización debería leer antes de actuar.
$ dlexa search "solo o sólo"# [dlexa:search] solo o sólo*Fuente: búsqueda general RAE | Caché: HIT* --- ## Resultado semántico para "solo o sólo" - total_candidatos: 7- siguiente_paso: `dlexa dpd hacer` ### 1. ⊗ solo (o solamente) hacer que + infinitivo- snippet: ⊗ solo (o solamente) hacer que + infinitivo- clasificación: dpd-entry- fuente: Diccionario panhispánico de dudas- ver_contenido: `dlexa dpd hacer` ### 2. solo- snippet: solo- clasificación: dpd-entry- fuente: Diccionario panhispánico de dudas- ver_contenido: `dlexa dpd tilde` … candidatos 3 a 6 elididos: tres artículos y una duda lingüística … ### 7. Clara Janés- snippet: … «La soledad no es vivir solo » . El Mundo , 3 de octubre de 2015. … de sombra , por el que obtuvo el Premio Ciudad de Melilla, o Los secretos del bosque , Premio Jaime Gil … del sueño (1989), El hombre de Adén (1991) o Espejos de agua (1997). Suyos son, también, otros …- clasificación: unknown- fuente: RAE- url: https://www.rae.es/academico/clara-janes- seguir_buscando: `dlexa search solo o sólo`Los dos callejones sin salida imprimen los mismos cuatro campos, así que nunca te quedas con una cadena de error y una decisión encima. Una persona y un script reciben lo mismo.
La respuesta nombra la sintaxis correcta y remite a `--help`, que el proyecto trata como parte del contrato de la CLI tanto para personas como para modelos de lenguaje.
$ dlexa frobnicate# [dlexa:root] Nivel 1 · Syntax unknown command "frobnicate" for "dlexa" - objetivo: `dlexa`- sintaxis correcta: `dlexa <comando> [argumentos]`- acción: Usá `--help` para ver sintaxis válida y ejemplos copiables.Aquí se vuelve visible la regla de no redirigir. La herramienta conserva la sugerencia nativa de entrada relacionada del DPD cuando la fuente ofrece una; si no, imprime el paso explícito `dlexa search <consulta>` y se detiene.
$ dlexa dpd zzzznoexiste# [dlexa:dpd] Nivel 2 · Not Found No se encontró contenido en este módulo. - objetivo: `zzzznoexiste`- siguiente comando: `dlexa search zzzznoexiste`- acción: Probá con `dlexa search <consulta>` para descubrir la ruta correcta.Ambas se ejecutaron sin tubería para leer el estado propio del binario, y las dos devolvieron el código de salida 0. La señal para ramificar es la salida estructurada: la forma impresa, o el campo `deferred` en JSON. Conviene saberlo antes de integrarla en un script.
Tanto los módulos de consulta como los proveedores de descubrimiento ejecutan el mismo pipeline explícito. Cada etapa vive en su propio paquete, así que adquirir un documento, entenderlo y decidir cómo se ve son tres problemas que nunca se filtran entre sí.
internal/fetchAdaptadores de adquisición contra la fuente. La única capa que sabe que la RAE está al otro lado de una red.
internal/parseAnalizadores del documento en bruto. Producen registros estructurados o un fallo explícito que viaja como un resultado.
internal/normalizeTraduce la forma que tuviera la fuente al modelo compartido, de modo que nada aguas abajo tenga que ramificar según qué proveedor respondió.
internal/renderMarkdown o JSON, según `--format`. La presentación queda fuera de la lógica de los módulos, y por eso la misma consulta sirve a una persona y a un script sin una segunda ruta de código.
`internal/cache` es infraestructura explícita del pipeline: respaldada en el sistema de archivos, con reserva en memoria. Cada respuesta informa su propio estado, así que los `Caché: HIT` y `Caché: MISS` de las capturas dicen si salió a la red. `--no-cache` omite lecturas y escrituras para una sola petición.
La herramienta acepta texto libre, así que declara con claridad hacia dónde apunta. Saber exactamente qué preguntaste es lo que hace que la respuesta valga la pena pegarla en tu trabajo.
Las preguntas que el DPD existe para zanjar. Ese enfoque es lo que permite que un solo comando devuelva una respuesta accionable.
Una recomendación del DPD depende de cinco condiciones a la vez, y la herramienta las transmite todas. Recibes una orientación que puedes ponderar, con sus condiciones incluidas.
Cuando la fuente en vivo no tiene nada para un término, la respuesta es un Nivel 2 estructurado con el comando `dlexa search` exacto que lo encontraría. Toda respuesta que sí llega viene de la fuente, así que se puede dar por buena de entrada.
El caché es el sistema de archivos, con reserva en memoria. Tus consultas se quedan donde las ejecutaste, y una máquina en caliente responde desde el disco.
Cómo se representa una tabla del DPD depende de la tabla, para que la estructura con la que la entrada expone su punto sobreviva al viaje.
Go 1.22 o superior es el único requisito, y el binario lleva exactamente una dependencia directa: Cobra, para el árbol de comandos.
$ go install github.com/Disble/dlexa/cmd/dlexa@latestEl código, el README que documenta cada superficie y la guía de contribución con la cadena de linting fijada.
El Diccionario panhispánico de dudas en sí. Cada entrada que devuelve la CLI trae su bloque de atribución de vuelta hasta aquí.