# AGENTS.md ## OpenSpec Este proyecto usa [OpenSpec](https://openspec.dev/) para desarrollo spec-driven. - Cambios activos: `openspec/changes/` - Cambios archivados: `openspec/changes/archive/` - Especificaciones: `openspec/specs/` - Comandos: `/opsx-propose`, `/opsx-apply`, `/opsx-archive` en .opencode/ ## Agent Skills Skills del proyecto en `skills/`: - `toldo-architecture-solid` - Arquitectura limpia, SOLID, separación lógica/presentación - `toldo-domain-modeling` - Modelo de dominio CESTA - `toldo-tdd-vitest` - TDD con Vitest - `toldo-offline-export-import` - Export/Import JSON versionado ## Arquitectura - Monorepo: `apps/`, `packages/` (core, data, services, ui) - Tecnologías: Vite + Vue 3 + TypeScript + Vuetify 3 + Capacitor + Dexie.js - Principios: SOLID, componentes pequeños/reutilizables, separación lógica/presentación - Testing: TDD con Vitest, Playwright para E2E - Offline-first, APK Android ## Desarrollo Seguir OpenSpec workflow: propose -> apply -> archive Usar skills cuando aplique al contexto Mantener código siguiendo arquitectura limpia ## Release Android - Antes de publicar una APK, ejecutar `npm run test:run`, `npm run test:e2e`, `npm exec vue-tsc -- --noEmit` y `npm run build`. - Ejecutar `npx cap sync android` y `./gradlew assembleDebug` usando el builder Android del repositorio cuando el host no tenga Java. - Verificar el APK con `scripts/verify-apk.sh ` antes de adjuntarlo a Gitea. - El script debe confirmar `applicationId`, `versionName`, `versionCode`, bundle JavaScript, fuentes MDI y textos críticos de la versión. - Incrementar `versionCode` para cada APK publicable; mantener la misma firma y publicar versiones beta como prerelease. - Después de subir un asset, comparar su SHA256 con el APK verificado localmente y comprobar el asset de la release mediante la API de Gitea.