Files
ToldoConjunto/AGENTS.md

2.1 KiB

AGENTS.md

OpenSpec

Este proyecto usa OpenSpec 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 <apk> <versionName> <versionCode> 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.

Persistencia local

  • La app debe abrir Dexie explícitamente antes de montar Vue.
  • Las migraciones deben agregar una nueva versión Dexie y transformar datos; nunca deben borrar datos automáticamente.
  • El reset de la base es una acción manual, confirmada y visible sólo como último recurso.