@ti-tecnologico-de-monterrey-oficial/ds-ng-cli
v1.0.1
Published
CLI tool to generate tec-design-system-ng layouts
Readme
BMB CLI (tec-design-system-ng-cli)
Herramienta oficial de consola hiper-veloz (escrita en Rust) para orquestar y generar ecosistemas visuales utilizando la librería tec-design-system-ng.
🚀 Instalación
La herramienta está disponible para instalarse de forma global a través de NPM para que todo tu equipo pueda utilizarla sin necesidad de instalar entornos de Rust en sus computadoras:
npm install -g tec-design-system-ng-cli(Para uso en desarrollo/local: cargo install --path .)
🛠️ Comandos Principales
1. Inicializar Nuevo Proyecto (bmb create)
Crea una arquitectura de cero. Inicializa un proyecto de Angular standalone, instala las librerías privadas del Design System (con Material Symbols) de acuerdo a la versión de Angular seleccionada, y auto-inyecta todos los "Assets" base estáticos (SVG, Fuentes, Estilos e Imágenes) e inyecta la marca seleccionada (TEC, GED, TECMI) en angular.json.
bmb create2. Generar Blueprints (bmb generate)
Asistente interactivo que inyecta código de un layout completo basado en los componentes de la librería. Ya no necesitas copiar y pegar docenas de componentes para maquetar la base de tus aplicaciones.
bmb generate -p src/app/pages- Dashboard Layout: Plantilla autoconstruida con
tec-sidebar,tec-headery su contenedor interno principal. - Main Layout: Cuadrícula inteligente para contenido pesado (Soporta elegir Mitec o versión Genérica Standalone, con selección asimétrica de columnas base y opción para un Side Nav).
- Empty Layout: Caja limpia de inicio rápido.
3. Migración Automática Codemod (bmb migrate)
Analiza concurridamente miles de archivos .ts y .html en segundos con un escáner multi-hilo saltando inteligentemente las carpetas pesadas para localizar etiquetas o estructuras del DS que se hayan marcado como "obsoletas" (deprecated) en la última versión, modificándolas automáticamente por la sintaxis moderna.
bmb migrate (Usa bmb migrate --dry-run para visualizar los resultados de la migración en memoria de forma segura antes de realizar reescrituras físicas al disco).
🏗️ Para Desarrolladores (Arquitectura Interna)
Si deseas expandir la funcionalidad de este CLI, la arquitectura interna usa:
- Clap: Como enrutador global de consola.
- Inquire: Para el wizard / preguntas hermosas e interactivas en terminal.
- MiniJinja: Como motor de plantillas a la velocidad de la luz inyectando componentes para
bmb generate. - Walkdir + RegEx: Para el escáner muti-hilos ultra veloz e inteligente codemod.
- Ureq + Semver: Para notificaciones silenciosas automáticas (y no bloqueantes) de actualizaciones de NPM en segundo plano.
Compilar Cambios
cargo build --release(La compilación local puede realizarse con el comando anterior. Si se desea automatizar el empaquetado multiplataforma y la publicación del paquete en NPM, esa configuración de CI/CD debe estar disponible explícitamente en el repositorio.).
