REA conecta seu agente de programação a ferramentas de engenharia reversa para investigar como um aplicativo funciona. Com esse fluxo, você pode montar um gravador de tela para macOS com zoom automático, usando uma função do Cursorful como referência. Você precisa de Node.js, um agente compatível e o aplicativo instalado para analisá-lo. (github.com)
Testei com o Cursorful, o aplicativo que uso para gravar meus vídeos. Consegui gerar um gravador que aplicava zooms, mas o movimento precisava de bastante trabalho para se aproximar do original: entender parte de uma função e reproduzi-la com um bom acabamento são tarefas diferentes.
O que REA analisa e do que você precisa para este teste
REA é um MCP que conecta o agente a ferramentas de análise. O agente solicita uma inspeção, recebe os resultados e os usa para investigar uma função ou escrever uma implementação própria. Para analisar JavaScript de forma estática, você não precisa de um descompilador de aplicativos nativos. (github.com)
O material disponível muda conforme o aplicativo. Em um app Electron, você pode encontrar JavaScript empacotado; em um aplicativo nativo, você trabalha com um binário compilado. Uma função que roda no servidor exige outra abordagem, porque baixar o cliente não dá acesso a esse código.
Para repetir meu teste, prepare o seguinte:
- Um Mac no qual você possa executar o gravador que vai construir.
- Cursorful instalado para localizar seu pacote.
- Node.js e npm.
- Claude Code, que foi o agente que usei para a análise e a implementação.
No vídeo, eu estava usando Node.js 22.19. Confira sua versão antes de começar com este comando:
node -v
Você deve ver o número da versão no terminal. Se for usar outro editor como ambiente de trabalho, também tenho minhas dicas para trabalhar com Cursor; neste tutorial, mantenha o mesmo agente durante a investigação para preservar suas descobertas.
Como instalar REA e conectá-lo ao agente
- Execute o instalador a partir de uma pasta confiável, fora do projeto que você quer analisar. O ponto de entrada publicado no repositório oficial do REA é o seguinte. (github.com)

npx rea-agents setup
Um assistente será exibido para escolher os agentes e revisar as alterações de configuração. Selecione Claude Code se quiser seguir o mesmo fluxo que usei.
-
Revise e aprove a configuração proposta. O instalador registra o servidor MCP e adiciona as instruções de trabalho para o agente; depois, reinicie o agente para que ele carregue a integração. (github.com)
No meu teste, selecionei Claude Code e OpenCode. Para repetir o exercício com Claude Code, basta configurar esse cliente.
-
Decida se você precisa do Hopper. O assistente pode oferecer a instalação dele para analisar binários nativos, mas Hopper não é necessário para a inspeção estática de JavaScript deste exercício. (github.com)
Aceitei instalá-lo e a janela de licença ou modo demo foi aberta. Fechei a janela porque ia analisar um aplicativo Electron.
Como localizar o arquivo app.asar do Cursorful
-
Localize o Cursorful no Finder e abra o menu de contexto do aplicativo. Selecione “Mostrar Conteúdo do Pacote” e entre em
Contents, depois emResources.No teste, encontrei ali o arquivo app.asar. Esse foi o alvo que passei ao agente para investigar a função.
A diferença entre o pacote e o aplicativo aberto importa: você precisa indicar ao agente o arquivo que ele deve inspecionar. Pedir que ele analise “Cursorful” deixa em aberto onde está o material de trabalho.
Atenção: encontrar JavaScript dentro do pacote não significa encontrar o projeto original com nomes claros e comentários. No vídeo, expliquei que o código podia estar ofuscado; por isso, pedi referências a arquivos e posições para conferir as conclusões.
O que pedir ao agente para entender o zoom automático
-
Abra o Claude Code e peça que ele use REA no arquivo
app.asar. Inclua o caminho junto com um pedido focado no zoom automático, como o que usei:Quiero entender cómo funciona el zoom automático. Qué datos se graban durante la grabación: posición del ratón, clics, teclado, etcétera. Cómo decide cuándo hacer zoom, dónde centrarlo, cuánto dura y cómo se suaviza el movimiento del cursor. Para cada conclusión dame el archivo y la posición donde lo has visto y separa lo confirmado de lo deducido.A resposta deve descrever as descobertas e indicar as evidências que as sustentam. Confira especialmente quais partes ele apresenta como confirmadas e quais são deduções.
Na minha análise, o agente encontrou informações sobre eventos do mouse e conseguiu explicar parte do funcionamento. No entanto, não localizou a decisão que ativava o zoom; respondeu que a palavra “zoom” não aparecia.
Isso limita o que você pode levar para a implementação. Se o agente identifica como o mouse é registrado, você já tem uma peça útil. O comportamento do zoom ainda precisa de investigação ou de decisões próprias.
Pedir evidências para cada conclusão ajuda a separar as duas coisas. Salve essa análise junto ao projeto para poder voltar aos arquivos quando uma decisão do novo aplicativo não corresponder à referência. Se você já organiza documentação técnica com IA, pode incorporar essas descobertas a um segundo cérebro para recuperar o que aprende.
Como construir uma versão mínima do zero
-
Peça ao agente um aplicativo pequeno com o escopo do teste. Meu pedido foi construir do zero, sem reutilizar o código do Cursorful, um gravador para macOS que salvasse um JSON com posições do mouse e cliques com seus registros de tempo, e gerasse um vídeo.
Mantenha o zoom automático como a função que você quer reproduzir, mas preserve também os dados de entrada. Assim, você poderá distinguir uma falha de captura de uma falha no movimento do vídeo.
O escopo mínimo evita misturar a análise com uma cópia completa do produto. Para este teste, eu precisava selecionar uma tela, gravar uma sessão e revisar o resultado com zooms. Adicionar um editor ou mais opções antes de conferir isso teria complicado a revisão.
Depois de trabalhar, o agente me entregou um aplicativo com uma interface para selecionar a tela. Eu tinha duas telas disponíveis, escolhi uma e consegui iniciar a gravação por essa interface.
A instrução de escrever uma implementação própria também deixa claro o que você está pedindo ao agente. A tarefa dele é usar as descobertas para construir o comportamento de que você precisa, sem transferir diretamente o código do aplicativo analisado.
Como conferir a gravação e os zooms
-
Grave uma sessão curta que inclua digitação, cliques e trocas de janela. No meu teste, digitei um texto, abri outro aplicativo, minimizei uma janela e voltei ao gravador para parar a gravação.
Abra o vídeo gerado e confira em quais momentos o zoom aparece, para onde ele se desloca e como volta ao enquadramento anterior.
O resultado aplicava zooms ao digitar e durante algumas interações. Também deslocava o enquadramento para a região do mouse. O movimento precisava de ajustes: a função básica estava lá, mas ainda não chegava perto do acabamento do Cursorful.
Para avaliar sua versão, confira separadamente estes comportamentos:
- A tela escolhida corresponde à que aparece no vídeo.
- O JSON salva posições e cliques com registros de tempo.
- O zoom destaca a interação que você quer mostrar.
- O deslocamento e a duração permitem acompanhar a ação sem movimentos incômodos.
Uma gravação correta pode ter zooms ruins. Se a captura funciona, concentre a próxima iteração em quando ativar o efeito, onde centralizá-lo e como suavizá-lo.
Erros frequentes e o que corrigir depois
Se o agente não tiver acesso ao REA após a instalação, reinicie-o antes de repetir a análise. Essa reinicialização faz parte da configuração indicada pelo projeto. (github.com)
Se a janela do Hopper aparecer durante este exercício, lembre que eu consegui fechá-la e continuar com o pacote Electron. Instalar mais ferramentas, por si só, não melhorou a investigação do zoom.
Se o agente não encontrar a lógica que você procura, evite tratar a próxima proposta dele como uma reprodução confirmada. No meu caso, o aplicativo gerado implementou uma função parecida, embora a análise anterior não tivesse localizado como o Cursorful decidia ativar o efeito.
Quando a função depende de um servidor, o pacote local também não contém toda a implementação. Limite a investigação ao que você consegue observar e ao comportamento que precisa construir, em vez de pedir uma cópia completa do serviço.
Repita a gravação com as mesmas interações e aponte o primeiro zoom que ficar ruim. Peça ao agente que corrija esse comportamento específico e gere o vídeo novamente antes de adicionar mais funções.



O que você achou?
Deixe sua opinião, pergunta ou sugestão. Os comentários são sincronizados com GitHub Discussions .