Files
roi-theme/_openspec/project.md
FrankZamora 0f6387ab46 refactor: reorganizar openspec y planificacion con spec recaptcha
- renombrar openspec/ a _openspec/ (carpeta auxiliar)
- mover specs de features a changes/
- crear specs base: arquitectura-limpia, estandares-codigo, nomenclatura
- migrar _planificacion/ con design-system y roi-theme-template
- agregar especificacion recaptcha anti-spam (proposal, tasks, spec)
- corregir rutas y referencias en todas las specs

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-08 15:30:45 -06:00

4.6 KiB

Project Context

Purpose

ROI Theme es un tema WordPress profesional siguiendo Clean Architecture para el sitio analisisdepreciosunitarios.com. Proporciona un sistema de componentes configurables con panel de administración y renderizado frontend dinámico.

Tech Stack

  • CMS: WordPress 6.x
  • Lenguaje: PHP 8.x (strict types)
  • Patrón: Clean Architecture (Domain, Application, Infrastructure)
  • Frontend: Bootstrap 5, Bootstrap Icons
  • Base de Datos: MySQL (tabla normalizada wp_roi_theme_component_settings)
  • CLI: WP-CLI para sincronización de schemas

Project Conventions

Code Style

  • declare(strict_types=1) en todos los archivos PHP
  • Namespaces: ROITheme\[Context]\[Component]\[Layer]
  • Clases finales por defecto
  • Propiedades private/protected
  • Escaping WordPress: esc_html(), esc_attr(), esc_url(), esc_textarea()

Nomenclatura (NO NEGOCIABLE)

Contexto Formato Ejemplo
component_name (JSON/BD) kebab-case "featured-image"
Nombre archivo schema kebab-case featured-image.json
Carpeta de módulo PascalCase FeaturedImage/
Namespace PHP PascalCase ROITheme\Public\FeaturedImage...
Clase Renderer/FormBuilder PascalCase FeaturedImageRenderer

Architecture Patterns

  • Clean Architecture: Domain → Application → Infrastructure
  • Domain NO depende de capas superiores
  • Domain NO puede tener WordPress, echo/print, HTML
  • Application NO puede tener WordPress
  • Infrastructure implementa interfaces de Domain
  • DI via constructor (interfaces, no clases concretas)

Estructura del Tema

roi-theme/
├── Schemas/                    # JSON schemas (kebab-case)
├── Shared/                     # Código compartido
│   ├── Domain/Contracts/       # Interfaces
│   ├── Application/UseCases/   # Casos de uso
│   └── Infrastructure/         # Implementaciones
├── Public/[PascalCase]/        # Renderers frontend
├── Admin/[PascalCase]/         # FormBuilders admin
└── functions.php               # Bootstrap

Testing Strategy

  • Validación de arquitectura: php Shared/Infrastructure/Scripts/validate-architecture.php [nombre]
  • Tests unitarios pendientes de implementar

Git Workflow

  • Conventional Commits: feat:, fix:, refactor:, docs:
  • Branch principal: main
  • Tags para releases: v1.0.0, v2.0.0

Domain Context

El sistema maneja componentes UI configurables para un sitio de análisis de precios unitarios (construcción). Cada componente tiene:

  • Schema JSON: Define campos configurables
  • Renderer: Genera HTML + CSS dinámico desde BD
  • FormBuilder: Panel admin para configurar valores

Flujo de 5 Fases para Componentes

Nota: [nombre] = kebab-case (ej: contact-form), [Nombre] = PascalCase (ej: ContactForm)

  1. Schema JSON → Schemas/[nombre].json
  2. Sincronización → wp roi-theme sync-component [nombre]
  3. Renderer → Public/[Nombre]/Infrastructure/Ui/[Nombre]Renderer.php
  4. FormBuilder → Admin/[Nombre]/Infrastructure/Ui/[Nombre]FormBuilder.php
  5. Validación → validate-architecture.php [nombre]

Important Constraints

  • CERO CSS hardcodeado en PHP (usar CSSGeneratorService)
  • NO usar global $wpdb en Domain/Application
  • NO instanciar servicios directamente (usar DI)
  • NO modificar campos en BD manualmente
  • Variables CSS del tema: --color-navy-dark, --color-orange-primary

External Dependencies

  • WordPress 6.x core
  • Bootstrap 5 (CSS/JS)
  • Bootstrap Icons
  • WP-CLI (C:\xampp\php_8.0.30_backup\wp-cli.phar)

Referencias Documentación

OpenSpec - Especificaciones del Proyecto

Archivo Descripción Ubicación
WORKFLOW-ROI-THEME.md Flujo de trabajo obligatorio, regla de oro _openspec/WORKFLOW-ROI-THEME.md
AGENTS.md Agentes disponibles y cuándo usarlos _openspec/AGENTS.md
arquitectura-limpia Clean Architecture, capas, estructura _openspec/specs/arquitectura-limpia.md
estandares-codigo SOLID, PHP, WordPress, seguridad _openspec/specs/estandares-codigo.md
nomenclatura Convenciones de nombres completas _openspec/specs/nomenclatura.md

Documentación de Planificación

  • Template HTML: _planificacion/roi-theme-template/index.html
  • Design System: _planificacion/01-design-system/

Última actualización: 2026-01-08