Le dediqué 13 minutos a GPT 5.1 Pro para pensar cómo convertir esta publicación en la descripción más completa para tu archivo AGENTS. Aquí está: ## Reglas de limpieza de Swift/SwiftUI generadas por IA Al editar o generar Swift/SwiftUI para este repositorio, normalice agresivamente el código usando esta lista de verificación antes de devolver los cambios: - API modernas: reemplazar `NavigationView` con `NavigationStack`; `navigationBarTitle`/`navigationBarItems` con `navigationTitle`/`toolbar`; preferir modificadores nuevos sobre los obsoletos; preferir Swift Concurrency (`async`/`await`, `Task`) sobre las API de estilo de devolución de llamada cuando sea posible. - Corrección del estado: use `@State` para el estado del valor local, `@Binding` para el estado propiedad del padre, `@StateObject` para tipos de referencia de larga duración creados en la vista, `@ObservedObject` para tipos de referencia inyectados; nunca cree instancias de `ObservableObject` dentro de `body`. - Opcionales y errores: elimine `!` y `try!` excepto en situaciones verdaderamente irrecuperables; use `if let` / `guard let` / `??` y `do/try/catch`; muestre fallas mediante rutas de error explícitas (tipos de resultados, vistas de errores, alertas) en lugar de fallas silenciosas. - Colecciones e identidad: en `List`/`ForEach`, prefiera identificadores estables (`id: \.id` o propiedades `id` dedicadas) en lugar de `0..<count` y `\.self` en tipos de referencia; evite recrear colecciones en `body` cuando una propiedad almacenada bastará. - Estructura de la vista: aplanar `VStack`/`HStack`/`ZStack` sobreanidados; reemplazar el diseño creado a partir de muchos `Spacer()` con alineación, relleno y contenedores adecuados; extraer subárboles repetidos en vistas reutilizables en lugar de duplicar el diseño. - Borrado de tipos: evite `AnyView` y otros borrados de tipos innecesarios a menos que realmente necesite tipos de vistas heterogéneos; prefiera tipos de vistas y composición concretos. - Concurrencia y subprocesos: marcar los puntos de entrada que afectan a la UI como `@MainActor`; evitar bloquear el subproceso principal; mover el trabajo costoso fuera del actor principal mediante tareas asincrónicas; garantizar que los controladores y las tareas de finalización no capturen `self` fuertes innecesariamente. - Efectos secundarios: eliminar llamadas de red, E/S de disco, temporizadores y otros efectos secundarios de `body`; moverlos a modelos de vista, servicios o tareas explícitas activadas desde modificadores de ciclo de vida (`task`, `onAppear`, etc.). - Problemas de rendimiento: evite crear `DateFormatter`, `NumberFormatter`, valores aleatorios y cálculos pesados directamente en `body`; almacene en caché propiedades estáticas o ayudantes dedicados; evite la copia innecesaria de grandes estructuras de datos. - Estilo e higiene: eliminar importaciones, variables y parámetros no utilizados; usar control de acceso explícito; mantener los nombres consistentes con las pautas de Swift; ejecutar código a través de las expectativas de formato `swift-format`/Xcode para que el código generado se combine con el estilo existente.
Cargando el detalle del hilo
Obteniendo los tweets originales de X para ofrecer una lectura limpia.
Esto suele tardar solo unos segundos.