DictionaryAxeManager (DAM) es una librería y CLI para trabajar con modelos de diccionario (por idioma) y ofrecer una API de consulta lista para integrarse en:
- Terminal (CLI)
- Apps Node.js (scripts / backends)
- Web (browser)
- Futuras integraciones (widgets/desktop)
Repo: https://github.com/JLDiaz23/dictionaryAxeManager
Documentación interna (más detallada): docs/00-indice.md
DAM está pensado para mantener una API pública estable y separar claramente:
- Dataset (
models/<lang>.json) - Capa de acceso a datos (DB)
- Lógica de análisis
- API core
- Módulo semántico (sin UI)
- Helpers opcionales para browser
En este repo (modo desarrollo):
npm install
npm testComo librería (npm):
npm install dictionary-axe-managerSi instalas el paquete desde npm, el comando público es dam-dict.
Puedes:
- Importar/cargar un modelo
- Buscar palabras (lookup)
- Sacar rimas
- Ver estadísticas del modelo
Para ver los comandos y opciones disponibles:
npx dam-dict --helpSi estás construyendo una app, backend o scripts, DAM se usa como dependencia y se integra mediante imports.
DAM expone un entrypoint minimalista y subpaths para distintos targets (core/semantic/browser).
Comandos soportados por dam-dict:
npx dam-dict import <lang> <ruta-datos>
npx dam-dict lookup <lang> <word>
npx dam-dict rhyme <lang> <word> [opciones]
npx dam-dict stats <lang>
npx dam-dict sanitize <lang> [opciones]
npx dam-dict progress <lang> [opciones]
npx dam-dict semantic <subcmd> <lang> [args]En este repo, DAM incluye scripts npm run ... para operar el modelo y probar features. Algunos son atajos para el CLI público y otros son utilidades internas de desarrollo.
Para ver todos los scripts disponibles y sus opciones:
npm run helpDAM expone un entrypoint minimalista y subpaths para distintos targets.
dictionary-axe-manager(entrypoint minimalista)dictionary-axe-manager/core(API core, exportadefault)dictionary-axe-manager/semantic(API semántica)dictionary-axe-manager/browser(helpers para UI mínima)
import { dictionaryAxeManager } from 'dictionary-axe-manager';
const result = dictionaryAxeManager.searchWord('reciproco', { lang: 'es' });
console.log(result.entry);
console.log(result.analysis);El subpath semántico está diseñado para sugerencias y exploración tipo “thesaurus” sobre el modelo:
import { searchSemantic } from 'dictionary-axe-manager/semantic';
const out = searchSemantic('mutuo', { lang: 'es' });
console.log(out);Si necesitas un widget mínimo para web, puedes usar el helper:
import dictionaryAxeManager from 'dictionary-axe-manager/browser';
dictionaryAxeManager.attachSimpleDictionaryUI({
inputId: 'search-input',
resultsAreaId: 'results-area',
titleId: 'result-title',
contentId: 'result-content',
});DAM mantiene listas autoritativas para valores cerrados como category, register, region e language.
- Para verlas: revisa
dictionaryConstants.jso importa desdedictionary-axe-manager/core. - La CLI (import/sanitize) aplica sanitización y defaults de forma segura.
MIT