Se você está lendo isto, provavelmente já entende alguns casos de uso e limitações de LLMs. Quanto melhor o prompt e o contexto que você fornecer ao modelo de IA, melhor será o resultado. Da mesma forma no Windsurf, há boas práticas para elaborar prompts mais eficazes, tirar o máximo proveito da ferramenta e obter o código da melhor qualidade possível para acelerar seus fluxos de trabalho.
Para tarefas mais complexas que podem exigir que você @-mencione blocos de código específicos, use o Chat em vez de Command.

Componentes de um prompt de alta qualidade

  • Objetivo ou resultado claro
    • O que você está pedindo para o modelo de IA produzir?
    • Você está pedindo ao modelo de IA um plano? Código novo? É um refator?
  • Todo o contexto relevante para executar a(s) tarefa(s)
    • Você usou corretamente @-mentions para garantir que o contexto adequado seja incluído?
    • Há algum contexto específico do cliente que possa não estar claro para o Windsurf?
  • Restrições necessárias
    • Existem frameworks, bibliotecas ou linguagens específicas que devem ser utilizados?
    • Existem restrições de complexidade de espaço ou de tempo?
    • Existem considerações de segurança?

Exemplos

Exemplo nº 1:
  • Ruim: Escrever testes de unidade para todos os casos de teste de um objeto Order Book.
  • Bom: Usando @class:unit-testing-module, escreva testes de unidade para @func:src-order-book-add, verificando as exceções lançadas quando acima ou abaixo do stop loss
Exemplo nº 2:
  • Ruim: Refatorar rawDataTransform.
  • Bom: Refatorar @func:rawDataTransform, convertendo o loop while em um loop for e usando a mesma estrutura de dados de saída que @func:otherDataTransformer
Exemplo nº 3:
  • Ruim: Criar um novo Button para o formulário de contato.
  • Bom: Criar um novo componente Button para o @class:ContactForm usando o guia de estilos em @repo:frontend-components com o texto “Continuar”