schema: spec-driven context: | Repo: addons-cm (Odoo 18.0 / OCB). Stack: Python 3.10+, Odoo ORM, XML/QWeb, JS. Restricciones: - NO modificar el core de Odoo/OCB en `ocb/`. - NO modificar addons OCA originales (ver `.github/copilot-instructions.md`). - Los cambios deben hacerse en addons custom del repo. Convenciones clave: - Seguir guías OCA (black/isort/flake8/pylint-odoo). - Tests: `docker-compose run odoo odoo -d odoo --test-enable --stop-after-init -u `. - Evitar `_()` en definiciones de campos; usar traducciones en `i18n/*.po`. - No meter lógica compleja en QWeb; preparar datos en Python (controller/model). rules: proposal: - "Incluir siempre: Objetivo, Alcance, No-objetivos, Riesgos, Criterios de aceptación." - "Listar explícitamente los addons afectados (y los NO afectados)." - "Reafirmar restricciones: no tocar `ocb/` ni addons OCA originales; cambios solo en custom." - "Si afecta a UI/website/QWeb, indicar qué páginas/vistas se tocan y el impacto para usuario." design: - "Referenciar modelos/campos/vistas por nombre técnico (ej: `group.order`, `sale.order`)." - "Incluir consideraciones de seguridad (grupos/reglas) y multi-compañía si aplica." - "Evitar lógica compleja en QWeb: documentar qué datos se preparan en Python." - "Si hay impactos de datos (migración/recomputes), describir estrategia (cron, compute store, scripts)." tasks: - "Descomponer en tareas pequeñas (ideal: <= 2h cada una) y ordenadas." - "Cada tarea debe mencionar archivos/carpetas a tocar (rutas relativas) y el addon." - "Incluir al menos una tarea de verificación: tests con `docker-compose run ... --test-enable` (no `exec`)." - "Incluir notas de calidad cuando aplique: lint/format (black/isort) y evitar `_()` en fields." - "Prohibido proponer cambios en `ocb/` o addons OCA originales; si se necesita, crear un addon custom heredando." specs: - "Especificar comportamiento observable (inputs/outputs), edge cases y criterios de aceptación verificables." - "Evitar detalles de implementación; esos van en design.md." # Project context (optional) # This is shown to AI when creating artifacts. # Add your tech stack, conventions, style guides, domain knowledge, etc. # Example: # context: | # Tech stack: TypeScript, React, Node.js # We use conventional commits # Domain: e-commerce platform # Per-artifact rules (optional) # Add custom rules for specific artifacts. # Example: # rules: # proposal: # - Keep proposals under 500 words # - Always include a "Non-goals" section # tasks: # - Break tasks into chunks of max 2 hours