La versión actual v1.1.0 de BootZen es una versión preliminar para pruebas y desarrollo.
Los tags publicados son versiones preliminares para pruebas y desarrollo. No se recomienda su uso en producción hasta que se publique el primer release oficial. Consulta el archivo CHANGELOG.md para más detalles.
Arranca en zen: Desarrolla con calma, crece con poder.
BootZen es un microframework PHP nativo, diseñado para crear aplicaciones mobile-first que brillan en SEO y pueden evolucionar fácilmente hacia soluciones SaaS modulares. Su objetivo es ser simple, memorable y modular, invitando a los desarrolladores a fluir sin estrés y construir proyectos robustos desde el primer momento.
BootZen automatiza la creación de la base de tu proyecto PHP con una estructura
moderna, herramientas de desarrollo, dependencias y scripts auxiliares. El
script init_project.sh te permite iniciar un nuevo proyecto en segundos, listo
para crecer y adaptarse a tus necesidades.
Arranca en zen: Desarrolla con calma, crece con poder.
BootZen ahora distribuye el framework como un archivo .phar versionado (por
ejemplo, bootzen-1.1.0.phar) que se descarga automáticamente desde GitHub
Releases y se integra en cada nuevo proyecto.
El proceso automatizado incluye:
- Clona el repositorio en
~/.bootzen. - Detecta si usas bash o zsh y agrega la ruta al PATH en el archivo de configuración correspondiente.
- Descarga el último archivo
.pharpublicado en GitHub Releases y lo guarda en~/.bootzen/bootzen.phar. - Al crear un nuevo proyecto con
init_project.sh, el archivo.pharse copia automáticamente a la carpetapublic/del proyecto generado. - El archivo
public/index.phpestá preparado para cargar y usar el framework desde el.pharsi existe. - Recarga la configuración del shell y verifica que el comando
init_project.shesté disponible globalmente.
Instala BootZen ejecutando:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/lgzarturo/bootzen/main/install.sh)"Cada vez que creas un nuevo proyecto con init_project.sh, el archivo
bootzen.phar se copia a public/ y el index.php lo carga automáticamente si
está presente. Esto permite que el framework se ejecute directamente desde el
archivo .phar, facilitando actualizaciones y distribución.
Puedes actualizar BootZen y el archivo .phar a la última versión estable
(release, tag o main) ejecutando:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/lgzarturo/bootzen/main/updater.sh)"El script detecta si hay un release disponible y actualiza a ese release. Si no
hay release, actualiza al último tag. Si no hay tag, actualiza la rama main. Si
BootZen no está instalado, te pedirá instalarlo primero. El archivo .phar se
actualizará automáticamente en tu instalación global y se usará en los nuevos
proyectos.
El script genera una estructura de carpetas pensada para proyectos monolíticos y modulares:
public/(archivos públicos, index.php, assets)src/(Controllers, Models, Views, Services, Database, Core, Middleware, Helpers)config/(configuración)tests/(Unit, Feature)views/(layouts, components, pages)storage/(logs, cache, uploads).vscode/(configuración recomendada para VSCode).scripts/(scripts auxiliares)resources/(css, js)
Las dependencias principales y de desarrollo se definen en composer.json:
Dependencias principales:
php(>=8.2)vlucas/phpdotenv: Manejo de variables de entorno.predis/predis: Cliente Redis para PHP.monolog/monolog: Logging avanzado.symfony/var-dumper: Herramienta de depuración.
Dependencias de desarrollo:
pestphp/pest: Framework de testing moderno.friendsofphp/php-cs-fixer: Formateador de código PHP.phpstan/phpstan: Análisis estático de código.fakerphp/faker: Generador de datos falsos para pruebas.mockery/mockery: Mocking para tests.
Las dependencias de frontend se definen en package.json:
DevDependencies:
tailwindcss: Framework CSS moderno y utilitario.husky: Hooks de git para flujos de trabajo.lint-staged: Linting automático en pre-commit.concurrently: Ejecuta scripts en paralelo.@tailwindcss/forms: Plugin de Tailwind para formularios.@tailwindcss/typography: Plugin de Tailwind para tipografía.
Scripts útiles:
dev: Compila Tailwind y ejecuta el servidor PHP en modo desarrollo.build: Compila CSS para producción.serve: Inicia el servidor PHP.prepare: Instala Husky.
Lint-Staged: Automatiza la revisión de código PHP en cada commit:
- Formatea con PHP CS Fixer
- Analiza con PHPStan
- Ejecuta tests con Pest
./init_project.sh [NOMBRE_DEL_PROYECTO]Si no se especifica nombre, se usará my-php-app por defecto.
El script:
- Crea la estructura de carpetas y archivos base.
- Copia scripts auxiliares y asigna permisos.
- Genera archivos de configuración para Composer, NPM, VSCode, PHP CS Fixer, PHPStan, Pest, PHPUnit, Tailwind, etc.
- Inicializa git y realiza el primer commit.
- Instala dependencias de Composer y NPM.
- Configura Husky y lint-staged para pre-commit.
- Muestra instrucciones para continuar el desarrollo.
- Simple: Arranca rápido, sin configuraciones complejas.
- Memorable: Estructura clara y fácil de recordar.
- Modular: Listo para crecer como SaaS o monolito.
- Fluidez: Herramientas que ayudan, no estorban.
- Mobile-first & SEO: Pensado para apps modernas y visibles.
- Bash
- Composer
- NPM
- Git
- OpenSSL
- Ejecuta el script y entra al directorio del proyecto.
- Corre
npm run devpara compilar Tailwind y levantar el servidor. - Configura tu base de datos en
.env. - ¡Comienza a desarrollar con calma y poder!
Desarrollado por Arturo Lopez desde Cancún 🇲🇽🌴
Este proyecto está bajo la licencia MIT. Copyright © 2025 Arturo Lopez