> ## Documentation Index
> Fetch the complete documentation index at: https://docs.devin.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Análisis de código de Devin

> Usa los análisis de código de Devin para detectar problemas de rendimiento, cobertura de pruebas, código muerto, accesibilidad y otros en tus repositorios, y corregirlos después con Devin

Un análisis de código es una sesión de Devin, junto con las sesiones secundarias que inicia, que lee uno o más repositorios, reporta **hallazgos** y puede corregirlos mediante pull requests. Los análisis de seguridad se explican en [Security Swarm](/es/work-with-devin/security-swarm). Esta página cubre los demás tipos de análisis.

<Accordion title="Requisitos previos">
  Para ejecutar un análisis:

  * Necesitas el permiso **Use code scans** y permiso para usar sesiones de Devin. Consulta [Acceso y permisos](/es/work-with-devin/security-swarm#access-and-permissions).
  * Tu organización debe tener acceso al repositorio que quieres analizar.
</Accordion>

<div id="start-a-scan-with-scan">
  ## Iniciar un análisis con `/scan`
</div>

1. En el editor, escribe `/scan` seguido de lo que quieres encontrar y menciona los repositorios que se analizarán. Por ejemplo: `/scan find N+1 queries in @acme/api`. Los repositorios que hayas seleccionado en el editor también se incluyen.
2. Envía el mensaje. Devin inicia una nueva sesión para configurar el análisis y la abre. Si enviaste `/scan` solo, Devin sugiere ejemplos de análisis, como buscar consultas lentas a la base de datos o código sin usar, y te pregunta qué quieres encontrar.
3. Devin elige el tipo de análisis a partir de tu solicitud y lo indica en una línea; por ejemplo, que configurará un análisis personalizado que solo busca nombres de variables en camelCase. Responde si quieres algo distinto.
4. Devin muestra una card de **Code scan setup**. Confirma los **Repositories** que se analizarán y, opcionalmente, agrega instrucciones en **What should the scan focus on?**. Si no mencionaste ningún repositorio, Devin preselecciona aquel en el que más has trabajado, según tus pull requests recientes.
5. Haz clic en **Start scan**. Devin crea el análisis solo después de que envíes la card, y luego comparte un enlace a la sesión del análisis. Si prefieres cancelar la configuración, haz clic en **Dismiss**.

No necesitas elegir un tipo de análisis ni configurarlo tú mismo. Las solicitudes que abarcan un área completa, como un análisis de rendimiento de un repositorio, usan el [tipo de análisis](#scan-types) correspondiente. Los objetivos más acotados o distintos, como encontrar fugas de memoria, usan un análisis **Custom** centrado en lo que describiste.

<video autoPlay muted loop playsInline className="w-full aspect-video" src="https://mintcdn.com/cognitionai/C44xaWXfrf74E4c0/images/work-with-devin/code-scans/code-scans-walkthrough.mp4?fit=max&auto=format&n=C44xaWXfrf74E4c0&q=85&s=8c69208be93267cd470d3591447f3c5f" data-path="images/work-with-devin/code-scans/code-scans-walkthrough.mp4" />

Cuando termina un análisis que no es de seguridad, Devin te envía un mensaje directo de Slack con un resumen de los hallazgos, salvo que hayas pedido otro tipo de notificación o ninguna. Para enviar mensajes de Slack, la integración de Slack de tu organización debe permitir que las sesiones envíen mensajes directos.

<Note>Los análisis que no son de seguridad se ejecutan sin supervisión con esfuerzo normal. Las opciones de esfuerzo y el Interactive mode, en el que Devin hace una pausa para que revises un threat model antes de investigar, solo están disponibles para los [análisis de seguridad](/es/work-with-devin/security-swarm#interactive-mode).</Note>

<div id="scan-types">
  ## Tipos de análisis
</div>

| Tipo de análisis     | Qué busca                                                                                                                                                                 |
| -------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Performance**      | Problemas de rendimiento y oportunidades para hacer tu código más rápido y eficiente.                                                                                     |
| **Database queries** | Problemas en los puntos donde tu código consulta sus almacenes de datos: consultas ineficientes, incorrectas, inseguras o poco confiables.                                |
| **Test coverage**    | Flujos y componentes que no están cubiertos por tests.                                                                                                                    |
| **Dead code**        | Código al que ya no llega nadie: funciones, módulos, flags y dependencias sin uso que se pueden eliminar sin riesgo.                                                      |
| **Code quality**     | Problemas de mantenibilidad que dificultan leer el código, modificarlo y mantenerlo correcto.                                                                             |
| **Cleanup**          | Código desordenado, redundante y sobredimensionado que se puede limpiar sin alterar el comportamiento.                                                                    |
| **Telemetry**        | Puntos que necesitan instrumentación de telemetría o seguimiento.                                                                                                         |
| **Accessibility**    | Código de frontend que no cumple las pautas de accesibilidad (WCAG), como labels faltantes, acceso por teclado roto y bajo contraste.                                     |
| **Compliance**       | Brechas frente a las regulaciones, estándares y policies que el scan está configurado para verificar, como el manejo de datos sensibles, los audit trails y la retención. |
| **Migration docs**   | Rastrea los flujos de extremo a extremo y la lógica de negocio de tu código y genera documentación lista para la migración, con diagramas.                                |
| **Custom**           | Cualquier otra cosa que describas, como puntos donde se registran datos personales o una convención de nombres que tu equipo quiera aplicar.                              |

Para vulnerabilidades y superficies de ataque, usa un scan de [Security Swarm](/es/work-with-devin/security-swarm).

<div id="review-and-fix-findings">
  ## Revisar y corregir hallazgos
</div>

Abre la pestaña **Hallazgos** en la sesión que inició el análisis de código, o en la sesión principal del análisis, para trabajar sobre sus hallazgos. Los hallazgos abiertos se agrupan por etapa:

* **Unassigned** — no se ha iniciado ninguna sesión de remediación.
* **Assigned** — se ha iniciado una sesión de remediación, pero no hay ninguna pull request abierta.
* **PR open** — hay una pull request abierta para el hallazgo.

Para cada hallazgo, puedes:

* **Assign to Devin** — iniciar una sesión de Devin que corrija el hallazgo y abra una pull request. Usa **Open session** para seguir el trabajo y **Open PR** para revisar el resultado.
* **Dismiss** — descartar un hallazgo que no requiere ninguna acción.

Mientras un análisis de código está en ejecución, la pestaña Hallazgos de la sesión principal del análisis también ofrece **Pause scan**, **Resume scan** y **Kill scan**. Estos controles requieren el permiso **Manage code scans**.

<div id="scale-scanning">
  ## Escalar el escaneo
</div>

<div id="scan-new-commits">
  ### Scan new commits
</div>

Cuando termine un análisis de cualquier tipo, haz clic en **Scan new commits** en la pestaña Findings para iniciar una ejecución incremental que analice únicamente los commits agregados desde la última ejecución completada del análisis. La ejecución utiliza la configuración existente del análisis y agrega sus hallazgos a ese mismo análisis. El botón no aparece mientras el análisis está en ejecución ni una vez archivado, y requiere **Manage code scans**. Si no hay commits nuevos, no se inicia ninguna ejecución.

También puedes pedirle a Devin en una sesión que analice los commits nuevos de un análisis existente.

<div id="automations">
  ### Automatizaciones
</div>

Las [automatizaciones](/es/product-guides/automations) pueden ejecutar análisis de cualquier tipo de forma programada o en respuesta a un evento. Elige el tipo de agente **Code scan** y, a continuación, en **Scan**:

* Elige **Create a new scan** para iniciar un análisis nuevo cada vez que se active la automatización. Selecciona los repositorios, el tipo de análisis y el perfil. Los tipos de análisis que no son de seguridad requieren un [perfil de análisis](/es/work-with-devin/security-swarm#scan-profiles) del mismo tipo.
* Elige un análisis existente para analizar sus nuevos commits cada vez que se active la automatización. El análisis ya debe tener una ejecución completada.

Los análisis iniciados por automatizaciones se ejecutan sin supervisión. Consulta [Iniciar análisis desde Automatizaciones](/es/work-with-devin/security-swarm#start-scans-from-automations).

<div id="api">
  ### API
</div>

La [API de análisis de código](/es/api-reference/v3/code-scans/triggering-code-scans) permite iniciar análisis, sondearlos y leer los hallazgos sin usar la aplicación web. Cuando inicias un análisis que no es de seguridad a través de la API, debes indicar un `profile_id` correspondiente a un perfil de ese tipo de análisis; `scan_type` toma de forma predeterminada el tipo del perfil. Los análisis iniciados a través de la API no son interactivos.

<div id="related-pages">
  ## Páginas relacionadas
</div>

* [Security Swarm](/es/work-with-devin/security-swarm) — análisis de seguridad, perfiles de análisis, interactive mode y permisos de code scans.
* [Ejecutar análisis de código mediante la API de Devin](/es/api-reference/v3/code-scans/triggering-code-scans) — el flujo completo de la API.
* [Automatizaciones](/es/product-guides/automations) — programa y lanza análisis mediante triggers.
