npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2025 – Pkg Stats / Ryan Hefner

@malopez1578/tita-cli

v1.2.3

Published

CLI for creating projects from GitLab templates with automatic dependency installation

Readme

TITA CLI 🚀

npm version [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.# Gestión de configuración tita config --show # Mostrar configuración actual tita config --reset # Resetear configuración tita config --set-vendor # Establecer vendor por defecto tita config --set-author # Establecer autor por defecto tita config --set-log-level # Establecer nivel de logging(https://opensource.org/licenses/MIT) Tests TypeScript

Una herramienta de línea de comandos profesional para crear proyectos desde templates de GitLab con instalación automática de dependencias, gestión inteligente de caché y configuración persistente.

✨ Características

🎯 Funcionalidades Core

  • Clonación inteligente de templates desde GitLab
  • Instalación automática con Yarn en todos los subdirectorios
  • Configuración completa de manifest.json (vendor, name, title, description)
  • Interfaz moderna con colores y spinners animados
  • Verificación de prerrequisitos automática
  • Inicialización Git automática con commit inicial

🚀 Funcionalidades Avanzadas

  • 🗄️ Caché inteligente de templates - Descarga una vez, usa muchas veces
  • ⚙️ Configuración persistente - Recuerda tus preferencias
  • 📝 Sistema de logging estructurado - Logs detallados y configurables
  • 🛡️ Validación robusta - Protección contra errores comunes
  • 🔧 Gestión de errores avanzada - Mensajes de error útiles y accionables
  • 📊 Estadísticas de caché - Monitoreo del uso y rendimiento
  • 🔄 Verificación automática de actualizaciones - Notificaciones inteligentes de nuevas versiones

🚀 Optimizaciones de Rendimiento

  • 🔄 Clonado Shallow - Clonación hasta 10x más rápida usando --depth=1
  • ⚙️ Instalación Paralela - Dependencias instaladas en lotes paralelos (hasta 3x más rápido)
  • 🧠 Caché Inteligente - Templates almacenados localmente con TTL y gestión de tamaño
  • 🔍 Búsqueda Optimizada - Búsqueda de archivos con límites de profundidad
  • 📈 Métricas de Rendimiento - Estadísticas detalladas de uso y eficiencia

🎨 Experiencia de Usuario

  • Modo interactivo con prompts inteligentes
  • Templates preferidos mostrados primero
  • Gestión dinámica de templates
  • Comandos de configuración fáciles de usar
  • Feedback visual con indicadores de progreso

🚀 Instalación

Instalación Global (Recomendado)

# Con npm
npm install -g @malopez1578/tita-cli

# Con yarn
yarn global add @malopez1578/tita-cli

Instalación Local

# Con npm
npm install @malopez1578/tita-cli

# Con yarn
yarn add @malopez1578/tita-cli

# Ejecutar localmente
npx @malopez1578/tita-cli

📋 Prerrequisitos

  • Node.js (v16 o superior)
  • Git (para clonación de repositorios)
  • Yarn (para instalación de dependencias)

🎯 Inicio Rápido

# Instalar globalmente
npm install -g @malopez1578/tita-cli

# Crear tu primer proyecto
tita init

🚀 Instalación Desde Código Fuente (Para Desarrollo)

# Clonar el repositorio
git clone https://github.com/malopez1578/tita-cli.git
cd tita-cli

# Instalar dependencias
yarn install

# Compilar el proyecto
yarn build

# Instalar globalmente para desarrollo
yarn link-global

� ¿Qué hace TITA CLI al crear un proyecto?

Cuando ejecutas tita create, la herramienta realiza una serie de operaciones para entregarte un proyecto completamente configurado:

🔄 Proceso de Creación

  1. 📥 Clonación Inteligente: Descarga el template desde GitLab usando caché inteligente
  2. 📝 Actualización de Archivos: Configura automáticamente los archivos del proyecto
  3. 📦 Instalación: Instala dependencias en paralelo con Yarn
  4. 📂 Inicialización Git: Crea un repositorio Git limpio con commit inicial

📄 Archivos Actualizados Automáticamente

manifest.json

{
  "vendor": "tu.vendor",
  "name": "mi-componente",
  "title": "Mi Componente",
  "description": "Descripción del componente",
  "version": "1.0.0"
}

package.json

{
  "name": "mi-componente",
  "version": "1.0.0",
  "description": "Descripción del componente",
  "author": "Tu Nombre"
}

Nota: Se eliminan automáticamente los campos repository, bugs y homepage del template original.

CHANGELOG.md (Creado limpio)

# Changelog

## [1.0.0] - 2025-07-15

### Added
- Initial release of Mi Componente
- Descripción del componente

---

## Template Information
This project was created using TITA CLI from a GitLab template.
Previous changelog history has been reset for a clean start.

�📖 Uso

🎮 Modo Interactivo (Recomendado)

# Crear proyecto con prompts inteligentes
tita create

El modo interactivo te guía paso a paso:

  • ✅ Selección de template con favoritos primero
  • ✅ Configuración de versión inicial
  • ✅ Configuración de directorio destino
  • ✅ Configuración de vendor (con opción de guardar como default)
  • ✅ Información del componente (título, descripción)
  • ✅ Configuración de autor (con opción de guardar como default)

📝 Configuración Previa (Opcional)

Para acelerar el proceso, puedes configurar valores por defecto:

# Configurar vendor por defecto
tita config --set-vendor "miempresa.team"

# Configurar autor por defecto  
tita config --set-author "Mi Nombre"

# Ver configuración actual
tita config --show

Comandos disponibles

# Ver ayuda general
tita --help

# Listar templates disponibles
tita list

# Crear proyecto desde template
tita create

# Gestión de caché inteligente
tita cache --stats              # Ver estadísticas de caché
tita cache --list               # Listar templates en caché
tita cache --clear              # Limpiar caché

# Gestión de configuración
tita config --show              # Mostrar configuración actual
tita config --reset             # Resetear configuración
tita config --set-vendor <name> # Establecer vendor por defecto
tita config --set-log-level <level> # Establecer nivel de logging

# Comandos de rendimiento ⚡
tita perf --stats               # Ver estadísticas de rendimiento
tita perf --clean               # Limpiar caché antiguo (>7 días)
tita perf --optimize            # Optimizar caché completo
tita perf --clear-all           # Limpiar todo el caché

# Verificación de actualizaciones 🔄
tita update                     # Verificar si hay nuevas versiones disponibles
tita update --check             # Verificar actualizaciones explícitamente

Opciones del comando create

  • -d, --directory <dir>: Directorio de destino (por defecto: directorio actual)
  • -v, --vendor <vendor>: Nombre del vendor para manifest.json
  • -n, --name <name>: Nombre del componente para manifest.json (opcional, usa projectName por defecto)
  • -t, --title <title>: Título del componente para manifest.json
  • --desc <description>: Descripción del componente para manifest.json

Ejemplos de uso

# Crear proyecto básico (solicita información interactivamente)
tita create components mi-nuevo-proyecto

# Crear proyecto con información del componente (usa el nombre del proyecto como nombre del componente)
tita create components mi-proyecto \
  --vendor "MiEmpresa" \
  --title "Mi Componente Genial" \
  --desc "Un componente increíble para mi tienda"

# Crear proyecto con nombre de componente personalizado
tita create components mi-proyecto \
  --vendor "MiEmpresa" \
  --name "componente-personalizado" \
  --title "Mi Componente Personalizado" \
  --desc "Un componente con nombre específico"

# Crear proyecto en directorio específico
tita create components mi-proyecto --directory /path/to/projects

# Usar modo interactivo (incluye todos los prompts)
tita init

🎯 Templates disponibles

Los templates se configuran en constants/templates.ts:

export const URL_TEMPLATES = {
    'components': '[email protected]:titadev/tita-quality/quality-template.git',
    // Agrega más templates aquí
}

🔧 Desarrollo

# Modo desarrollo con recarga automática
yarn dev

# Compilar proyecto
yarn build

# Limpiar archivos compilados
yarn clean

# Instalar globalmente para testing
yarn link-global

# Desinstalar versión global
yarn unlink-global

🏗️ Proceso de creación de proyecto

  1. Verificación de prerrequisitos (Git, Yarn)
  2. Selección de template (en modo interactivo)
  3. Captura de detalles del proyecto (nombre, directorio)
  4. Solicitud de información del vendor
  5. Solicitud de información del componente (title, description - el name se toma del projectName)
  6. Clonación del template desde GitLab
  7. Limpieza del historial Git original
  8. Actualización completa del manifest.json con toda la información
  9. Búsqueda recursiva de archivos package.json
  10. Instalación automática con yarn install en cada directorio
  11. Inicialización de nuevo repositorio Git
  12. Commit inicial con el código del template

📁 Estructura del proyecto

TITA_CLI/
├── index.ts                 # Código principal del CLI
├── constants/
│   └── templates.ts         # Configuración de templates
├── package.json             # Configuración del proyecto
├── tsconfig.json           # Configuración TypeScript
└── dist/                   # Código compilado
    └── index.js            # Ejecutable del CLI

🎨 Características visuales

  • Banner ASCII con figlet
  • Colores vibrantes con chalk
  • Spinners animados con ora
  • Prompts interactivos con inquirer
  • Feedback visual en tiempo real

📝 Notas

  • El CLI busca automáticamente archivos package.json en todos los subdirectorios
  • Excluye node_modules y .git de la búsqueda
  • Maneja errores de forma elegante con mensajes informativos
  • Soporta tanto URLs SSH como HTTPS de GitLab
  • Actualiza automáticamente el archivo manifest.json con información completa del componente
  • Busca el archivo manifest.json en múltiples ubicaciones comunes del proyecto
  • El nombre del componente se toma automáticamente del nombre del proyecto (evita duplicación)
  • Permite especificar información del componente via CLI o mediante prompts interactivos

🤝 Contribución

  1. Fork el proyecto
  2. Crea una rama para tu feature (git checkout -b feature/AmazingFeature)
  3. Commit tus cambios (git commit -m 'Add some AmazingFeature')
  4. Push a la rama (git push origin feature/AmazingFeature)
  5. Abre un Pull Request

Desarrollo Local

# Instalar dependencias
yarn install

# Compilar en modo desarrollo
yarn dev

# Compilar para producción
yarn build

# Limpiar archivos compilados
yarn clean

🔄 Sistema de Actualizaciones

TITA CLI incluye un sistema inteligente de verificación de actualizaciones que te mantiene al día con las últimas mejoras y correcciones.

🚀 Características del Sistema de Actualizaciones

  • Verificación automática al ejecutar tita create
  • Caché inteligente - Verifica una vez cada 24 horas
  • Notificaciones no intrusivas - Solo muestra cuando hay actualizaciones disponibles
  • Comandos de instalación - Proporciona comandos específicos para actualizar
  • Compatibilidad total - Funciona con npm y yarn

📋 Comandos de Actualización

# Verificar actualizaciones manualmente
tita update

# Verificar actualizaciones explícitamente (fuerza verificación)
tita update --check

🎯 Cómo Funciona

  1. Verificación silenciosa - Se ejecuta en segundo plano durante tita create
  2. Caché de 24 horas - Evita verificaciones excesivas
  3. Notificación visual - Muestra un banner atractivo cuando hay actualizaciones
  4. Comandos de ejemplo - Proporciona comandos listos para copiar y pegar

📱 Ejemplo de Notificación

Cuando hay una actualización disponible, verás algo como esto:

┌─────────────────────────────────────────────────────┐
│  🔔 Nueva versión disponible!                       │
│                                                     │
│  Versión actual: 1.1.8                             │
│  Última versión: 1.2.0                             │
│                                                     │
│  Para actualizar, ejecuta:                          │
│  npm install -g @malopez1578/tita-cli@latest       │
│                                                     │
│  Alternativamente con yarn:                         │
│  yarn global add @malopez1578/tita-cli@latest      │
└─────────────────────────────────────────────────────┘

🔄 Versionado

Este proyecto usa SemVer para el versionado. Para ver las versiones disponibles, consulta los tags en este repositorio.

📝 Changelog

Consulta el CHANGELOG.md para ver los cambios detallados en cada versión.

📄 Licencia

Este proyecto está licenciado bajo la Licencia MIT - ver el archivo LICENSE para más detalles.

👥 Autores

🙏 Agradecimientos

  • Inspirado en las mejores prácticas de CLIs modernas
  • Construido con amor para la comunidad de desarrolladores
  • Agradecimientos especiales a todos los contribuidores

🐛 Reportar Bugs

Si encuentras un bug, por favor abre un issue con:

  • Descripción detallada del problema
  • Pasos para reproducir
  • Versión del CLI y Node.js
  • Sistema operativo

💡 Solicitar Features

Para solicitar nuevas características, abre un issue con la etiqueta "enhancement".