Introducción para desarrolladores
Esta sección es para desarrolladores que quieren extender, integrar o mantener el framework. Si eres usuario final, tu lugar es la Documentación principal.
¿Qué encontrarás aquí?
- Arquitectura interna — cómo está estructurado el código: MVC, componentes (API/CMS/Web), stack técnico.
- API REST — endpoints CRUD dinámicos, autenticación con API Key + JWT, filtros, ejemplos en JavaScript y PHP.
- CLI y MCP — herramientas de línea de comandos y el servidor Model Context Protocol para integrar con agentes de IA como Claude.
- Agente crear páginas — guía específica para agentes de IA que necesitan crear sistemas completos y páginas por CLI.
- Guía de desarrollo — tests, generadores, convenciones de código.
- Seguridad — API Keys, JWT, CSRF, hash de contraseñas y prácticas de defensa.
Stack técnico resumido
- Backend: PHP 7.4+ nativo (MVC propio), MySQL/MariaDB, Composer.
- Autenticación: API Key + JWT (Firebase JWT).
- Frontend del CMS: Bootstrap 5, jQuery, Chart.js, Summernote, CodeMirror, Select2.
- MCP: Node.js/TypeScript, stdio transport.
- Dev: Docker (
docker-compose.dev.yml,Dockerfile.dev).
Filosofía
- Sin escribir código repetitivo: el CMS y la API se generan a partir de la definición de tablas.
- Plugins autocontenidos: cada plugin vive en su carpeta y no depende de otros; se comunican vía hooks guardados y lectura de tablas.
- Convención sobre configuración: nombres estándares (
config.example.php,migrations/,plugins/<nombre>/<nombre>.php) permiten introspección automática. - Retrocompatible: los cambios preservan el comportamiento anterior por defecto.
Cómo trabajar con el código
- Clona el repositorio.
- Instala dependencias (
composer installenapi/ycms/extensions/). - Corre
sudo ./setup.shpara configuración y permisos. - Ejecuta tests:
php tests/run.php. - Ver Guía de desarrollo para detalles.
Recursos
- Introspección en tiempo real:
php tools/introspect.phpte da un JSON con plugins activos, tablas y relaciones. - Doctor:
php tools/doctor.phpdiagnostica tu entorno. - Generadores:
php tools/make-*.phppara crear tablas, plugins, páginas, migraciones.
Contribuir
Si estás contribuyendo al framework:
- Rama de trabajo: PRs contra
development. - Tests: deben pasar (
php tests/run.php). - Estilo: sigue convenciones del código existente.
¿Qué sigue?
Empieza por Arquitectura interna para tener el panorama completo antes de meterte a un módulo específico.