Go · CLI · alfa

dlexa

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.

5
superficies de comando
18
paquetes internos
1
dependencia directa
75
archivos de prueba
dlexa · dpd search
$ 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`
La salida completa de `dlexa dpd search guion`. `Caché: HIT` indica que la ejecución se resolvió desde el caché local, y la última línea es el comando exacto que abre la entrada. La herramienta imprime en español para cualquier lector, y esta página reproduce su salida literalmente.
La superficie

Cinco rutas, y siempre nombras la que tomaste

Descubrimiento, entrada directa y artículos por slug son comandos distintos, de modo que la respuesta siempre corresponde a la superficie que pediste.

  1. 01

    search

    Descubrimiento

    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.

    Cópialo literalmente
    $ dlexa search solo o sólo
  2. 02

    dpd

    Consulta directa

    Entrada 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.

    Cópialo literalmente
    $ dlexa dpd tilde
  3. 03

    espanol-al-dia

    Artículo por slug

    Artí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.

    Cópialo literalmente
    $ dlexa espanol-al-dia un-solo-nombre-para-cada-letra
  4. 04

    duda-linguistica

    Artículo por slug

    Duda 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.

    Cópialo literalmente
    $ dlexa duda-linguistica cuando-se-escriben-con-tilde-los-adverbios-en-mente
  5. 05

    noticia

    Artículo por slug

    Anuncios 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.

    Cópialo literalmente
    $ dlexa noticia preguntas-frecuentes-tilde-en-las-mayusculas

La regla que las mantiene separadas

Cuando 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.

Lo que lleva el bloque final

Source
Las academias que publican el texto.
Dictionary
La obra a la que pertenece la entrada.
Edition
Qué edición respondió.
URL
La página canónica en rae.es de esa entrada.
Consulted
La fecha de la consulta.
dlexa · dpd tilde
$ 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/2026
Una consulta directa. La ejecución real imprime 344 líneas, así que las líneas 14 a 339 se retiran como líneas completas y el corte queda marcado donde ocurre. El bloque final es la atribución propia de la herramienta, emitida en cada entrada.
Descubrimiento

Cada candidato llega con el comando exacto que sigue

La 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.

Los dos proveedores que federa

  • dpd--source dpd

    El índice de entradas del DPD, consultado por su propio endpoint de descubrimiento `/srv/keys`. Se ejecuta primero en el modo federado por defecto.

  • search--source search

    La 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.

La misma consulta no se envía a todas partes

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.

Lo que te entrega un candidato

  • ver_contenidoEjecutable ahora

    El paso siguiente abre contenido real de inmediato. Copia el comando y ejecútalo.

    Superficies que puede abrir
    • dpd
    • espanol-al-dia
    • duda-linguistica
    • noticia
  • seguir_buscandoDiferido

    El 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
$ 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 candidatos 3 a 6 se retiran como líneas completas y el corte queda marcado; nada más fue alterado. El candidato 2 merece leerse dos veces: preguntar por `solo` resuelve a `dlexa dpd tilde`, porque ahí es donde el DPD zanja la cuestión. El candidato 7 es el caso diferido, y los `…` de su fragmento son de la fuente.
Siempre hay paso siguiente

Una consulta que no encuentra nada igual te dice dónde buscar

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.

Los cuatro campos que siempre imprime

Nivel
Cuál de los dos callejones es: 1 para el fallo de sintaxis, 2 para una entrada ausente.
objetivo
El término o el comando al que apuntaba la ejecución.
siguiente comando
El comando que te hace avanzar, listo para copiar. El Nivel 1 imprime ese mismo campo como `sintaxis correcta`.
acción
Qué hacer con ese comando, en una línea.
Nivel 1 · Syntax

El comando en sí no existe

Qué lo dispara

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 · root
$ 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.
Completa y sin editar.
Nivel 2 · Not Found

El comando existe, la entrada no

Qué lo dispara

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
$ 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.
Completa y sin editar.

Medido sobre el binario

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.

Por dentro

Cuatro etapas, y ninguna sabe de la siguiente

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í.

  1. Fetch

    01
    internal/fetch

    Adaptadores de adquisición contra la fuente. La única capa que sabe que la RAE está al otro lado de una red.

  2. Parse

    02
    internal/parse

    Analizadores del documento en bruto. Producen registros estructurados o un fallo explícito que viaja como un resultado.

  3. Normalize

    03
    internal/normalize

    Traduce la forma que tuviera la fuente al modelo compartido, de modo que nada aguas abajo tenga que ramificar según qué proveedor respondió.

  4. Render

    04
    internal/render

    Markdown 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.

Caché lateral, y conmutable por petición

`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.

El vocabulario compartido que habla cada paquete

  • LookupRequest
  • LookupResult
  • SearchRequest
  • SearchResult
  • SearchCandidate
  • LookupMiss
  • HelpEnvelope
  • FallbackEnvelope
  • Entry
  • SourceDescriptor
  • SourceResult
  • Warning
  • Problem
Alcance

Construida para responder bien un solo tipo de pregunta

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.

  • Dudas normativas, resueltas con precisión

    Las preguntas que el DPD existe para zanjar. Ese enfoque es lo que permite que un solo comando devuelva una respuesta accionable.

    • Ortografía
    • Pronunciación
    • Morfología
    • Sintaxis
    • Uso
  • Las respuestas conservan el matiz del propio DPD

    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.

    • Uso actual
    • Registro
    • Norma culta
    • Geografía
    • Contexto comunicativo
  • Un término sin entrada devuelve la ruta para encontrarlo

    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.

  • Nada sale de tu máquina

    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.

  • Las tablas complejas conservan su estructura

    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.

    Tabla simple
    Tabla de tuberías en Markdown
    Celdas combinadas o de varios niveles
    HTML dentro del contenido Markdown
Instalación

Una línea, y una sola dependencia detrás

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@latest
Abrir el repositorio
  • github.com/Disble/dlexa

    El código, el README que documenta cada superficie y la guía de contribución con la cadena de linting fijada.

  • rae.es/dpd

    El Diccionario panhispánico de dudas en sí. Cada entrada que devuelve la CLI trae su bloque de atribución de vuelta hasta aquí.