UStackUStack
Ray icon

Ray

Ray é um app de desktop para organizar a saída de depuração do seu código. Inspecione, filtre e arquive valores sem poluir seu app.

Ray

O que é Ray?

Ray é um app de desktop dedicado para organizar e inspecionar saída de depuração fora do runtime da sua aplicação. Ele permite enviar valores (strings, arrays, objetos e mais) usando uma sintaxe consistente ray(...), e depois visualizar, filtrar e revisitar os resultados no Ray.

Seu propósito principal é manter a saída de depuração legível e estruturada, reduzindo a necessidade de poluir seu app com código de log adicional. Ray também suporta depuração remota via SSH e inclui ferramentas para pausar e medir execução em contextos PHP/Laravel.

Principais Recursos

  • Visualização organizada no desktop para saída de depuração: Mantém a saída de depuração em um app dedicado para inspecionar resultados sem depender de consoles do navegador.
  • Renderização formatada para vários tipos de dados: Envia valores como strings, arrays, objetos e tabelas, renderizando-os de forma limpa para inspeção.
  • Filtros, rótulos e busca entre mensagens: Filtre por tipo, origem ou rótulos personalizados e use busca para encontrar saídas anteriores.
  • Controles de arquivamento e limpeza: Limpe a tela e arquive mensagens para referência posterior ao comparar saídas ou investigar problemas difíceis de reproduzir.
  • Depuração remota via SSH: Conecte-se a servidores via SSH para transmitir saída de depuração de código remoto para o Ray.
  • Pular para o IDE: Volte do output dumpado para a localização relevante no seu editor (com suporte a vários IDEs, conforme indicado no site).
  • Sintaxe de depuração cross-language/framework: O site descreve o uso da mesma abordagem estilo dump em várias linguagens e frameworks.
  • Ferramentas de execução do Ray 3.0 para PHP/Laravel: Inclui pausar e medir execução para pausar código PHP/Laravel e medir tempo entre chamadas.
  • Recepção automática de saída de runtime (Ray 3.0): O site menciona recepção automática de output (ex.: queries, jobs, exceptions) sem adicionar chamadas explícitas no código.
  • Extensibilidade e personalização: Altere temas, estenda o Ray com macros e crie seu próprio cliente para enviar dados de linguagens/frameworks ainda não suportados.
  • Recursos de IA (Ray 3.0): Interaja com output de IA diretamente no Ray, incluindo componentes/protótipos HTML gerados por IA e explicações estruturadas para diagramas Mermaid & ERD via visualizador integrado.
  • Servidor MCP para agentes de IA: O site afirma que um servidor MCP permite que agentes de IA acessem janelas/ferramentas para ler, gerar e produzir conteúdo.

Como Usar o Ray

  1. Baixe o Ray e compre uma licença se necessário (o site mostra preço de $49 USD e menciona licenças de 1 ano gerenciadas pela Spatie).
  2. Envie saída de depuração para o Ray usando a sintaxe ray(...) mostrada no site (exemplos incluem rótulos, tabelas, aplicação de cores e filtros por atributos de chamada).
  3. Inspecione e gerencie mensagens no Ray: use busca e filtros para refinar resultados, e arquive mensagens para comparar saídas depois.
  4. (Opcional) Configure depuração remota: conecte-se a um servidor via SSH para que o Ray transmita saída de depuração de execuções remotas.
  5. (Opcional) Use navegação de IDE e ferramentas de execução: pule para a localização da fonte a partir do output do Ray e use ferramentas de pausar e medir execução para PHP/Laravel.

Casos de Uso

  • Inspecionar valores complexos sem poluir seu app: Envie strings, arrays, objetos e tabelas para o Ray (com rótulos e formatação) para entender o estado durante o desenvolvimento sem depender de output bruto do console.
  • Depurar requisições ou caminhos de código específicos com filtros: Aplique cores/rótulos em chamadas ray(...), depois filtre por tipo/origem/rótulo no Ray para isolar mensagens relevantes.
  • Comparar saídas entre tentativas: Arquive mensagens antes/depois de alterar código para revisitar saídas anteriores ao solucionar problemas intermitentes.
  • Depuração de servidor remoto via SSH: Transmita saída de depuração de código rodando em servidores remotos para o Ray, permitindo inspecionar resultados sem copiar logs manualmente.
  • Depuração de performance e fluxo em PHP/Laravel: Pause execução e meça tempo entre chamadas, além de receber certas saídas de runtime automaticamente (queries, jobs, exceptions), conforme descrito para o Ray 3.0.
  • Trabalhar com diagramas de banco de dados e explicações de schema via IA: Use recursos do Ray 3.0 para que a IA explique schemas de banco e visualize output estruturado em formato Mermaid ou ERD.

FAQ

  • Ray é só para depuração em navegadores? Não. O site descreve o Ray como um app de desktop dedicado que mantém a saída de depuração organizada fora do runtime do seu app.

  • Que formatação de saída o Ray suporta? O site afirma que o Ray formata a saída recebida (ex.: strings, arrays, objetos) e pode renderizar tabelas; também menciona o dump de queries, emails, eventos e stack traces.

  • O Ray consegue depurar código rodando em servidor remoto? Sim. O site descreve a conexão via SSH e o streaming da saída de depuração para o Ray.

  • O Ray substitui dd() ou outros debuggers? A página diz que o Ray não substitui dd ou xdebug; é descrito como uma terceira ferramenta para cobrir a lacuna entre dumps rápidos e fluxos de depuração mais estruturados.

  • O que há de novo no Ray 3.0? A página destaca pausa e medição de execução, interações com IA (incluindo componentes HTML e visualizadores Mermaid/ERD), e um servidor MCP para agentes de IA.

Alternativas

  • Logs em navegador e saída de console (ex.: console.log, devtools do navegador): Úteis para checagens rápidas, mas os resultados ficam presos ao ambiente do navegador e não são apresentados em uma timeline de desktop dedicada e pesquisável.
  • Helpers de “dump” no framework da aplicação (ex.: depuração estilo dd()): Rápidos e diretos, mas tipicamente mantêm a saída dentro da resposta da aplicação/navegador, em vez de um app de desktop separado com filtro/pesquisa e arquivamento.
  • Ferramentas de log remoto/observabilidade: Alternativas para coletar logs de ambientes remotos, focando tipicamente em agregação e monitoramento de logs, em vez do fluxo de inspeção estruturado e baseado em mensagens descrito para o Ray.
  • Ferramentas de REPL/depuração baseadas em terminal: Podem inspecionar valores durante o desenvolvimento, mas podem não oferecer a mesma UI de desktop organizada, filtro e fluxo de jump para IDE referenciados no site do Ray.
Ray | UStack