xonecode 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (187) hide show
  1. package/README.md +167 -0
  2. package/dist/agent/authEnDisco.js +56 -0
  3. package/dist/agent/authEnDisco.js.map +1 -0
  4. package/dist/agent/configEnDisco.js +109 -0
  5. package/dist/agent/configEnDisco.js.map +1 -0
  6. package/dist/agent/crearProyecto.js +34 -0
  7. package/dist/agent/crearProyecto.js.map +1 -0
  8. package/dist/agent/entorno.js +124 -0
  9. package/dist/agent/entorno.js.map +1 -0
  10. package/dist/agent/guionizado.js +53 -0
  11. package/dist/agent/guionizado.js.map +1 -0
  12. package/dist/agent/instantanea.js +129 -0
  13. package/dist/agent/instantanea.js.map +1 -0
  14. package/dist/agent/interrupts.js +83 -0
  15. package/dist/agent/interrupts.js.map +1 -0
  16. package/dist/agent/mensajes.js +24 -0
  17. package/dist/agent/mensajes.js.map +1 -0
  18. package/dist/agent/modelos.js +42 -0
  19. package/dist/agent/modelos.js.map +1 -0
  20. package/dist/agent/normalizar.js +20 -0
  21. package/dist/agent/normalizar.js.map +1 -0
  22. package/dist/agent/perfiles.js +103 -0
  23. package/dist/agent/perfiles.js.map +1 -0
  24. package/dist/agent/proyecto.js +107 -0
  25. package/dist/agent/proyecto.js.map +1 -0
  26. package/dist/agent/puente.js +142 -0
  27. package/dist/agent/puente.js.map +1 -0
  28. package/dist/agent/resumenDeTool.js +48 -0
  29. package/dist/agent/resumenDeTool.js.map +1 -0
  30. package/dist/agent/skills.js +65 -0
  31. package/dist/agent/skills.js.map +1 -0
  32. package/dist/agent/textoDeTool.js +113 -0
  33. package/dist/agent/textoDeTool.js.map +1 -0
  34. package/dist/agent/turnoReal.js +173 -0
  35. package/dist/agent/turnoReal.js.map +1 -0
  36. package/dist/agent/verificador.js +65 -0
  37. package/dist/agent/verificador.js.map +1 -0
  38. package/dist/agent/xoneAgent.js +106 -0
  39. package/dist/agent/xoneAgent.js.map +1 -0
  40. package/dist/bin.js +9 -0
  41. package/dist/bin.js.map +1 -0
  42. package/dist/cli/aprobar.js +82 -0
  43. package/dist/cli/aprobar.js.map +1 -0
  44. package/dist/cli/config.js +133 -0
  45. package/dist/cli/config.js.map +1 -0
  46. package/dist/cli/consola.js +346 -0
  47. package/dist/cli/consola.js.map +1 -0
  48. package/dist/cli/describe.js +53 -0
  49. package/dist/cli/describe.js.map +1 -0
  50. package/dist/cli/doctor.js +45 -0
  51. package/dist/cli/doctor.js.map +1 -0
  52. package/dist/cli/main.js +520 -0
  53. package/dist/cli/main.js.map +1 -0
  54. package/dist/cli/markdown.js +90 -0
  55. package/dist/cli/markdown.js.map +1 -0
  56. package/dist/cli/run.js +164 -0
  57. package/dist/cli/run.js.map +1 -0
  58. package/dist/cli/spinner.js +89 -0
  59. package/dist/cli/spinner.js.map +1 -0
  60. package/dist/cli/stdio.js +193 -0
  61. package/dist/cli/stdio.js.map +1 -0
  62. package/dist/cli/tema.js +40 -0
  63. package/dist/cli/tema.js.map +1 -0
  64. package/dist/cli/verify.js +62 -0
  65. package/dist/cli/verify.js.map +1 -0
  66. package/dist/core/bitacora.js +30 -0
  67. package/dist/core/bitacora.js.map +1 -0
  68. package/dist/core/config.js +236 -0
  69. package/dist/core/config.js.map +1 -0
  70. package/dist/core/contextos.js +56 -0
  71. package/dist/core/contextos.js.map +1 -0
  72. package/dist/core/deps.js +51 -0
  73. package/dist/core/deps.js.map +1 -0
  74. package/dist/core/diff.js +79 -0
  75. package/dist/core/diff.js.map +1 -0
  76. package/dist/core/esqueleto.js +366 -0
  77. package/dist/core/esqueleto.js.map +1 -0
  78. package/dist/core/events.js +2 -0
  79. package/dist/core/events.js.map +1 -0
  80. package/dist/core/modelos.js +85 -0
  81. package/dist/core/modelos.js.map +1 -0
  82. package/dist/core/notify.js +106 -0
  83. package/dist/core/notify.js.map +1 -0
  84. package/dist/core/ports.js +114 -0
  85. package/dist/core/ports.js.map +1 -0
  86. package/dist/core/turno.js +127 -0
  87. package/dist/core/turno.js.map +1 -0
  88. package/dist/vendor/hitl.js +103 -0
  89. package/dist/vendor/hitl.js.map +1 -0
  90. package/dist/vendor/skillLoaders/catalog.js +74 -0
  91. package/dist/vendor/skillLoaders/catalog.js.map +1 -0
  92. package/dist/vendor/tokenTracking.js +58 -0
  93. package/dist/vendor/tokenTracking.js.map +1 -0
  94. package/package.json +41 -0
  95. package/skills/xone-debugging/SKILL.md +52 -0
  96. package/skills/xone-debugging/references/faq.md +561 -0
  97. package/skills/xone-debugging/references/troubleshooting-y-glosario.md +429 -0
  98. package/skills/xone-development/SKILL.md +105 -0
  99. package/skills/xone-development/references/anti-patrones.md +94 -0
  100. package/skills/xone-development/references/css/atributos-por-categoria.md +509 -0
  101. package/skills/xone-development/references/css/buenas-practicas-y-parser.md +419 -0
  102. package/skills/xone-development/references/css/dinamicos-cascada-y-componentes.md +550 -0
  103. package/skills/xone-development/references/css/patrones-material-y-temas.md +1140 -0
  104. package/skills/xone-development/references/css/propiedades-y-herencia.md +885 -0
  105. package/skills/xone-development/references/css/selectores-unidades-colores.md +840 -0
  106. package/skills/xone-development/references/datos/appdata-referencia-ampliada.md +457 -0
  107. package/skills/xone-development/references/datos/appdata.md +611 -0
  108. package/skills/xone-development/references/datos/http-sqlmanager-y-crypto.md +720 -0
  109. package/skills/xone-development/references/datos/http.md +366 -0
  110. package/skills/xone-development/references/datos/oauth2-y-replica.md +156 -0
  111. package/skills/xone-development/references/device/biometria-imagedrawing-y-otros.md +544 -0
  112. package/skills/xone-development/references/device/objetos-de-dispositivo.md +583 -0
  113. package/skills/xone-development/references/device/systemsettings-referencia-ampliada.md +396 -0
  114. package/skills/xone-development/references/device/systemsettings-y-permisos.md +342 -0
  115. package/skills/xone-development/references/fundamentos/conceptos-clave.md +695 -0
  116. package/skills/xone-development/references/fundamentos/configuracion-app-xml-ini-mappings.md +668 -0
  117. package/skills/xone-development/references/fundamentos/errores-comunes.md +312 -0
  118. package/skills/xone-development/references/fundamentos/navegacion-convenciones-y-primer-proyecto.md +576 -0
  119. package/skills/xone-development/references/fundamentos/plataforma-y-anatomia-de-proyecto.md +387 -0
  120. package/skills/xone-development/references/indice-completo.md +77 -0
  121. package/skills/xone-development/references/javascript/coleccion-error-y-usuario.md +260 -0
  122. package/skills/xone-development/references/javascript/debugging-y-best-practices.md +245 -0
  123. package/skills/xone-development/references/javascript/metodos-de-los-controles.md +556 -0
  124. package/skills/xone-development/references/javascript/metodos-nativos-de-la-vista.md +114 -0
  125. package/skills/xone-development/references/javascript/motor-js-y-contexto-de-ejecucion.md +319 -0
  126. package/skills/xone-development/references/javascript/objeto-ai-llm-en-dispositivo.md +358 -0
  127. package/skills/xone-development/references/javascript/objetos-creables-a-m.md +527 -0
  128. package/skills/xone-development/references/javascript/objetos-creables-n-z.md +385 -0
  129. package/skills/xone-development/references/javascript/patrones-criticos-seguridad-y-rendimiento.md +595 -0
  130. package/skills/xone-development/references/javascript/patrones-de-navegacion-datos-y-codigo.md +751 -0
  131. package/skills/xone-development/references/javascript/patrones-de-ui-voz-integracion-y-seguridad.md +701 -0
  132. package/skills/xone-development/references/javascript/plantillas-y-funciones-utilitarias.md +647 -0
  133. package/skills/xone-development/references/javascript/self-y-dataobject.md +449 -0
  134. package/skills/xone-development/references/javascript/singletons-globales.md +361 -0
  135. package/skills/xone-development/references/javascript/ui-catalogo-de-metodos.md +464 -0
  136. package/skills/xone-development/references/javascript/ui-gps-camara-y-multimedia.md +506 -0
  137. package/skills/xone-development/references/javascript/ui-navegacion-mensajes-y-vista.md +422 -0
  138. package/skills/xone-development/references/resumen-js-datos-dispositivo.md +80 -0
  139. package/skills/xone-development/references/resumen-xml-y-css.md +74 -0
  140. package/skills/xone-development/references/tipos-de-prop.md +28 -0
  141. package/skills/xone-development/references/xml-ui/asfilter-visibilidad-eventos-y-macros.md +576 -0
  142. package/skills/xone-development/references/xml-ui/atributos-coll-group-frame.md +235 -0
  143. package/skills/xone-development/references/xml-ui/atributos-method-macro-script-event-app.md +244 -0
  144. package/skills/xone-development/references/xml-ui/atributos-prop.md +439 -0
  145. package/skills/xone-development/references/xml-ui/contents-y-macros.md +392 -0
  146. package/skills/xone-development/references/xml-ui/errores-comunes-xml.md +245 -0
  147. package/skills/xone-development/references/xml-ui/estructura-y-nodo-coll.md +326 -0
  148. package/skills/xone-development/references/xml-ui/eventos-ciclo-de-vida-e-interaccion.md +704 -0
  149. package/skills/xone-development/references/xml-ui/eventos-sistema-login-y-personalizados.md +944 -0
  150. package/skills/xone-development/references/xml-ui/layouts-herencia-y-buenas-practicas.md +618 -0
  151. package/skills/xone-development/references/xml-ui/mapas.md +685 -0
  152. package/skills/xone-development/references/xml-ui/mappings-y-colecciones-separadas.md +148 -0
  153. package/skills/xone-development/references/xml-ui/nodos-group-y-frame.md +666 -0
  154. package/skills/xone-development/references/xml-ui/patrones-de-pantalla.md +643 -0
  155. package/skills/xone-development/references/xml-ui/prop-atributos-y-condiciones.md +298 -0
  156. package/skills/xone-development/references/xml-ui/prop-tipos-basicos.md +493 -0
  157. package/skills/xone-development/references/xml-ui/prop-tipos-combos-y-controles.md +664 -0
  158. package/skills/xone-development/references/xml-ui/prop-tipos-listas-y-mapas.md +412 -0
  159. package/skills/xone-plan-builder/SKILL.md +183 -0
  160. package/skills/xone-plan-builder/agents/openai.yaml +5 -0
  161. package/skills/xone-plan-builder/references/TASKS-FORMAT.md +132 -0
  162. package/skills/xone-project-generator/SKILL.md +111 -0
  163. package/skills/xone-project-generator/references/canonical-sizes.md +292 -0
  164. package/skills/xone-project-generator/references/colecciones-base.md +16 -0
  165. package/skills/xone-project-generator/references/convenciones-de-nombres.md +16 -0
  166. package/skills/xone-project-generator/references/ejemplos-por-sector-y-prohibiciones.md +140 -0
  167. package/skills/xone-project-generator/references/fase-3-estilos-css.md +597 -0
  168. package/skills/xone-project-generator/references/fase-6-colecciones.md +762 -0
  169. package/skills/xone-project-generator/references/fase-7-asfilter-e-integraciones.md +142 -0
  170. package/skills/xone-project-generator/references/fase-7-entidades-y-estructura-de-pantalla.md +494 -0
  171. package/skills/xone-project-generator/references/fase-7-plantilla-consola.md +477 -0
  172. package/skills/xone-project-generator/references/fase-7-plantillas-de-pantalla.md +302 -0
  173. package/skills/xone-project-generator/references/fase-7-viewmodes-graficos-y-listas.md +681 -0
  174. package/skills/xone-project-generator/references/fase-7-viewmodes-mapa-y-calendario.md +479 -0
  175. package/skills/xone-project-generator/references/fases-0-2-analisis-y-modelo-de-datos.md +350 -0
  176. package/skills/xone-project-generator/references/fases-10-12-readmes-y-validacion.md +194 -0
  177. package/skills/xone-project-generator/references/fases-4-5-estructura-y-configuracion.md +587 -0
  178. package/skills/xone-project-generator/references/fases-8-9-eventos-y-javascript.md +861 -0
  179. package/skills/xone-project-generator/references/flujo-de-generacion.md +67 -0
  180. package/skills/xone-project-generator/references/plantillas-estandar.md +98 -0
  181. package/skills/xone-project-generator/references/tamanos-canonicos.md +49 -0
  182. package/skills/xone-review/SKILL.md +189 -0
  183. package/skills/xone-spec-builder/SKILL.md +235 -0
  184. package/skills/xone-spec-builder/agents/openai.yaml +5 -0
  185. package/skills/xone-spec-builder/references/ADR-FORMAT.md +55 -0
  186. package/skills/xone-spec-builder/references/CONTEXT-FORMAT.md +42 -0
  187. package/skills/xone-spec-builder/references/PLAN-FORMAT.md +120 -0
@@ -0,0 +1,140 @@
1
+ # Generación XOne — Ejemplos por sector y prohibiciones
2
+
3
+ > Fuente: `xone/v2/xone-project-generator/references/xone-project-generation-workflow.md` §14, §16. Referencia de la skill; el índice está en [../SKILL.md](../SKILL.md).
4
+
5
+ Contenido: §14 ejemplos por sector (logística, energía, comercio, salud, servicios) · §16 prohibiciones explícitas: lo que no se debe hacer nunca y la regla de oro
6
+
7
+ ---
8
+
9
+ ## 14. Ejemplos por Sector
10
+
11
+ ### 14.1 Logistica
12
+
13
+ **Colecciones típicas:** Almacenes, Productos, Ubicaciones, Movimientos, Inventarios, Lotes
14
+ **Pantallas típicas:** Escaneo QR/código barras, Mapa de almacen, Lista de productos, Detalle de movimiento
15
+ **Integraciones:** Camara (escaneo QR), GPS (ubicaciones), Firma digital (recepciones)
16
+
17
+ **Ejemplo de colecciones:**
18
+ - Productos.xne - Catálogo con CODIGO_BARRAS, NOMBRE, STOCK, UBICACION
19
+ - Movimientos.xne - Entradas/salidas con TIPO, ID_PRODUCTO (FK), CANTIDAD, FECHA
20
+ - Inventarios.xne - Conteos con FECHA, ESTADO, OBSERVACIONES
21
+
22
+ ### 14.2 Energía
23
+
24
+ **Colecciones típicas:** Instalaciones, Contadores, Lecturas, OrdenesTrabajo, Materiales, Checklists
25
+ **Pantallas típicas:** Ruta de lecturas, Detalle de contador, Formulario OT, Checklist
26
+ **Integraciones:** Camara (foto contador), GPS (ubicación), NFC (identificación equipo)
27
+
28
+ **Ejemplo de colecciones:**
29
+ - Contadores.xne - Puntos de lectura con NUMERO_SERIE, TIPO, DIRECCION, LATITUD, LONGITUD
30
+ - Lecturas.xne - Lecturas con ID_CONTADOR (FK), VALOR, FOTO, FECHA, ANOMALIA
31
+ - OrdenesTrabajo.xne - Mantenimiento con DESCRIPCION, PRIORIDAD, ESTADO
32
+
33
+ ### 14.3 Comercio
34
+
35
+ **Colecciones típicas:** Clientes, Productos, Pedidos, LineasPedido, Facturas, Rutas
36
+ **Pantallas típicas:** Lista de clientes, Catálogo, Crear pedido, Historial
37
+ **Integraciones:** GPS (visitas), Firma digital (aceptacion), Bluetooth (impresora tickets)
38
+
39
+ **Ejemplo de colecciones:**
40
+ - Clientes.xne - Cartera con NOMBRE, CIF, DIRECCION, TELEFONO, SALDO
41
+ - Pedidos.xne - Con ID_CLIENTE (FK), FECHA, TOTAL, ESTADO
42
+ - LineasPedido.xne - Detalle con ID_PEDIDO (FK), ID_PRODUCTO (FK), CANTIDAD, PRECIO
43
+
44
+ ### 14.4 Salud
45
+
46
+ **Colecciones típicas:** Pacientes, Citas, HistorialClinico, Tratamientos, Medicamentos
47
+ **Pantallas típicas:** Agenda, Ficha paciente, Historial, Prescripcion
48
+ **Integraciones:** Camara (fotos clinicas), Firma (consentimiento), Bluetooth (dispositivos)
49
+
50
+ **Ejemplo de colecciones:**
51
+ - Pacientes.xne - Con NOMBRE, DNI, FECHA_NACIMIENTO, GRUPO_SANGUINEO, ALERGIAS
52
+ - Citas.xne - Con ID_PACIENTE (FK), FECHA, HORA, MOTIVO, ESTADO
53
+ - HistorialClinico.xne - Con ID_PACIENTE (FK), DIAGNOSTICO, TRATAMIENTO, FECHA
54
+
55
+ ### 14.5 Servicios
56
+
57
+ **Colecciones típicas:** Clientes, Servicios, PartesTrabajo, Materiales, Incidencias
58
+ **Pantallas típicas:** Lista trabajos, Detalle servicio, Parte trabajo, Mapa visitas
59
+ **Integraciones:** GPS (ubicación), Camara (antes/después), Firma digital (conformidad)
60
+
61
+ **Ejemplo de colecciones:**
62
+ - PartesTrabajo.xne - Con ID_CLIENTE (FK), DESCRIPCION, FECHA_INICIO, FECHA_FIN, ESTADO
63
+ - Materiales.xne - Con ID_PARTE (FK), NOMBRE, CANTIDAD, PRECIO
64
+ - Incidencias.xne - Con ID_PARTE (FK), DESCRIPCION, PRIORIDAD, FOTO, RESOLUCION
65
+
66
+ ## 16. Prohibiciones Explicitas
67
+
68
+ ### 16.1 Lo que NO se debe hacer NUNCA
69
+
70
+ #### En mappings.xne — REGLA ABSOLUTA
71
+
72
+ > **mappings.xne contiene UNICA Y EXCLUSIVAMENTE las colecciones `Empresas` y `Usuarios`. Sin excepciones.**
73
+
74
+ - **NO** añadir ninguna otra coleccion de negocio en `mappings.xne`, aunque sea pequeña, auxiliar o de apoyo
75
+ - **NO** añadir colecciones de catálogos, configuración, parámetros u otras en `mappings.xne`
76
+ - **TODA** coleccion adicional va en su propio fichero `.xne` independiente con el nombre de la coleccion
77
+
78
+ ```
79
+ CORRECTO:
80
+ mappings.xne → solo Empresas y Usuarios
81
+ Clientes.xne → coleccion Clientes
82
+ Productos.xne → coleccion Productos
83
+ LineasPedido.xne → coleccion LineasPedido
84
+
85
+ INCORRECTO:
86
+ mappings.xne → Empresas + Usuarios + Clientes + Productos ← PROHIBIDO
87
+ ```
88
+
89
+ #### En XML (.xne)
90
+ - **NO** inventar atributos XML que no estén en la knowledgebase
91
+ - **NO** usar nodos HTML (div, span, table)
92
+ - **NO** omitir `##PREF##` en queries SQL
93
+ - **NO** omitir `objname` si la coleccion debe persistirse en BD
94
+ - **NO** omitir campos obligatorios en Empresas: `CODIGO` (N), `NOMBRE` (T)
95
+ - **NO** omitir campos obligatorios en Usuarios: `IDEMPRESA` (N), `CODIGO` (T), `LOGIN` (T), `PWD` (X), `NOMBRE` (T)
96
+ - **NO** usar valores de `visible` fuera del rango 0-7
97
+ - **NO** usar tipos de propiedades no documentados (ver sección 3.3)
98
+ - **NO** usar `L`/`TL`, `THTML`, `B` o `Z` como tipos de datos en BD — son solo visuales
99
+ - **NO** omitir `progid="ASData.CASBasicDataObj"` en colecciones de negocio
100
+ - **NO** escribir la clausula WHERE en el atributo `sql` — usar `filter` para los filtros
101
+ - **NO** escribir ORDER BY en el atributo `sql` — usar `sort` para la ordenacion
102
+ - **NO** usar px en dimensiones de props o frames — usar `p` (puntos) o `%`
103
+ - **NO** olvidar `newline="false"` cuando se quieren elementos en horizontal — sin él, cada elemento ocupa su propia línea aunque los anchos sumen 100%
104
+ - **NO** usar frames vacios como espaciadores — un frame sin props visibles no se renderiza ni ocupa espacio
105
+ - **NO** omitir el prefijo `MAP_` en campos que provienen de tablas enlazadas mediante JOIN — son campos de solo lectura que no se graban en BD
106
+ - **NO** usar el prefijo `MAP_` en campos propios de la tabla principal que si deben grabarse
107
+ - **NO** repetir el mismo `name` en dos nodos dentro de una `<coll>` — es una restricción crítica de la plataforma. **El ambito de unicidad es la `<coll>` ENTERA**, no el `<group>` o `<frame>` inmediato: no pueden existir dos `<prop>`, dos `<group>`, dos `<frame>` ni dos eventos con el mismo `name` en cualquier parte de la misma coll, **aunque estén en `<group>` o `<frame>` distintos**. Razón: el `name` se publica a nivel de la coll (los `collprops`), por lo que actuaria como identificador único ambiguo si se repitiera. Excepción: dos `<coll>` distintas SI pueden tener contenido identico (mismos `name` internos) siempre que el atributo `name` de cada coll sea distinto
108
+ - **NO** usar el mismo `name` en dos `<coll>` del proyecto — cada coleccion debe tener nombre único (este es el único `name` que NO puede coincidir entre colecciones)
109
+ - **NO** declarar eventos de control como nodos XML: `onclick`, `ontextchanged`, `onfocuschanged`, `oneditoraction`, `onlongpress`, `onlongpressitem`, `onscroll`, `onconsolemessage`, `oncodescanned`, `ondateselected`, `onpageselected`, `ondraweropened`, `ondrawerclosed`, etc. son **siempre atributos** del `<prop>`/`<frame>`/`<coll>` con JS inline como valor. Construcciones tipo `<onconsolemessage>...</onconsolemessage>` u `<onclick>...</onclick>` son XML invalidos y XOne las ignora silenciosamente. Unica excepción: `onchange` admite ambas formas (atributo y nodo hijo del prop). Los nodos hijos de `<coll>` que SI existen son eventos de objeto/coleccion (`<create>`, `<load>`, `<before-edit>`, `<after-edit>`, `<onback>`, `<onrefresh>`, `<login-ok>`, `<login-fail>`), no eventos de control
110
+
111
+ #### En CSS
112
+ - **NO** usar unidades web: px, em, rem, vh, vw
113
+ - **NO** usar propiedades CSS web: font-size, margin-top, background-color, display, flex, grid
114
+ - **NO** usar selectores web: #id, elemento > hijo, :hover, :focus
115
+ - **NO** usar media queries (`@media`) ni gradientes / sombras / transformaciones / transiciones de CSS web
116
+ - **SÍ** se pueden usar variables CSS (`:root { --color: red; }` + `var(--color)`), `calc(...)` sobre números puros y `@import "ruta";` al inicio del archivo
117
+
118
+ #### En JavaScript
119
+ - **NO** usar APIs del DOM — XOne no es HTML y no tiene navegador. Estas funciones NO existen en XOne: `document`, `document.getElementById`, `document.querySelector`, `window`, `window.location`, `localStorage`, `sessionStorage`, `XMLHttpRequest`, `navigator`, `history`. Para HTTP idiomático usar `$http`; para navegación usar `ui.*`; para datos usar `self.*` y `appData.*`.
120
+ - **SÍ existen** con implementación custom de XOne y semántica spec-compatible: `Promise` (ES2024 con `all`/`allSettled`/`race`/`any`/`withResolvers`/`.then`/`.catch`/`.finally`), `fetch`, `setTimeout`/`setInterval`, `URL`, `Headers`, `AbortController`, `EventTarget`, `TextEncoder`/`TextDecoder`, `console`, `performance.now()`. Úsalos si el caso lo pide; los callbacks XOne idiomáticos siguen siendo la forma preferida para APIs nativas (`$http.get(url, req, ok, err)`, `ui.startGps(cb)`, etc.).
121
+ - **NO** usar `async`/`await` (parse error).
122
+ - **NO** usar módulos ES6 (`import`/`export`).
123
+ - **NO** asumir que `this` funciona igual que en web (usar `self`).
124
+ - **NO** mezclar sintaxis de React, Angular, Vue u otros frameworks.
125
+ - **SÍ** se puede usar `class` ES6+ (declaraciones, expresiones, `extends`/`super`/`static`/getters/setters/computed keys, **field declarations** `name = expr;` y `static name = expr;`, **generator methods** `*method()`). Los generadores con `yield` (con o sin `*`) usan runtime estilo SpiderMonkey legacy: `gen.next()` devuelve el valor directo y lanza `StopIteration` al terminar; `for...of` no los itera, usar `try { while (true) v = iter.next(); } catch (e) {}`. Limitaciones: no hay private fields `#name`, static blocks, ni `new.target`.
126
+
127
+ #### En Estructura de Proyecto
128
+ - **NO** usar un prefijo diferente a "gen" sin autorización del usuario
129
+ - Los formatos validos para `icons/` son PNG, JPG y SVG
130
+ - **NO** omitir la generación de la base de datos con `xone_db_generator`
131
+ - **NO** omitir la insercion de datos iniciales (Empresa + Usuario admin)
132
+ - **NO** omitir los READMEs en las carpetas
133
+
134
+ ### 16.2 Regla de Oro
135
+
136
+ > **Cuando hay duda, SIEMPRE consultar las knowledgebases del proyecto antes de tomar una decisión. Si no hay documentación suficiente, buscar en los proyectos de ejemplo. Si aún así no hay respuesta, PREGUNTAR al usuario.**
137
+
138
+ ---
139
+
140
+ *Documento generado como guía operativa para agentes de IA en la generación de proyectos XOne. Basado en el análisis de 224 proyectos reales, 5 proyectos sinteticos y la documentación oficial del sistema.*