5 pontos por GN⁺ 2025-08-01 | Ainda não há comentários. | Compartilhar no WhatsApp
  • É um agente de codificação com IA que funciona no terminal e, ao integrar-se com diversos LLM (modelos de linguagem de grande porte), oferece suporte para escrita de código, automação de fluxo de trabalho e manutenção de contexto de código, entre outros recursos para aumentar a produtividade de código.
  • É possível escolher vários modelos e alternar livremente entre eles no meio da sessão, além de oferecer suporte à manutenção de sessões/contextos por projeto.
  • Oferece recursos voltados para desenvolvedores, como integração com LSP (Language Server Protocol), suporte a MCP (Model Context Protocol) extensível e exclusão via .gitignore e outros arquivos de ignore.
  • Funciona em todos os principais ambientes de terminal, incluindo macOS, Linux, Windows e FreeBSD, e pode ser instalado por vários métodos, como gerenciador de pacotes, Go ou binário.
  • Oferece, ao mesmo tempo, configuração intuitiva e personalização avançada, com variáveis de ambiente, configuração JSON e whitelist de ferramentas, com design pensado até para usuários avançados.

Crush

  • É um agente de codificação com IA que roda no ambiente de terminal e permite integrar livremente os LLMs preferidos pelo desenvolvedor para oferecer suporte a escrita, edição e automação de código.
  • Permite selecionar e alternar livremente entre vários modelos (Anthropic, OpenAI, Groq, OpenRouter etc.), além de gerenciar o contexto separadamente por sessão.
  • Através de LSP (Language Server Protocol), obtém contexto adicional para cada linguagem e oferece assistência de código mais inteligente.
  • Via MCP (Model Context Protocol) é possível coletar e usar informações adicionais de diversas fontes externas, como sistemas externos, HTTP e linha de comando.

Recursos principais

  • Suporte a múltiplos modelos: integração com diversos LLMs, como OpenAI, Anthropic, Groq e OpenRouter, com possibilidade de adicionar outros.
  • Trabalho baseado em sessão: separação e gerenciamento de múltiplas sessões e contextos por projeto.
  • Troca flexível de modelo: mudança de modelo livre durante a sessão, mantendo o contexto existente.
  • Integração com LSP: conexão com LSP dos idiomas Go, TypeScript, Nix e principais linguagens para reforçar o contexto de código.
  • Extensibilidade: expansão fácil de recursos adicionais via protocolo MCP, com integrações externas HTTP/CLI/SSE, entre outros.
  • Suporte amplo de plataformas: funcionamento em terminais de macOS, Linux, Windows (WSL, PowerShell), FreeBSD, OpenBSD e NetBSD.
  • Configuração intuitiva: pode ser usado imediatamente sem configuração prévia e, quando necessário, oferece configuração JSON por projeto ou global.
  • Recurso robusto de exclusão: gerenciamento de arquivos/diretórios excluídos do contexto por meio de .gitignore e .crushignore.
  • Whitelist de ferramentas: oferece aprovação prévia e opção de execução automática ao rodar ferramentas; o flag --yolo permite pular o prompt completo (use com cautela).
  • Provedores personalizados: é possível adicionar livremente APIs compatíveis com OpenAI e Anthropic e definir opções detalhadas.

Instalação e início

  • Instalável por diversos gerenciadores e formatos, como Homebrew, NPM, Arch, Nix, Debian/Ubuntu, Fedora/RHEL, além de binário/Go.
  • Na primeira execução, é necessário informar a chave da API do LLM preferido (OpenAI, Anthropic, Groq etc.), que também pode ser definida por variáveis de ambiente.
  • Principais LLMs configuráveis via variável de ambiente: OPENAI_API_KEY, ANTHROPIC_API_KEY, GROQ_API_KEY, OPENROUTER_API_KEY, GEMINI_API_KEY, VERTEXAI_PROJECT, entre outros.

Exemplos de configuração

  • Aplicar opções avançadas por meio de arquivo JSON global ou por projeto (./.crush.json, ./crush.json, $HOME/.config/crush/crush.json).
  • Configuração de LSP: possível definir comandos específicos por linguagem.
    {
      "lsp": {
        "go": { "command": "gopls" },
        "typescript": { "command": "typescript-language-server", "args": ["--stdio"] }
      }
    }
    
  • Configuração de MCP: exemplo de extensão externa com base em HTTP/CLI/SSE
    {
      "mcp": {
        "filesystem": {
          "type": "stdio",
          "command": "node",
          "args": ["/path/to/mcp-server.js"]
        }
      }
    }
    
  • Exclusão de arquivos e aprovação de ferramentas
    • Excluir arquivos/pastas específicos com .crushignore.
    • Pular prompt via whitelist de execução de ferramentas ou com o flag --yolo.

Recursos para usuários avançados

  • Registro de provedores personalizados: adicionar APIs compatíveis com OpenAI/Anthropic e definir opções detalhadas como preço e contexto.
  • Logs: arquivo de logs por projeto, com verificações em tempo real por comandos CLI como crush logs e crush logs --follow.
  • Opções de depuração: ativar logs detalhados via flag --debug ou configuração.

Ainda não há comentários.

Ainda não há comentários.