Inicia tu primera sesión y descubre lo que Devin puede hacer
Antes de comenzar tu primera sesión, asegúrate de que has indexado y configurado tus repositorios. Estos son los pasos fundamentales que ayudan a Devin a comprender y trabajar con tu base de código.
Ahora que ya tienes todo configurado, inicia tu primera sesión con Devin. Esta guía te explicará la nueva interfaz de sesión y te ayudará a comprender las mejores formas de interactuar con Devin.
Cuando inicias una nueva sesión, verás dos modos principales: Ask y Agent.
A menos que ya cuentes con un plan bien definido, recomendamos empezar con Ask para colaborar con Devin en la creación de un plan y luego pasar al modo Agent para ejecutarlo.
Puedes activar el modo Ask desde la página principal o desde una página de DeepWiki.Para usar el modo Ask desde la página principal, cambia al modo Ask y selecciona los repositorios sobre los que quieres preguntar.
Para usar el modo Ask desde una página de DeepWiki, escribe una consulta en el cuadro de chat en la parte inferior de la página y haz clic en Ask. Esto delimitará automáticamente el conocimiento de Devin a ese repositorio en particular.
Obtén más información en nuestra guía de Ask Devin.Una vez que hayas trabajado con Devin para entender el problema y crear un plan, estarás listo para pasar al modo Agent.
El modo Agente es el modo totalmente autónomo de Devin, en el que puede escribir código, ejecutar comandos, navegar por la web y completar tareas complejas de principio a fin. Usa el modo Agente cuando quieras:
Implementar nuevas funciones o corregir errores
Crear pull requests
Ejecutar pruebas y depurar problemas
Realizar tareas de varios pasos que requieran cambios de código
Puedes activar el modo Agent desde la página principal o desde una sesión de Ask Devin.Para tareas cuyo alcance no esté completamente definido, recomendamos:
Comenzar con el modo Ask para planificar la tarea
Crear un Devin Prompt, que se basará en tu sesión de Ask para crear un plan bien delimitado
Hacer clic en Send to Devin para pasar al modo Agent y ejecutar la tarea
Este flujo se muestra a continuación:
Para usar el modo Agent desde la página principal, cambia al modo Agent y selecciona los repositorios con los que quieras trabajar.
Al iniciar una sesión de Agent, podrás configurar algunas opciones: seleccionar un repositorio y seleccionar un Agent.
Selecciona el repositorio con el que quieres que Devin trabaje. Haz clic en el selector de repositorios para ver todos los repositorios que se han añadido a la máquina de Devin.
Seleccionar un repositorio permite que Devin:
Tenga acceso a tu código y pueda hacer cambios
Use la rama correcta como punto de partida
Pueda crear pull requests en el repositorio adecuado
Puedes elegir qué configuración de agente utiliza Devin para tu sesión. Diferentes agentes pueden tener distintas capacidades o estar optimizados para tipos específicos de tareas.Actualmente, tenemos un agente predeterminado que funciona bien para la mayoría de las tareas y un agente analista de datos llamado Dana que está optimizado para tareas de análisis de datos.
Si no estás seguro de qué agente usar, el agente predeterminado funciona bien para la mayoría de las tareas.
Usa menciones @ para darle a Devin contexto específico sobre archivos, repositorios u otros recursos. Cuando escribes @ en el campo de entrada del chat, verás un menú desplegable con las menciones disponibles:
@Repos - Hace referencia a un repositorio específico
@Files - Hace referencia a un archivo específico en tu base de código
@Macros - Hace referencia a una macro para una entrada de Knowledge
@Playbooks - Hace referencia a un playbook de equipo o de la comunidad, que son plantillas de prompts detalladas que se pueden usar para guiar el comportamiento de Devin.
@Secrets - Hace referencia a un secreto específico (por ejemplo, API keys, credenciales, etc.) del administrador de sesiones de Devin
Las menciones @ ayudan a Devin a comprender exactamente con qué estás trabajando y reducen la ambigüedad en tus prompts.
Los comandos de barra diagonal son atajos que se expanden en plantillas de prompt predefinidas. Escribe / en el campo de entrada del chat para ver los comandos disponibles:
/plan - Haz que Devin te ayude a definir y planificar una tarea
/review - Configura un flujo de trabajo de revisión de código
/test - Crea pruebas o analiza la cobertura de pruebas
/think-hard - Haz que Devin piense con más detenimiento sobre problemas complejos
/implement - Implementa una funcionalidad o cambio específico
Las organizaciones Enterprise también pueden crear comandos de barra diagonal personalizados para flujos de trabajo específicos de cada equipo. Obtén más información en nuestra guía de comandos de barra diagonal.
Comienza con tareas de alcance más reducido y recuerda darle a Devin el mismo nivel de detalle que le darías a un ingeniero junior humano. Hemos visto a usuarios trabajar con Devin en todo tipo de tareas, desde la corrección de pequeños errores hasta refactorizaciones puntuales y migraciones a gran escala.
Crea un nuevo endpoint /users/stats que devuelva un objeto JSON con el número de usuarios y la edad promedio al registrarse. Usa nuestra tabla existente users en PostgreSQL. Puedes usar como referencia el endpoint /orders/stats en statsController.js para ver cómo estructuramos las respuestas. Asegúrate de que el nuevo endpoint esté cubierto por la suite StatsController.test.js.
Pequeñas funcionalidades de frontend
frontend features
Copiar
Preguntar a la IA
En UserProfileComponent, añade un menú desplegable que muestre una lista de roles de usuario (admin, editor, viewer). Usa el estilo de DropdownBase. Cuando se seleccione un rol, llama a la API existente para configurar el rol del usuario. Valida verificando que la selección actualiza el rol del usuario en la base de datos. Consulta tu Knowledge para ver cómo probarlo correctamente.
Escribir pruebas unitarias
unit tests
Copiar
Preguntar a la IA
Añade pruebas de Jest para los métodos de AuthService: login y logout. Asegúrate de que la cobertura de pruebas para estas dos funciones sea de al menos un 80 %. Usa UserService.test.js como ejemplo.Después de la implementación, ejecuta `npm test -- --coverage` y verifica que el informe de cobertura muestre >80 % para ambas funciones. También confirma que las pruebas pasen tanto con credenciales válidas como inválidas, y que logout borre correctamente los datos de sesión.
Migración o refactorización de código existente
or refactoring existing code
Copiar
Preguntar a la IA
Migra logger.js de JavaScript a TypeScript. Ya tenemos un tsconfig.json y una suite de pruebas LoggerTest.test.js para validación. Asegúrate de que compile sin errores y de no cambiar la configuración existente.Después de la migración, verifica:1) ejecutando `tsc` para confirmar que no haya errores de tipo2) ejecutando la suite de pruebas con `npm test LoggerTest.test.js` para asegurarte de que todas las pruebas pasen3) comprobando que todas las llamadas existentes a métodos de logger en toda la base de código sigan funcionando sin errores de tipo.
Actualización de API o consultas de bases de datos
unit tests
Copiar
Preguntar a la IA
Estamos cambiando de pg a Sequelize (consulta https://sequelize.org/api/v6/identifiers). Actualiza las consultas de UserModel para usar métodos de Sequelize. Consulta OrderModel para ver cómo lo hacemos en este código.Después de implementar, verifica lo siguiente:1) ejecutando `npm run test:integration UserModel.test.js` para comprobar que pasan todas las pruebas de integración2) confirmando que el rendimiento de las consultas no se ha degradado, comprobando el tiempo de ejecución en un conjunto de datos de prueba de 1000 usuarios3) validando que todas las operaciones CRUD siguen manteniendo la integridad de los datos, ejecutando `npm run test:e2e user-flows.test.js`
Crea una PR rápida (recomendamos usar este prompt en un Playbook)
Quick PR
Copiar
Preguntar a la IA
## OverviewLa tarea consiste en hacer una pull request rápida a un repositorio.Como se trata de una PR "rápida", no necesitarás ejecutar ningún código ni probar nada; simplemente crea una PR y el usuario se encargará de las pruebas. Tu única responsabilidad es leer y escribir código.## What's Needed From User- El repositorio al que se debe crear la pull request## Procedure### Prepare your workspace1. Navega al repositorio correspondiente en tu máquina (acláralo con el usuario si no puedes identificarlo). - Haz checkout de la rama principal y toma nota del nombre de esa rama. - Haz checkout a una rama nueva, ya que vas a crear una pull request. El nombre de la rama debe tener el formato `devin/<your-branch-name>/X` donde X es un número aleatorio. Por ejemplo, `devin/fix-popup/3234`. Ejecuta `git remote -v && git pull && git checkout -b devin/{branch-name}/$RANDOM` y reemplaza `{branch-name}` con el nombre de la rama que quieres crear.2. Estudia la petición, el codebase y planifica los cambios - Revisa los archivos y secciones de código más relevantes, identificando los fragmentos pertinentes. - Informa al usuario de tu plan### Work on the PR itself3. Realiza los cambios de código - No cambies nada que el usuario no haya solicitado específicamente4. Crea la PR - Haz commit y push de los cambios e informa al usuario. - Consulta la sección de consejos para ver el comando exacto para crear la PR - Crea una pull request y revísala para asegurarte de que se ve bien. - Asegúrate de que todas las GitHub Actions pasan correctamente y realiza los cambios necesarios hasta que lo hagan - Envía el enlace de la PR al usuario y resume lo que cambiaste.5. Atiende cualquier comentario de la revisión; envía el enlace de la PR de nuevo cada vez que hagas cambios - Si necesitas hacer actualizaciones, simplemente haz push de más commits a la misma rama; no crees una nueva## Task Specification- El enlace de la PR se incluye en tus mensajes al usuario- La PR fue revisada después de su creación- La PR no incluye cambios accidentales- La PR no cambia nada que el usuario no haya solicitado específicamente- La descripción de la PR debe incluir un resumen de los cambios, con formato de checklist- La descripción de la PR debe mencionar que el código se escribió sin pruebas, e incluir - [ ] Test the changes como un elemento- La descripción de la PR debe incluir el siguiente pie de página: "This PR was written by [Devin](https://devin.ai/) :angel:"- La descripción de la PR debe incluir cualquier metadata que el usuario haya proporcionado (por ejemplo, etiquetas de tickets de Linear con la sintaxis adecuada)- La descripción de la PR no debe estar malformateada (usa --body-file en lugar de --body si los saltos de línea se estropean)## Forbidden Actions- NO intentes acceder a github.com a través del navegador; no estarás autenticado.- NUNCA hagas force push en ramas. Prefiere hacer merge en lugar de rebase para no perder trabajo.- NO hagas push directamente a la rama principal.## Advice and Pointers- Verifica dos veces el nombre de la rama principal (que podría ser `main` o `master`) usando `git branch`.- Para repos con CI/CD en GitHub Actions, puedes revisar los registros de build usando la gh cli. Si te piden arreglar un build/arreglar lint, deberías empezar mirando los registros de builds recientes.- Revisa `git status` antes de hacer commit o agregar archivos.- Usa `git diff` para ver qué cambios has hecho antes de hacer commit.- Si estás actualizando un repo existente, usa `gh cli` para crear pull requests.- Envía el enlace de la PR al usuario cada vez que la actualices y pídele que la revise de nuevo para que le resulte cómodo.- Ya deberías estar autorizado para acceder a cualquier repositorio que el usuario te indique. Si no es así, pídele acceso al usuario.
Si quieres profundizar en ejemplos más detallados de lo que Devin puede hacer (y cómo), consulta nuestros tutoriales introductorios a continuación.