Com base em 23/6, reuni isso a partir da minha experiência + Reddit do Cursor + comunidade do Cursor + SNS + vários posts de blog. Contestação, crítica e debate são bem-vindos.
Dica 1. Escolha o modelo de forma estratégica
- Como cada modelo tem capacidade de programação, velocidade e custo diferentes, é importante escolher de acordo com a situação.
- Modelos Thinking (Claude 4, Gemini 2.5 Pro etc.) são mais autônomos, mas mais lentos.
- Modelos Non-Thinking (GPT 4.1 etc.) seguem bem instruções claras e são rápidos.
- O modelo recomendado varia conforme o tipo de tarefa (ex.: mudanças simples com Sonnet, planejamento complexo com Opus).
- Como o recurso
Auto-selectnão é tão confiável, é melhor testar vários modelos e encontrar seu próprio estilo.
Dica 2. Ao modificar um app complexo, faça primeiro um plano no modo Ask
- Como o modo Agent altera o código diretamente, em apps complexos ele pode acabar quebrando funcionalidades existentes.
- O modo Ask é um modo somente leitura que não altera arquivos, sendo muito útil para montar um plano.
- O mais seguro é discutir primeiro o plano com a IA no modo Ask e depois executar no modo Agent.
- Se você deixar o prompt claro, como em
não faça alterações agora, dá para reduzir ações desnecessárias no modo Ask. - O modo Manual tende a ser menos útil porque exige indicar manualmente os arquivos de referência.
Dica 3. Ao depurar, não deixe a IA alterar arquivos de cara; identifique a causa com testes
- Se você pedir para a IA corrigir o bug imediatamente, é fácil cair em falhas repetitivas.
- Etapa 1 (Agent): faça primeiro a IA escrever um teste que reproduza a falha (um teste que deve falhar), no estilo TDD.
Na página X, quando eu clico em Y, deveria funcionar como A, mas está funcionando como B. Quero corrigir isso com TDD, então escreva e execute um teste que reproduza esse comportamento. Lembre-se de que, neste momento, o teste deve falhar. Eu posso estar enganado, então, se não der para reproduzir, me avise. Não comece a corrigir o problema sem meu comando.
- Etapa 2 (Ask): peça para explicar causas possíveis e formas de verificar cada uma, a fim de descobrir a causa raiz.
Quero identificar a causa raiz desse bug. Apresente as possibilidades para explicar por que e em que condições esse fenômeno acontece. E, junto com isso, explique como verificar qual dessas opções está correta. Diga também que informações adicionais seriam necessárias e o que valeria a pena registrar em log. Não precisa executar os métodos; apenas explique. Se a causa já tiver ficado clara ao escrever o teste, explique isso.
- Etapa 3 (Agent): depois de travar o teste com
.cursorignore, peça a alteração do código até o teste passar.Adicione o teste criado antes ao .cursorignore. Depois, começando pelas hipóteses mais prováveis que você apresentou, identifique a causa raiz e organize o fluxo ideal de funcionamento em um fluxograma. Em seguida, use esse fluxo ideal para modificar o código até o teste passar. Se houver algo que eu precise verificar ou em que eu precise intervir, me avise.
- Também é uma boa ideia criar regras para escrita de testes.
Dica 4. Deixe o Cursor gerenciar suas próprias regras para ficar cada vez mais inteligente
- Se houve uma conversa relevante em uma sessão de chat, você pode usar o recurso /Generate Cursor Rules.
- Basta pedir algo como
crie ou ajuste uma Rule com base nesta conversa. - Isso é especialmente útil após depuração: se a causa do bug foi identificada, dá para pedir que ele adicione/ajuste uma Rule para não repetir o mesmo erro.
- Assim, você faz o Cursor aprender, se manter e ficar cada vez mais inteligente por conta própria.
Dica 5. Use múltiplas abas e opções Auto para aumentar a produtividade
- No Cursor, é possível usar várias abas de chat ao mesmo tempo. Enquanto o Agent altera código em uma aba, você pode fazer outra tarefa no modo Ask em outra.
- Se você ativar a opção
Auto-run, execuções no terminal e gravações de arquivos podem prosseguir automaticamente, sem precisar aprovar uma por uma. - Se você ativar
Auto-Fix Lints, ele corrige automaticamente erros de tipo e afins, o que é bem prático.
Dica 6. Não prolongue demais uma única sessão de chat
- Quando a conversa fica longa, a IA pode esquecer informações importantes anteriores por causa do limite de contexto. (O Cursor acaba resumindo automaticamente.)
- Quando uma tarefa terminar, é melhor começar uma nova sessão de chat.
- Em um novo chat, você pode usar
@Past Chatspara injetar o resumo da conversa anterior como contexto. - Se algo importante virar regra (Dica 4), a necessidade de manter chats longos diminui.
Dica 7. Sempre faça commit quando uma mudança relevante for concluída
- Quando uma tarefa termina, é importante criar o hábito de fazer commit no Git sem falta.
- O commit funciona como uma trava mínima de segurança para voltar atrás quando a IA altera o código de forma errada.
- Pelo chat do Cursor, você pode receber ajuda desde a configuração inicial do Git até a escrita da mensagem de commit.
Quero enviar este codebase para o GitHub. O problema é que eu não sei absolutamente nada sobre Git e GitHub, e nem tenho conta. Também não sei se o Git está instalado. Me ajude passo a passo.
- Com o recurso AI Commit Message, também dá para gerar automaticamente a mensagem de commit.
Dica 8. Explique a estrutura do código ao Cursor e ajuste o tamanho e o nome dos arquivos
- Vale a pena entender as características das Tools internas do Cursor.
List Directorylê apenas nomes de diretórios e arquivos, sem ler o conteúdo dos arquivos.Read Filelê no máximo 250 linhas por vez de um arquivo (750 linhas no modo Max).- Se o arquivo ou diretório referenciado for grande demais, em vez de entrar tudo, o conteúdo é comprimido e ficam só partes importantes, como chamadas de função.
- Em uma única sessão de chat, só é possível fazer até 25 chamadas de Tool; para passar disso, é preciso clicar manualmente em Continue. (Isso vale mesmo com
Auto apply editativado. No modo Max, é possível ir até 200 vezes sem Continue.)
- Por isso, é melhor dar nomes claros a arquivos e diretórios e manter os arquivos com menos de 500 linhas.
- Se você adicionar a estrutura central de diretórios e informações dos componentes em uma regra
Always Applied, a IA não precisará explorar isso toda vez. - Você também pode pedir que a IA crie documentação da estrutura do código e a adicione como regra.
Crie um documento para que você consiga entender rapidamente a estrutura deste codebase e os arquivos importantes. Pode usar mermaid diagram também. Depois, adicione isso como uma project rule adequada. Defina AlwaysApply: true.
Dica 9. Quando o arquivo ficar grande, peça para o Cursor modularizar
- Se o arquivo estiver grande demais, é melhor pedir à IA para modularizar.
- Etapa 1 (Ask):
Se você fosse modularizar este projeto, sob que perspectivas ou estratégias isso seria melhor? Por exemplo: 1) perspectiva de Layered Architecture 2) perspectiva de AOP 3) perspectiva de FSD 4) perspectiva de Clean Architecture - Etapa 2 (Ask):
Com base nas estratégias que você apresentou, monte um plano de modularização adequado. - Etapa 3 (Agent):
Documente esse plano e depois execute-o.
Dica 10. Use @ para injetar contexto ativamente
- Ao usar o símbolo
@para injetar diretamente vários tipos de contexto, além de arquivos e pastas, a IA trabalha melhor. @Code: permite referenciar apenas partes específicas do código, como uma função ou variável.@Docs: faz a IA consultar a documentação oficial de uma biblioteca para escrever código com mais precisão. O Cursor já traz algumas docs e também permite adicionar via URL.@Git: permite referenciar uma branch ou commit específico para comparar ou pedir explicações.@Web,@Link: permitem fazer busca na web ou ler o conteúdo de um link específico.@Recent Change: permite referenciar mudanças recentes no codebase. Não encontrei exatamente como funciona, mas parece se basear em unstaged changes e commits recentes. Pode ser útil para quem não é desenvolvedor e não faz uma gestão rígida de commits.
Dica 11. Se segurança for importante, ative o modo Privacy
- Se o modo Privacy não estiver ativado, dados como código e prompts podem ser coletados e usados no treinamento do modelo.
- Com o modo Privacy ativado, partes do código ainda podem ser criptografadas e armazenadas temporariamente, mas não ficam armazenadas permanentemente nem são usadas em treinamento.
- Porém, no modo Privacy, alguns recursos mais recentes, como background agent, não podem ser usados.
- Para mais detalhes, consulte a documentação em que o Cursor explica o modo de privacidade.
Dica 12. Use MCP e ferramentas que tornam o desenvolvimento mais confortável e preciso
- Na parte de gestão de tarefas, recomendo memory bank, TaskMaster e Vooster.
- Os MCPs da documentação oficial do Cursor podem ser instalados de uma vez via deep link.
- Browserbase para abrir o navegador, clicar, ler console, tirar screenshots etc.
- PlayWright para adicionar testes E2E
- Sentry para monitorar e corrigir erros
- Stripe e Paypal para pagamentos
- Netlify e Heroku para deploy
- Snyk e Semgrep para verificações de segurança
- Supabase para ler e gravar tabelas do banco de dados → não aparece na documentação oficial do Cursor, mas, na minha opinião, é instalação obrigatória para quem faz vibe coding
- Se você trabalha dentro de uma empresa e precisa fornecer bastante contexto sobre a situação da empresa ou vários produtos, também pode valer a pena desenvolver seu próprio MCP. (Referência: Working with Documentation)
- Também é possível usar ferramentas externas como StageWise para apontar uma parte específica da UI e pedir correções de bug e afins.
Outras dicas menores
- Modo Max: a cobrança é baseada em tokens, não em solicitação, e ele permite contexto maior e mais uso de Tools.
- Adicionar modelos: nas configurações, você pode ativar modelos ocultos por padrão, como Claude 4 Opus.
- Custom API Key: recurso para integrar sua própria chave de API de LLM. A utilidade tende a ser baixa. Vale lembrar que, mesmo assim, o tráfego sempre passa pelos servidores do Cursor.
- Sincronização de configurações: a sincronização entre vários PCs ainda não é bem suportada oficialmente. Há relatos de que o Profile Export/Import não funciona bem e, embora tenha surgido uma extensão há algumas semanas, em 23/6 ela ainda apresentava alguns problemas.
- Ela aparece no VSCode Marketplace, mas não é encontrada na lista de extensões do Cursor.
- Dá para instalar no VSCode e depois importar usando o recurso
Import VSCode Settings and Extensionsdo Cursor. Porém, na prática, a extensão não inicializa corretamente (issue relacionada). - Parece promissora, então espero que o desenvolvedor corrija isso logo
22 comentários
As dicas 4 e 6 são boas~~
Tenho uma dúvida: para mim, 500 por mês é absurdamente pouco; como vocês resolvem esse problema?
Recentemente o limite não foi removido?
Também uso o Claude Code junto e, talvez porque eu geralmente tento fazer solicitações mais refinadas depois de discutir bastante no AI Studio + definir regras + implementar diretamente com autocomplete de aba quando necessário, quase nunca senti que isso fosse insuficiente.
Basicamente, é preciso ter uma assinatura paga para usar esses recursos? Ou, se o uso for baixo, até um membro básico gratuito consegue acompanhar?
Pela minha experiência, o Cursor oferece recursos e uma cota bem limitados no plano gratuito, então acho que não é muito fácil usá-lo de graça.
Existem modelos que podem ser usados sem pagar, mas, em compensação, eles também não são muito bons para programar.
As dicas são muito boas.
Obrigado!
Também há muito conteúdo útil que eu não conhecia~ Obrigado!
Obrigado pelas ótimas dicas~ aprendi bastante.
Obrigado por compartilhar um conteúdo tão útil. =b
"No entanto, no modo Privacy, alguns recursos mais recentes, como o agente em segundo plano, não podem ser usados."
=> Gostaria de saber os detalhes específicos. Poderia informar a fonte...
ref.
https://docs.cursor.com/background-agent
Background Agents estão disponíveis no modo Privacy. Nunca treinaremos com seu código, e só reteremos o código para fins de execução do agente. Saiba mais sobre o modo Privacy
Nossa, até pouco tempo atrás não dava para usar, mas isso mudou!! Obrigado.
No meu caso,
eu faço um backup local do código-fonte inteiro antes de a IA alterar o código-fonte ou antes de fazer uma pergunta no prompt.
Em
./history/,eu crio diretórios com uma estrutura como
./hisrory/r0001/./hisrory/r0002/...e executo um script para fazer backup dos códigos de desenvolvimento.
Como meu ambiente de desenvolvimento é Windows, é um arquivo ps1.
Quais seriam as vantagens e desvantagens desse método em comparação com usar Git?
Usem Git também ao mesmo tempo.. Na prática, como a IA pode alterar bastante o código-fonte durante o desenvolvimento.. Mesmo que você revise tudo com cuidado, ao fazer o build ainda podem surgir erros ou bugs por isso..
Fica prático na hora de fazer rollback para o código anterior.
Dá para fazer rollback do código com Git também, mas.. como todo o código fica com backup completo, foi útil para encontrar rápido e implementar olhando o que mudou no código.
Acho que usar
git subtreeseria uma boa.git worktree?
Ah, confundi o nome haha, o certo é
worktree.Obrigado pela resposta!
Não há vantagem nenhuma nisso.. os sistemas de controle de versão existem justamente para evitar esse tipo de prática.
Na minha opinião, parece melhor você estudar mais
git.O MCP chamado context7 é útil, então eu o uso com frequência quando quero perguntar como usar uma biblioteca.
Ah, lembrei que acabei esquecendo de apresentar isso; atualizei o material da aula, mas não tinha atualizado o blog. Graças a isso, adicionei agora. Obrigado.
Dica 2: Pergunta. Mesmo no modo ask, se você não disser para não modificar, ele tenta fazer alterações?
Às vezes, ao tentar fazer uma modificação, o tempo limite passa e o
edit_filesacaba não funcionando, então você acaba indo fazer outra coisa.Parece significar que, mesmo sem fazer edições de fato, até no modo Ask ele reduz ações preparatórias desnecessárias que normalmente aconteceriam logo antes da edição.