Connectly
Engenharia2025-08-19

Diga adeus aos agentes de código perdidos: apresentando o Yellhorn MCP

Por Sravan Jayanthi

Diga adeus aos agentes de código perdidos: apresentando o Yellhorn MCP

Transforme vibe coding em algo real

Autores: Sravan Jayanthi, Mark Snidal @ Connectly AI

Veja o vídeo

Visão geral

Apresentando o Yellhorn, um MCP open-source que dá aos agentes de código de IA planejamento e memória em nível de um desenvolvedor de software de verdade! Ele se conecta ao seu repositório do GitHub e usa issues do GitHub para orquestrar mudanças grandes e com várias partes. Agentes de código se perdem quando as tarefas estão mal definidas e não conseguem escalar para grandes projetos de software. O Yellhorn aplica uma estrutura rigorosa de design de software, usando issues do GitHub como "quadros de planejamento" (organizando o contexto certo, dividindo os passos e identificando checkpoints), para que os agentes acertem o alvo já na primeira tentativa!

Link do repositório: https://github.com/msnidal/yellhorn-mcp

GitHub - msnidal/yellhorn-mcp: Yellhorn offers MCP tools to publish detailed workplans as GitHub issues with entire-codebase reasoning and to review diffs against them

Contexto sobre MCP

O Model Context Protocol fornece contexto para modelos de IA em um formato padronizado, permitindo que os agentes escolham entre ferramentas para interagir com o mundo externo. Bons exemplos incluem usar um servidor MCP de geração de imagens para criar imagens dentro do Cursor, ter um servidor MCP de PostgreSQL para executar comandos de banco de dados no Claude Desktop para não especialistas e, claro, usar o Yellhorn MCP para trazer desenvolvimento baseado em specs para o seu IDE de código!

Desenvolvimento baseado em specs (Spec-Driven Development)

Spec-driven development é o processo de fundamentar features de código no contexto de especificações de design completas. Esse método fornece critérios de sucesso rigorosos, guiando os engenheiros para uma implementação bem-sucedida.

Isso está ganhando atenção agora na era de agentes de código altamente capazes, incluindo o Spec-Driven Development do Kiro, que escreve arquivos Markdown separados de requisitos, design e lista de tarefas durante o processo de codificação. O Claude SPARC é outro sistema de codificação autônomo que combina a Claude Code CLI com a metodologia SPARC: Specification, Pseudocode, Architecture, Refinement e Completion.

Yellhorn

O Yellhorn, a ferramenta MCP Create-Curate-Judge, constrói specs de design de alta qualidade e conscientes do codebase diretamente em uma issue do GitHub, um quadro de planejamento estruturado e interpretável a partir do qual o agente de código pode delinear os requisitos, a arquitetura técnica e os critérios de aceitação da implementação.

Exemplo de plano de trabalho gerado pelo Yellhorn MCP

Exemplo de plano de trabalho gerado pelo Yellhorn MCP

Código é algo muito multicamadas e tem muitas dependências internas, especialmente entre diferentes versões de bibliotecas e pacotes usados nas plataformas. Agentes de código baseados em LLM têm uma visão muito limitada e tendem a escrever código que não corresponde às versões de biblioteca desejadas dentro do codebase. O entendimento do Yellhorn sobre todo o codebase, com conhecimento adicional sobre a sua stack de tecnologia existente, permite que ele faça mudanças personalizadas no seu codebase com base nas dependências upstream corretas.

A principal utilidade do Yellhorn é a capacidade de interagir de forma inteligente com um plano de trabalho no GitHub, superando as limitações de janela de contexto dos agentes de código, permitindo que ele leia tudo o que precisa e destile o conteúdo mais importante a ser usado. Percebemos que ele é mais útil em codebases grandes, especialmente em ambientes corporativos, com arquivos e dependências demais para serem fornecidos como contexto ou pesquisados de forma eficiente por agentes de geração de código.

Exemplo de um projeto bem-sucedido construído com o Yellhorn

O desafio: A Connectly AI precisava construir um agente de IA sofisticado de geração de leads para um grande cliente de e-commerce. Os requisitos eram complexos:

Inteligência geográfica: serviços de geolocalização em tempo real para envio e conformidade

Orquestração de fluxos de trabalho: 14 fluxos distintos da jornada do cliente (onboarding, suporte, vendas, retenção)

Pipeline de analytics: rastreamento de eventos customizado, métricas de conversão e dashboards de desempenho

Abordagem com o Yellhorn (Create → Curate → Judge).

Curate: filtrou o repositório com .gitignore + .yellhornignore + .yellhorncontext; trouxe apenas os módulos relevantes + versões de SDK.

Create: gerou uma issue de plano de trabalho no GitHub, decomposta em sub-issues (por fluxo de trabalho), cada uma com critérios de aceitação e hooks de teste.

Judge: após cada subtarefa, comparou a implementação com o plano de trabalho; sinalizou versões de SDK incompatíveis e eventos de analytics ausentes.

Sem o Yellhorn: experiência anterior

Nossa equipe havia tentado um projeto similar 6 meses antes usando abordagens tradicionais de codificação com IA:

Cronograma: mais de 4 semanas de iterações de ida e volta

Problemas: integrações de API inconsistentes, conflitos de versão, tratamento de erros ausente

Dívida técnica: 40% do código precisou de refatoração após a implementação inicial

Perda de contexto: os agentes de código "esqueciam" decisões arquiteturais anteriores, resultando em padrões inconsistentes

Métricas técnicas finais

Codebase final: 23.247 linhas de código em produção

Arquitetura: 62 módulos principais baseados em 47 dependências externas (Google Maps, Tenacity, Redis, etc.)

Cronograma: 4 dias da spec inicial até o protótipo funcional, 8 dias até pronto para produção

Configure em 3 passos simples!

  1. Garanta que você tem a gh CLI configurada: https://cli.github.com/ e execute gh auth login
  2. No ambiente Python do seu projeto, instale com pip install yellhorn-mcp
  3. Vá até a configuração de MCP do seu IDE de código favorito (Cursor - .cursor/mcp.json, Windsurf - .codeium/windsurf/mcp.json, Claude Code - .mcp.json e .claude/settings.json) e adicione este arquivo de configuração:
{
   "mcpServers": {
       "yellhorn-mcp": {
           "type": "stdio",
           "command": "yellhorn-mcp",
           "args": [],
           "env": {
               "GEMINI_API_KEY": "",
               "YELLHORN_MCP_MODEL": "gemini-2.5-pro",
               "REPO_PATH": ""
           }
       }
   }
}

Exemplo de tarefa

Veja o vídeo

Tarefa de exemplo: Quero adicionar autenticação de dois fatores para usuários com diferentes papéis e permissões. Quero usar um provedor de autenticação primário no Auth0 e gerenciamento de sessão com OAuth2-prox.

Use estes prompts como referência para interagir com o Yellhorn:

  1. "Use curate context para esta tarefa: <sua tarefa>": revise as partes do seu diretório selecionadas em .yellhorncontext (Yellhorn). Inspecione o arquivo para adicionar ou remover diretórios.
  2. "Gere um plano de trabalho para a tarefa usando raciocínio sobre todo o codebase": ele vai processar de forma assíncrona e escrever o plano de trabalho em uma issue do GitHub. Inspecione o plano de trabalho para validar se ele está alinhado com o que você espera.
  3. "Revise o plano de trabalho: <revisão>": para melhorar qualquer parte da spec que esteja faltando.
  4. "Pegue o plano de trabalho e implemente-o passo a passo. Garanta que você complete os testes e a verificação de cada subtarefa antes de passar para a próxima": veja o seu agente de código dar o start na implementação
  5. *"*Julgue o plano de trabalho": o Yellhorn vai comparar a implementação com o plano de trabalho original e dar feedback, destacando features com erro ou lacunas na implementação

Como sua equipe de engenharia pode adotar boas práticas de codificação com IA?

  1. Documente como vocês fazem hoje o desenvolvimento de features, principalmente o planejamento de tarefas de engenharia em fóruns como sprints ou sessões de design.
  2. Construa um repositório comum de regras de design da equipe (.cursorrules, Claude.MD, .windsurf/rules) que permita que todos os engenheiros acompanhem. Além disso, peça à equipe para sugerir comandos e automações confiáveis para agentes de código. Salve, melhore e documente com hooks pós-criação (linter, verificação de tipos, hooks pós-commit, testes unitários, testes de integração, avaliação de cobertura de testes, atualizações de documentação, etc.)
  3. Use o Yellhorn MCP para transformar ideias em specs de design de engenharia completas.
  4. Revise o plano de trabalho, anote as lacunas e incorpore o contexto que faltar nas regras de design da sua equipe.
  5. Repita e multiplique por 10 a velocidade de desenvolvimento da sua equipe!

Referências