Ch'askapp es una herramienta de línea de comandos (CLI) diseñada para simplificar y estandarizar el desarrollo y despliegue de proyectos web bajo la arquitectura y el stack tecnológico de Ch'aska. Facilita la creación de nuevos proyectos, la gestión de entornos, la ejecución de tareas comunes y el despliegue a servidores de escenificación y producción.
- Creación de Proyectos Asistida: Genera una estructura de proyecto completa y personalizable mediante una serie de preguntas interactivas.
- Gestión de Entornos: Administra automáticamente las versiones de Python y Node.js, así como los entornos virtuales, garantizando consistencia entre los proyectos.
- Flujo de Trabajo Estandarizado: Proporciona comandos para tareas comunes como minificación de assets, ejecución de pruebas, y despliegue, promoviendo las mejores prácticas.
- Configuración de Marca (Branding): Permite definir y aplicar un esquema de colores y tipografías para la interfaz de usuario de forma sencilla.
- Seguridad: Gestiona de forma segura las claves y secretos del proyecto.
- Despliegue Simplificado: Automatiza el proceso de despliegue a las ramas de
escenificacionyproduccionen un repositorio Git.
A continuación se detallan los comandos disponibles en Ch'askapp.
Inicializa Ch'askapp y configura el entorno de desarrollo.
- Uso:
chastack inicializar - Descripción:
La primera vez que se ejecuta,
inicializarconfigura el entorno global en~/.chastack. Esto incluye la instalación de las versiones de Python requeridas por los stacks soportados, la creación de entornos virtuales (venvs) y la instalación de dependencias globales. También se encarga de instalar el binario dechastacken el sistema y agregarlo al PATH. Si se ejecuta dentro de un directorio que no ha sido inicializado, configura un entorno local, permitiendo al usuario seleccionar el stack tecnológico específico para ese proyecto.
Crea un nuevo proyecto de Ch'aska.
- Uso:
chastack crear <RUTA_PROYECTO> [OPCIONES] - Descripción:
Este comando inicia un asistente interactivo para crear un nuevo proyecto. Solicita la siguiente información:
- Nombre del proyecto: El nombre que identificará al proyecto.
- Planos (Blueprints): Los diferentes módulos o secciones de la aplicación.
- Dependencias: Paquetes de Python adicionales que se instalarán.
- Estilo de Marca: Permite elegir entre estilos predefinidos (Ch'aska, Quipu) o personalizar los colores y tipografías.
- Secretos: Permite definir variables de entorno seguras adicionales.
- Dominios: Los dominios de producción y escenificación para el despliegue.
- Descripción: Una breve descripción para el archivo
README.mddel proyecto.
- Opciones:
-p <NOMBRE_PROYECTO>: Especifica el nombre del proyecto de forma no interactiva.
Abre un proyecto de Ch'aska existente.
- Uso:
chastack abrir <RUTA_PROYECTO> - Descripción: Carga un proyecto creado previamente con Ch'askapp, permitiendo ejecutar otros comandos en el contexto de ese proyecto.
Cierra el proyecto activo.
- Uso:
chastack cerrar - Descripción: Descarga el proyecto activo, volviendo al contexto global.
Minifica los archivos estáticos del proyecto.
- Uso:
chastack minificar - Descripción: Procesa y comprime los archivos CSS y JavaScript del proyecto para optimizar su carga en producción.
Ejecuta las pruebas del proyecto.
- Uso:
chastack probar - Descripción: Ejecuta el conjunto de pruebas automatizadas del proyecto.
Inicia el servidor de desarrollo.
- Uso:
chastack correr - Descripción: Levanta un servidor de desarrollo local con recarga en vivo (live reload), permitiendo visualizar los cambios en tiempo real.
Reinstala y repara la configuración de Ch'askapp.
- Uso:
chastack reparar - Descripción: Elimina la configuración global (
~/.chastack) y vuelve a ejecutar el proceso de inicialización. Es útil para solucionar problemas con el entorno.
Desinstala Ch'askapp del sistema.
- Uso:
chastack desinstalar --confirmar - Descripción: Elimina completamente Ch'askapp del sistema, incluyendo el directorio
~/.chastacky la entrada en el PATH. Requiere confirmación con la bandera--confirmar.
Elimina y recrea la base de datos de desarrollo.
- Uso:
chastack resetear-bdd - Descripción: Restaura la base de datos de desarrollo a su estado inicial. Útil para empezar de cero con los datos.
Despliega el proyecto a los entornos de escenificación y producción.
- Uso:
chastack desplegar [OPCIONES] - Descripción:
Este comando automatiza el flujo de despliegue:
- Minifica los archivos estáticos.
- Crea un commit con los cambios.
- Sube los cambios a la rama
desarrollo. - Fusiona los cambios de
desarrolloenescenificaciony la sube al repositorio remoto. - Opcionalmente, fusiona los cambios en
producciony la sube al repositorio.
- Opciones:
-m "<MENSAJE>": Especifica el mensaje del commit.--prodo--produccion: Incluye la rama de producción en el despliegue.