UStackUStack
Ray icon

Ray

Ray is a desktop app that organizes debug output—inspect, filter, and archive values with consistent ray(...) syntax without cluttering your app.

Ray

What is Ray?

Ray is a dedicated desktop app for organizing and inspecting debug output outside your application runtime. It lets you send values (strings, arrays, objects, and more) using a consistent ray(...) syntax, then view, filter, and revisit the results in Ray.

Its core purpose is to keep debugging output readable and structured while reducing the need to clutter your app with additional logging code. Ray also supports remote debugging over SSH and includes tools for pausing and measuring execution in PHP/Laravel contexts.

Key Features

  • Organized desktop view for debug output: Keeps debug output in a dedicated app so you can inspect results without relying on browser consoles.
  • Formatted rendering for many data types: Sends values such as strings, arrays, objects, and tables and renders them neatly for inspection.
  • Filtering, labeling, and search across messages: Filter by type, origin, or custom labels and use search to find prior output.
  • Archive and clear controls: Clear the screen and archive messages for later reference when comparing outputs or investigating hard-to-reproduce issues.
  • Remote debugging over SSH: Connect to servers via SSH to stream debug output from remote code into Ray.
  • Jump to your IDE: Jump from dumped output back to the relevant location in your editor (with support for many IDEs, as stated on the site).
  • Cross-language/framework debugging syntax: The site describes using the same dump-style approach across languages and frameworks.
  • Ray 3.0 execution tools for PHP/Laravel: Includes pause & measure execution to pause PHP/Laravel code and measure time between calls.
  • Automatic receive of runtime output (Ray 3.0): The site mentions receiving output automatically (e.g., queries, jobs, exceptions) without adding explicit calls in your code.
  • Extensibility and customization: Change themes, extend Ray with macros, and create your own client for sending data from languages/frameworks not yet supported.
  • AI features (Ray 3.0): Interact with AI output directly inside Ray, including AI-generated HTML components/prototypes and structured explanations for Mermaid & ERD diagrams via a built-in viewer.
  • MCP server for AI agents: The site states that an MCP server allows AI agents to access windows/tools so they can read, generate, and output content.

How to Use Ray

  1. Download Ray and purchase a license if needed (the site shows a $49 USD price and mentions 1-year licenses managed through Spatie).
  2. Send debug output to Ray using the ray(...) syntax shown on the site (examples include labeling, tables, applying colors, and filtering by call attributes).
  3. Inspect and manage messages in Ray: use search and filters to narrow results, and archive messages when you want to compare outputs later.
  4. (Optional) Set up remote debugging: connect to a server via SSH so Ray can stream debug output from remote execution.
  5. (Optional) Use IDE navigation and execution tools: jump to the source location from Ray output and use pause & measure execution tools for PHP/Laravel.

Use Cases

  • Inspecting complex values without cluttering your app: Send strings, arrays, objects, and tables to Ray (with labels and formatting) to understand state during development without relying on raw console output.
  • Debugging specific requests or code paths with filters: Attach colors/labels to ray(...) calls, then filter by type/origin/label in Ray to isolate the relevant messages.
  • Comparing outputs across attempts: Archive messages before/after changing code so you can revisit earlier outputs when troubleshooting intermittent issues.
  • Remote server debugging over SSH: Stream debug output from code running on remote servers into Ray, allowing you to inspect results without manually copying logs.
  • PHP/Laravel performance and flow debugging: Pause execution and measure time between calls, plus receive certain runtime outputs automatically (queries, jobs, exceptions) as described for Ray 3.0.
  • Working with database diagrams and schema explanations via AI: Use Ray 3.0 features to have AI explain database schemas and view structured output in Mermaid or ERD format.

FAQ

  • Is Ray only for browser-based debugging? No. The site describes Ray as a dedicated desktop app that keeps debug output organized outside your app runtime.

  • What does Ray support for output formatting? The site states Ray formats output it receives (e.g., strings, arrays, objects) and can render tables; it also mentions dumping queries, emails, events, and stack traces.

  • Can Ray debug code running on a remote server? Yes. The site describes connecting over SSH and streaming debug output to Ray.

  • Does Ray replace dd() or other debuggers? The page says Ray does not replace dd or xdebug; it is described as a third tool to cover a gap between quick dumping and more structured debugging workflows.

  • What is new in Ray 3.0? The page highlights pause & measure execution, AI interactions (including HTML components and Mermaid/ERD viewers), and an MCP server for AI agents.

Alternatives

  • In-browser logging and console output (e.g., console.log, browser devtools): Useful for quick checks, but results are tied to the browser environment and not presented in a dedicated, searchable desktop timeline.
  • “Dump” helpers in the application framework (e.g., dd()-style debugging): Fast and direct, but typically keep output inside the application/browser response rather than in a separate desktop app with filtering/search and archiving.
  • Remote logging/observability tools: Alternatives for collecting logs from remote environments, typically focusing on log aggregation and monitoring rather than the structured, message-based inspection workflow described for Ray.
  • Terminal-based REPL/debugging tools: Can inspect values during development, but may not provide the same organized desktop UI, filtering, and IDE jump workflow referenced on the Ray site.