Pular para o conteúdo principal
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.

Entendendo a página de sessão do 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.

Ask Mode

Ask Devin é um modo simples para explorar sua base de código e planejar tarefas com o Devin, sem alterar o código em si. Use o Ask Mode para:
  • Fazer perguntas sobre como seu código funciona
  • Explorar a arquitetura e as dependências
  • Planejar e dimensionar tarefas antes da implementação
  • Gerar prompts ricos em contexto para sessões do Agent
Ask Mode

Ativando o modo Ask

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.
Modo Ask a partir da página principal
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.
Modo Ask a partir do DeepWiki
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.

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

Acionando o Agent mode

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:
Ask Mode to Agent Mode
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.
Agent Mode
Ao iniciar uma sessão em Agent mode, você configurará algumas opções: selecionar um repositório e selecionar um agente.

Selecionando um repositório

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.
Repository Selector
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

Selecionando um agente

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.
Agent Selector
Se você não tiver certeza de qual agente usar, o agente padrão funciona bem para a maioria das tarefas.

Usando menções com @

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 @
Menções com @ ajudam o Devin a entender exatamente em que você está trabalhando e reduzem a ambiguidade nos seus prompts.

Usando comandos de barra

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
Comandos de barra
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.

Definindo o escopo da sua primeira sessão

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.

Ideias de primeiros prompts

a new API endpoint
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.
frontend features
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.
unit tests
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.
or refactoring existing code
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 tipo
2) executando a suíte de testes com `npm test LoggerTest.test.js` para garantir que todos os testes passem
3) verificando se todas as chamadas de métodos existentes de logger em toda a base de código ainda funcionam sem erros de tipo.
unit tests
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 passam
2) 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ários
3) validando que todas as operações CRUD ainda mantêm a integridade dos dados executando `npm run test:e2e user-flows.test.js`
Quick PR
## Visão geral
A 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 trabalho
1. 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 PR
3. Faça as alterações de código
    - Não mude nada que não tenha sido especificamente solicitado pelo usuário
4. 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.

Próximos passos

Quando estiver familiarizado com sessões básicas, explore estes recursos para tirar ainda mais proveito do Devin: