davidhfabian
v0.0.1
Published
CLI personal de David Fabian - Software Engineer
Maintainers
Readme
@davidhfabian/cli
CLI personal de David H. Fabian - Desarrollador Full Stack
Una herramienta de línea de comandos elegante y moderna que muestra información personal y profesional con una interfaz visual atractiva en tonos violeta.
🚀 Características
- Interfaz visual atractiva con gradientes violeta y animaciones
- Soporte multiidioma (Español e Inglés)
- Salida JSON para integración con otras herramientas
- Arquitectura hexagonal con TypeScript estricto
- Cobertura de tests completa
- Build optimizado con soporte ESM y CJS
📦 Instalación
Uso directo con npx (recomendado)
npx @davidhfabian/cliInstalación global
npm install -g @davidhfabian/cliInstalación como dependencia
npm install @davidhfabian/cli🛠️ Uso
Comando básico
# Mostrar información en inglés (por defecto)
davidhfabian
# Mostrar información en español
davidhfabian -l esOpciones disponibles
| Opción | Descripción | Ejemplo |
|--------|-------------|---------|
| -l, --lang <language> | Idioma (es|en) | davidhfabian -l es |
| -j, --json | Salida en formato JSON | davidhfabian --json |
| -h, --help | Mostrar ayuda | davidhfabian --help |
| -V, --version | Mostrar versión | davidhfabian --version |
Ejemplos de uso
# Información en español
davidhfabian --lang es
# Información en inglés con formato JSON
davidhfabian --lang en --json
# Salida JSON para procesamiento
davidhfabian --json > profile.json🎨 Captura de pantalla
██████╗ █████╗ ██╗ ██╗██╗██████╗ ██╗ ██╗ ███████╗ █████╗ ██████╗ ██╗ █████╗ ███╗ ██╗
██╔══██╗██╔══██╗██║ ██║██║██╔══██╗ ██║ ██║ ██╔════╝██╔══██╗██╔══██╗██║██╔══██╗████╗ ██║
██║ ██║███████║██║ ██║██║██║ ██║ ███████║ █████╗ ███████║██████╔╝██║███████║██╔██╗ ██║
██║ ██║██╔══██║╚██╗ ██╔╝██║██║ ██║ ██╔══██║ ██╔══╝ ██╔══██║██╔══██╗██║██╔══██║██║╚██╗██║
██████╔╝██║ ██║ ╚████╔╝ ██║██████╔╝ ██║ ██║ ██║ ██║ ██║██████╔╝██║██║ ██║██║ ╚████║
╚═════╝ ╚═╝ ╚═╝ ╚═══╝ ╚═╝╚═════╝ ╚═╝ ╚═╝ ╚═╝ ╚═╝ ╚═╝╚═════╝ ╚═╝╚═╝ ╚═╝╚═╝ ╚═══╝
Full Stack Developer
📋 Sobre mí / About me
──────────────────────────────────────────────────
✨ Passionate about technology and software development
🚀 Specialized in scalable and modern architectures
✨ Focused on code quality and best practices
🚀 Always learning and sharing knowledge
🛠️ Habilidades / Skills
──────────────────────────────────────────────────
▶ Frontend
React • TypeScript • Next.js • Vue.js • TailwindCSS
▶ Backend
Node.js • Python • PostgreSQL • MongoDB • Redis
▶ DevOps
Docker • Kubernetes • AWS • GitHub Actions • Terraform
▶ Tools
Git • Linux • VS Code • Figma • Postman
🔗 Enlaces / Links
──────────────────────────────────────────────────
🌐 Online CV: https://tu-dominio.com/cv
🔗 GitHub: https://github.com/davidhfabian
🔗 LinkedIn: https://linkedin.com/in/davidhfabian
📧 Email: mailto:[email protected]🏗️ Desarrollo
Requisitos previos
- Node.js >= 16.0.0
- npm >= 8.0.0
Configuración del entorno
# Clonar el repositorio
git clone https://github.com/davidhfabian/davidhfabian.git
cd davidhfabian
# Instalar dependencias
npm install
# Desarrollo
npm run dev
# Build
npm run build
# Vista previa
npm run previewScripts disponibles
| Script | Descripción |
|--------|-------------|
| npm run dev | Modo desarrollo con tsx |
| npm run build | Compilar para producción |
| npm run preview | Vista previa del CLI compilado |
| npm run test | Ejecutar tests |
| npm run test:watch | Tests en modo watch |
| npm run test:coverage | Tests con cobertura |
| npm run lint | Linting con ESLint |
| npm run format | Formateo con Prettier |
| npm run typecheck | Verificación de tipos |
🧪 Testing
El proyecto incluye una suite completa de tests unitarios con cobertura del 100%:
# Ejecutar todos los tests
npm run test
# Tests con cobertura
npm run test:coverage
# Tests en modo watch
npm run test:watch📁 Estructura del proyecto
src/
├── domain/ # Capa de dominio
│ ├── models/ # Modelos de datos
│ └── services/ # Interfaces de servicios
├── app/ # Capa de aplicación
│ ├── data/ # Datos estáticos
│ └── services/ # Implementaciones de servicios
├── ui/ # Capa de presentación
│ └── presenters/ # Presentadores de UI
├── tests/ # Tests unitarios
├── cli.ts # Punto de entrada CLI
└── index.ts # Exports principales🔄 Expansión futura
Cómo añadir nuevos comandos
- Crear nuevo comando en
cli.ts:
program
.command('projects')
.description('Mostrar proyectos destacados')
.action(() => {
// Lógica del comando
});- Implementar servicio en la capa de aplicación:
// src/app/services/ProjectsService.ts
export class ProjectsService {
getProjects(): Project[] {
// Implementación
}
}- Añadir presentador en la capa de UI:
// src/ui/presenters/ProjectsPresenter.ts
export class ProjectsPresenter {
displayProjects(projects: Project[]): void {
// Implementación visual
}
}Ideas para futuros comandos
davidhfabian projects- Mostrar proyectos destacadosdavidhfabian experience- Mostrar experiencia laboraldavidhfabian blog- Mostrar últimos artículos del blogdavidhfabian stats- Mostrar estadísticas de GitHub
📝 Licencia
Este proyecto está bajo la Licencia MIT. Ver el archivo LICENSE para más detalles.
🤝 Contribuciones
Las contribuciones son bienvenidas. Por favor:
- Fork el proyecto
- Crea una rama para tu feature (
git checkout -b feature/nueva-funcionalidad) - Commit tus cambios (
git commit -m 'Añadir nueva funcionalidad') - Push a la rama (
git push origin feature/nueva-funcionalidad) - Abre un Pull Request
📧 Contacto
David H. Fabian - [email protected]
Proyecto: https://github.com/davidhfabian/davidhfabian
⭐ Si te gusta este proyecto, ¡no olvides darle una estrella!
