AgentSkillsCN

dobacksoft-stabilsafe

严格执行 DobackSoft/StabilSafe V3 规范:API 通过 frontend/src/config/api.ts 配置,使用日志记录器(禁止使用 console.log),在请求中添加 organizationId,采用 9998/5174 端口,以 iniciar.ps1 作为唯一的启动脚本,支持 Windows/PowerShell 环境,采用不可变菜单模块,并遵循 PDF 导出流程。适用于编辑本仓库中的后端、前端或文档时使用,或当用户提及 DobackSoft、StabilSafe、iniciar.ps1,或项目规则时使用。

SKILL.md
--- frontmatter
name: dobacksoft-stabilsafe
description: Enforces DobackSoft/StabilSafe V3 conventions: API via frontend/src/config/api.ts, logger (no console.log), organizationId on requests, ports 9998/5174, iniciar.ps1 as sole startup, Windows/PowerShell, immutable menu modules, PDF export flow. Use when editing backend, frontend, or docs in this repo or when the user mentions DobackSoft, StabilSafe, iniciar.ps1, or project rules.
globs: ["backend/**", "frontend/**", "docs/**", "prisma/**", "AGENTS.md", ".cursorrules", ".cursor/**"]

DobackSoft (StabilSafe V3) — Convenciones de proyecto

Cuándo aplicar: Al editar código o docs de este repo, o cuando el usuario cite reglas del proyecto, DobackSoft o iniciar.ps1. Para auth, multi-tenant, DoD y rutas por ámbito ver AGENTS.md en la raíz.

Actuar como programador en pareja: explicar qué se va a hacer y por qué antes de editar. Respetar modularidad, roles y flujo del producto.

Reglas críticas (no violar)

ReglaAcción
Inicio del sistemaNUNCA iniciar backend/frontend; el usuario usa iniciar.ps1
URLs y APINUNCA hardcodear URLs; usar frontend/src/config/api.ts
LoggingNUNCA console.log; usar logger de utils/logger
PuertosBackend 9998, frontend 5174 — no cambiar
MenúNo crear módulos fuera del menú oficial V3
DatosNo exponer datos entre organizaciones; siempre filtro organizationId
DependenciasNo usar >300 KB sin justificar

Código

  • Un archivo por turno; un diff agrupado por archivo. Formato: // ... existing code ... donde aplique.
  • Antes de editar: leer contexto (imports, funciones relacionadas). No código basura ni hashes largos. Máximo 3 intentos por error; si falla, pedir ayuda al usuario.
  • Config: TypeScript estricto (no any sin justificación). Headers con organizationId en requests. Timeout configurable en API.

Entorno y comandos

  • Windows: scripts PowerShell (p. ej. iniciar.ps1), rutas Windows (\), comandos compatibles con PowerShell.
  • Salida de comandos: añadir | cat cuando sea útil (git log, head, less). Procesos largos en segundo plano. Proponer comandos y pedir confirmación antes de ejecutar.

Menú oficial V3 (inmutable)

  • Panel de Control | Estabilidad | Telemetría (CAN/GPS) | IA | Geofences | Operaciones | Reportes | Administración (ADMIN) | Base de Conocimiento (ADMIN) | Mi Cuenta.

Diseño: React + Tailwind, Leaflet + TomTom para mapas. KPIs protagonistas en Panel; scroll solo donde haga falta. Comparadores: solo Estabilidad o solo CAN/GPS según módulo.

Flujo obligatorio

Subida → Procesamiento automático → Visualización → Comparación → Exportación. PDF en 1 clic desde Panel, Sesiones, IA y comparadores.

Checklist rápida por cambio

Antes de cerrar un cambio, comprobar:

  • Modularidad y menú oficial V3
  • Scroll solo donde haga falta; comparadores correctos (Estabilidad vs CAN/GPS)
  • Roles ADMIN/MANAGER; flujo Subida→Exportación; PDF en 1 clic
  • config/api.ts (no URLs hardcodeadas); logger (no console.log); filtro organizationId
  • Compatible con iniciar.ps1 (no iniciar backend/frontend por cuenta propia)

Ejemplos

EvitarUsar
const base = 'http://localhost:9998'import { apiBaseUrl } from '@/config/api' (o equivalente del proyecto)
console.log('debug', x)logger.debug('debug', { x }) (desde utils/logger)
Lanzar npm run dev en backend/frontendRecordar al usuario que use iniciar.ps1

Verificación en navegador

Cuando el usuario pida comprobar algo en el navegador (Swagger UI, login, pantallas), usar el MCP de navegador (cursor-ide-browser o chrome-devtools): listar pestañas, navegar a la URL (p. ej. http://localhost:9998/api-docs/), tomar snapshot para ver el contenido. Detalle del flujo lock/unlock y URLs: reference.md.

Más detalle

Módulos, métricas por área y checklist extendida: reference.md.