Ray
Ray is a desktop app that organizes debug output—inspect, filter, and archive values with consistent ray(...) syntax without cluttering your app.
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
- Download Ray and purchase a license if needed (the site shows a $49 USD price and mentions 1-year licenses managed through Spatie).
- Send debug output to Ray using the
ray(...)syntax shown on the site (examples include labeling, tables, applying colors, and filtering by call attributes). - Inspect and manage messages in Ray: use search and filters to narrow results, and archive messages when you want to compare outputs later.
- (Optional) Set up remote debugging: connect to a server via SSH so Ray can stream debug output from remote execution.
- (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.
Alternatives
OpenFlags
OpenFlags is an open source, self-hosted feature flag system with a control plane and typed SDKs for progressive delivery and safe rollouts.
Rectify
Rectify is an all-in-one operations platform for SaaS, combining monitoring, analytics, support, roadmaps, changelogs, and agent management—via conversation.
PingPulse
PingPulse monitors AI agent workflows with real-time handoff tracking, workflow visualization, and configurable alerts for failures, stalls, and out-of-order execution.
KIT.domains
KIT.domains automates domain monitoring and SSL tracking with alerts for expirations and DNS (MX/NS) changes, centralized in a shared dashboard.
Sleek Analytics
Lightweight, privacy-friendly analytics with real-time visitor tracking—see where visitors come from, what they view, and how long they stay.
Falconer
Falconer is a self-updating knowledge platform for high-speed teams to write, share, and find reliable internal documentation and code context in one place.