Inicie sua primeira sessão e veja do que o Devin é capaz
Antes de iniciar sua primeira sessão, verifique se você já indexou e configurou seus repositórios. Essas são as etapas fundamentais que ajudam o Devin a entender e trabalhar com o seu código.
Agora que você já concluiu a configuração, inicie sua primeira sessão com o Devin! Este guia vai mostrar a nova interface de sessão e ajudar você a entender as melhores formas de interagir com o Devin.
Quando você inicia uma nova sessão, verá dois modos principais: Ask e Agent.
A menos que você já tenha um plano totalmente definido, recomendamos começar com Ask para elaborar o plano junto com o Devin e, em seguida, mudar para o modo Agent para executá-lo.
Você pode ativar o modo Ask a partir da página principal ou de uma página do DeepWiki.Para usar o modo Ask a partir da página principal, alterne para o modo Ask e selecione o(s) repositório(s) sobre o(s) qual(is) você quer perguntar.
Para usar o modo Ask a partir de uma página do DeepWiki, digite uma pergunta no campo de chat na parte inferior da página e clique em Ask. Isso restringirá automaticamente o Knowledge do Devin a esse repositório específico.
Saiba mais em nosso guia Ask Devin.Depois de trabalhar com o Devin para entender o problema e criar um plano, você estará pronto para alternar para o modo Agent.
O modo Agent é o modo totalmente autônomo do Devin, em que ele pode escrever código, executar comandos, navegar na web e concluir tarefas complexas de ponta a ponta. Use o modo Agent quando estiver pronto para:
Implementar recursos ou corrigir bugs
Criar pull requests
Executar testes e depurar problemas
Realizar tarefas em várias etapas que exigem alterações de código
Você pode acionar o Agent mode a partir da página principal ou de uma sessão de Ask Devin.Para tarefas que não estão totalmente definidas, recomendamos:
Comece no Ask mode para planejar a tarefa
Construa um Devin Prompt, que usará sua sessão de Ask para criar um plano bem definido
Clique em Send to Devin para passar para o Agent mode e executar a tarefa
Esse fluxo é mostrado abaixo:
Para usar o Agent mode a partir da página principal, alterne para o Agent mode e selecione os repositórios com os quais você quer trabalhar.
Ao iniciar uma sessão em Agent mode, você configurará algumas opções: selecionar um repositório e selecionar um agente.
Selecione o repositório no qual você deseja que o Devin trabalhe. Clique no seletor de repositório para ver todos os repositórios que foram adicionados à máquina do Devin.
Selecionar um repositório garante que o Devin:
Tenha acesso à sua base de código e possa fazer alterações
Use a branch correta como ponto de partida
Possa criar pull requests para o repositório correto
Você pode escolher qual configuração de agente o Devin usará na sua sessão. Diferentes agentes podem ter capacidades distintas ou ser otimizados para tipos específicos de tarefas.Atualmente, temos um agente padrão que funciona bem para a maioria das tarefas e um agente de análise de dados chamado Dana, que é otimizado para tarefas de análise de dados.
Se você não tiver certeza de qual agente usar, o agente padrão funciona bem para a maioria das tarefas.
Use menções com @ para fornecer ao Devin um contexto específico sobre arquivos, repositórios ou outros recursos. Quando você digitar @ no campo de entrada do chat, verá um menu suspenso com as menções disponíveis:
@Repos - Referencie um repositório específico
@Files - Referencie um arquivo específico na sua base de código
@Macros - Referencie uma macro para uma entrada de Knowledge
@Playbooks - Referencie um playbook de equipe ou da comunidade, que são modelos de prompts detalhados que podem ser usados para guiar o comportamento do Devin.
@Secrets - Referencie um segredo específico (por exemplo, chaves de API, credenciais, etc.) do gerenciador de sessão do Devin
Menções com @ ajudam o Devin a entender exatamente em que você está trabalhando e reduzem a ambiguidade nos seus prompts.
Comandos de barra são atalhos que se expandem em modelos de prompt predefinidos. Digite / no campo de mensagem do chat para ver os comandos disponíveis:
/plan - Peça para o Devin ajudar você a definir o escopo e planejar uma tarefa
/review - Configure um fluxo de trabalho de revisão de código
/test - Crie testes ou analise a cobertura de testes
/think-hard - Peça para o Devin pensar com mais cuidado sobre problemas complexos
/implement - Implemente um recurso ou alteração específica
Organizações no plano Enterprise também podem criar comandos de barra personalizados para fluxos de trabalho específicos da equipe. Saiba mais em nosso guia de comandos de barra.
Comece com tarefas de escopo menor e lembre-se de orientar o Devin com o mesmo nível de detalhe que você daria a um engenheiro de software júnior. Já vimos usuários trabalharem com o Devin em tudo, desde correção de pequenos bugs até refatorações pontuais e migrações em larga escala.
Crie um novo endpoint /users/stats que retorne um objeto JSON com a contagem de usuários e a idade média no momento do cadastro. Use nossa tabela users existente no PostgreSQL. Você pode usar o endpoint /orders/stats em statsController.js como referência para como estruturamos as respostas. Garanta que o novo endpoint esteja coberto pela suíte de testes StatsController.test.js.
Pequenos recursos de front-end
frontend features
Copiar
Perguntar à IA
No componente UserProfileComponent, adicione um menu suspenso que mostre uma lista de funções de usuário (admin, editor, viewer). Use a estilização de DropdownBase. Quando uma função for selecionada, chame a API existente para definir a função do usuário. Valide verificando se a seleção atualiza a função do usuário no banco de dados. Consulte seu Knowledge para saber como testar corretamente.
Escrever testes unitários
unit tests
Copiar
Perguntar à IA
Adicione testes em Jest para os métodos do AuthService: login e logout. Garanta que a cobertura de testes para essas duas funções seja de pelo menos 80%. Use o arquivo UserService.test.js como exemplo.Após a implementação, execute `npm test -- --coverage` e verifique se o relatório de cobertura mostra >80% para ambas as funções. Também confirme que os testes passam com credenciais válidas e inválidas, e que o logout limpa corretamente os dados de sessão.
Migração ou refatoração de código existente
or refactoring existing code
Copiar
Perguntar à IA
Migre logger.js de JavaScript para TypeScript. Já temos um tsconfig.json e uma suíte de testes LoggerTest.test.js para validação. Certifique-se de que o código seja compilado sem erros e não altere a configuração existente!Após a migração, verifique:1) executando `tsc` para confirmar que não há erros de tipo2) executando a suíte de testes com `npm test LoggerTest.test.js` para garantir que todos os testes passem3) verificando se todas as chamadas de métodos existentes de logger em toda a base de código ainda funcionam sem erros de tipo.
Atualizar APIs ou consultas ao banco de dados
unit tests
Copiar
Perguntar à IA
Estamos migrando de pg para sequelize (leia https://sequelize.org/api/v6/identifiers). Atualize as consultas do UserModel para usar os métodos do Sequelize. Consulte o OrderModel para ver como fazemos isso nesta base de código.Após a implementação, valide:1) executando `npm run test:integration UserModel.test.js` para verificar se todos os testes de integração passam2) confirmando que o desempenho das consultas não foi degradado, verificando o tempo de execução em um conjunto de dados de teste com 1000 usuários3) validando que todas as operações CRUD ainda mantêm a integridade dos dados executando `npm run test:e2e user-flows.test.js`
Crie um PR rápido (recomendamos utilizar este prompt em um Playbook)
Quick PR
Copiar
Perguntar à IA
## Visão geralA tarefa é fazer um pull request rápido para um repositório.Como este é um PR "rápido", você não precisará executar nenhum código ou testar nada; simplesmente faça o PR e o usuário cuidará dos testes. Sua única responsabilidade é ler e escrever código.## O que precisamos do usuário- O repositório para o qual criar um pull request## Procedimento### Prepare seu ambiente de trabalho1. Navegue até o repositório relevante na sua máquina (confirme com o usuário se você não conseguir descobrir qual é). - Faça checkout na branch principal e anote o nome da branch principal. - Crie uma nova branch e faça checkout nela, já que você fará um pull request. O nome da branch deve ser no formato `devin/<your-branch-name>/X`, onde X é um número aleatório. Por exemplo, `devin/fix-popup/3234`. Rode `git remote -v && git pull && git checkout -b devin/{branch-name}/$RANDOM` e substitua `{branch-name}` pelo nome da branch que você quer criar.2. Estude a solicitação, o codebase e planeje as alterações - Revise os arquivos e trechos de código mais relevantes, identificando os trechos importantes. - Informe ao usuário o seu plano### Trabalhe no próprio PR3. Faça as alterações de código - Não mude nada que não tenha sido especificamente solicitado pelo usuário4. Faça o PR - Faça commit e push das alterações e avise o usuário. - Veja a seção de recomendações para o comando exato para criar o PR - Crie um pull request e revise o PR para garantir que está tudo certo. - Garanta que todas as GitHub Actions sejam bem-sucedidas e faça as alterações necessárias até que sejam. - Envie o link do PR para o usuário e resuma o que você alterou.5. Trate de qualquer feedback da revisão; envie o link do PR novamente sempre que fizer qualquer alteração - Se você precisar fazer atualizações, apenas envie mais commits para a mesma branch; não crie uma nova## Especificação da tarefa- O link do PR está incluído nas suas mensagens para o usuário- O PR foi revisado após a criação- O PR não inclui alterações não relacionadas- O PR não altera nada que não tenha sido especificamente solicitado pelo usuário- A descrição do PR deve incluir um resumo das alterações, formatado como uma checklist- A descrição do PR deve mencionar que o código foi escrito sem testes e incluir - [ ] Testar as alterações como um item- A descrição do PR deve incluir o seguinte rodapé: "Este PR foi escrito por [Devin](https://devin.ai/) :angel:"- A descrição do PR deve incluir quaisquer metadados que o usuário tenha fornecido (por exemplo, tags de tickets do Linear na sintaxe apropriada)- A descrição do PR não deve estar malformatada (use --body-file em vez de --body se as quebras de linha estiverem bagunçadas!)## Ações proibidas- NÃO tente acessar github.com pelo navegador, você não estará autenticado.- NUNCA dê force push em branches! Prefira fazer merge em vez de rebase para não perder nenhum trabalho.- NÃO faça push diretamente na branch principal.## Recomendações e dicas- Confira o nome da branch principal (que pode ser `main` ou `master`) usando `git branch`.- Para repositórios com CI/CD em GitHub Actions, você pode verificar os logs de build usando o gh CLI. Se pedirem para corrigir um build/corrigir lint, você deve começar olhando os logs de builds recentes.- Verifique `git status` antes de fazer commit ou adicionar arquivos.- Use `git diff` para ver quais alterações você fez antes de fazer commit.- Se você estiver atualizando um repositório existente, use o gh CLI para criar pull requests.- Envie o link do PR para o usuário sempre que atualizar e peça para ele revisar novamente, para facilitar para ele- Você já deve estar autorizado a acessar quaisquer repositórios que o usuário mencionar. Caso contrário, peça acesso ao usuário.
Se você quiser se aprofundar em exemplos mais detalhados do que o Devin pode fazer (e como), confira nossos tutoriais introdutórios abaixo.