Visão geral
.devin/blueprint.yaml. Você sincroniza o arquivo com o Devin pela API ou pela UI e, em seguida, aciona um build do snapshot para aplicar as alterações.
Isso dá a você o mesmo workflow usado no código da aplicação: editar na IDE, abrir uma pull request, receber uma revisão, fazer merge e depois sincronizar + executar o build por uma etapa de CI ou pela UI.
| Abordagem | Onde o blueprint fica | Como você o edita | Como as alterações são aplicadas |
|---|---|---|---|
| Banco de dados (padrão) | UI de configurações do Devin | Edite no navegador | Salvo imediatamente ao clicar |
| Baseado em Git | .devin/blueprint.yaml no seu repo | Edite na sua IDE, faça merge de uma PR | Chame a API de sincronização (ou clique em Sync na UI) e depois acione um build |
Blueprints baseados em Git usam o mesmo formato YAML do editor da UI. Consulte a Referência de blueprints para ver a especificação completa dos campos.
Primeiros passos
1. Crie o arquivo blueprint
.devin/blueprint.yaml à raiz do seu repositório:
2. Faça push para a branch padrão
.devin/blueprint.yaml para a branch padrão do seu repositório (geralmente main ou master).
Se o repositório já estiver conectado ao ambiente do Devin, você precisará acionar uma sincronização (via API ou pelo botão Sync na UI) para que o Devin detecte o arquivo. Se você estiver adicionando o repo pela primeira vez, a descoberta inicial lê o blueprint do Git.
3. Verifique na UI
Como a sincronização funciona
.devin/blueprint.yaml a partir do HEAD da branch padrão do repositório e atualizar as versões de blueprint armazenadas no Devin. A sincronização não acontece automaticamente a cada push — você precisa acioná-la explicitamente:
- Sincronização via API — Chame o endpoint de sincronização v3 (veja Sincronização via API abaixo). Esta é a abordagem recomendada para pipelines de CI/CD.
- Sincronização via UI — Clique no botão Sync no editor de blueprint. Isso também aciona um build do snapshot se o conteúdo tiver mudado.
- Ao adicionar um repositório ao ambiente — Se
.devin/blueprint.yamlexistir na branch padrão, o blueprint será obtido automaticamente do Git durante a descoberta inicial.
Sync vs. build
- Sync busca a versão mais recente de
.devin/blueprint.yamlno Git e armazena uma nova versão do blueprint. - Build cria uma nova imagem de snapshot a partir das versões atuais dos blueprints.
Sincronização via a API
.devin/blueprint.yaml. Isso normalmente é feito por meio de um pipeline de CI/CD (por exemplo, uma etapa pós-merge do GitHub Actions).
Fluxo completo
Etapa 1: Sincronize o blueprint
.devin/blueprint.yaml da branch padrão:
repo_name aceita owner/repo para o GitHub ou uma URL completa do provedor para outros hosts (por exemplo, https://gitlab.com/org/repo).
Etapa 2: Acione um build
Etapa 3: Consultar o status da build (opcional)
status passa pelos seguintes estados: running → succeeded ou failed.
Sincronização em toda a Enterprise
Exemplo: workflow do GitHub Actions
Você precisa de um usuário de serviço ou de um token de acesso pessoal com permissão de escrita no ambiente. Armazene o token como
DEVIN_API_TOKEN e o ID da organização como DEVIN_ORG_ID nos segredos do repositório.Editando blueprints baseados em Git
Criar uma PR pelo editor
- Abra o editor de blueprint em Configurações > Ambiente > Blueprints
- Edite o YAML no editor
- Clique em Criar PR
- O Devin abre uma pull request (PR) no seu repositório que atualiza
.devin/blueprint.yaml - Revise, aprove e faça o merge da PR
- A próxima sincronização reconhece a alteração e aciona uma build
Edite diretamente no seu repositório
- Edite
.devin/blueprint.yamlno seu IDE ou no seu provedor Git - Faça commit e push para a branch padrão (ou abra uma PR e faça o merge)
- Acione a sincronização pela API ou clique em Sync na UI
Sugestões do Devin
.devin/blueprint.yaml, em vez de ser salva diretamente no banco de dados. Você revisa e faz o merge da PR como qualquer outra alteração de código.
Monorepos e workspaces
includes para definir blueprints separados para cada workspace. Cada workspace tem seu próprio arquivo .devin/blueprint.yaml em seu subdiretório.
Root blueprint com includes
.devin/blueprint.yaml na raiz declara quais workspaces têm seus próprios blueprints:
Blueprints de workspace
.devin/blueprint.yaml:
Regras de inclusão
- Cada entrada de
includesé um caminho de subdiretório (e.g.,packages/frontend). Devin procura.devin/blueprint.yamldentro desse diretório. - Você também pode usar o caminho completo:
packages/frontend/.devin/blueprint.yaml. - Somente o root blueprint pode conter
includes. Inclusões aninhadas (um blueprint incluído que também declaraincludes) não são permitidas. - Cada caminho de workspace pode aparecer apenas uma vez em
includes. - Se um arquivo incluído estiver ausente do repositório, esse workspace será tratado como removido, e seu blueprint será removido.
Alternar entre os modos Git e de banco de dados
Mudar para o Git
- Crie
.devin/blueprint.yamlno seu repositório com o conteúdo desejado - Faça push para a branch padrão
- No editor de blueprint, clique no menu suspenso de origem e selecione seu provedor Git (por exemplo, “GitHub”)
- O Devin sincroniza o arquivo do Git e passa para o modo baseado em Git
Mudar para o modo de banco de dados
- No blueprint editor, clique no menu suspenso de origem e selecione Database
- O conteúdo atual é preservado, mas futuros pushes para
.devin/blueprint.yamlnão atualizarão mais o blueprint - Agora você pode editar e salvar diretamente na UI
Workspaces desvinculados
Histórico de versões
- Origem:
git_syncpara versões criadas por sincronização,manualpara versões criadas na UI - SHA do commit: o commit da branch padrão usado na sincronização (com link para o commit no seu provedor Git)
YAML com múltiplos documentos
.devin/blueprint.yaml oferece suporte a YAML com múltiplos documentos usando o separador ---. Isso permite definir configurações específicas da plataforma em um único arquivo:
Solução de problemas
Blueprint não sincroniza
- O arquivo está no caminho correto? Ele deve ser
.devin/blueprint.yamlna raiz do repositório (ou<workspace>/.devin/blueprint.yamlpara workspaces incluídos). - Você acionou uma sincronização? A sincronização não acontece automaticamente após um push. Chame o endpoint da API de sincronização ou clique no botão Sync na UI.
- O repositório está no ambiente do Devin? O repo deve ser adicionado em Configurações > Ambiente > Blueprints para que a sincronização seja executada.
- O modo baseado em Git está ativado? O blueprint deve estar no modo baseado em Git (não no modo de banco de dados) para que a sincronização o atualize.
Erros por YAML inválido
.devin/blueprint.yaml contiver YAML inválido ou não estiver em conformidade com o schema do blueprint, a sincronização falhará com um erro. Corrija o arquivo na branch padrão e sincronize novamente. O editor de blueprint na UI valida o schema e mostra erros antes que você abra uma PR, o que ajuda a detectar problemas antes que eles cheguem à branch padrão.
Blueprint mostra “Database” após fazer push
.devin/blueprint.yaml, mas o editor ainda mostra “Database” como a origem, talvez o blueprint ainda não tenha sido alternado para o modo baseado em Git. Use o menu suspenso de origem para mudar para seu provedor Git, o que aciona a sincronização inicial.
