Ray
Ray is a dedicated desktop debugger that keeps all your debug output neatly organized, across languages and frameworks, so you can debug faster without breaking your flow.
What is Ray?
What is Ray?
Ray is a cross-language, cross-framework desktop debugging companion designed to collect, organize, and visualize debug output from your code. Instead of dumping data inline in your application or console, Ray provides a central, feature-rich environment where strings, arrays, objects, queries, emails, events, and more can be sent and rendered in a readable, navigable format. With Ray, you can filter, search, archive, and analyze debug information from PHP, Laravel, JavaScript, and beyond, all within a single, dedicated app. The goal is simple: keep the debugging experience fast, organized, and non-disruptive to your workflow while offering powerful tools to understand and act on your data.
Ray 3.0 introduces enhancements that bridge traditional debugging with AI-assisted workflows, HTML component generation, and richer diagrammatic representations. The product emphasizes consistency across languages, inline tooling for IDE navigation, remote capabilities, and flexible data visualization – all while remaining easy to adopt for teams and individuals alike.
Key Features
- Centralized debugging surface: Collect and organize all debug output in one desktop app, not scattered across terminals and logs.
- Multilingual and multi-framework support: Works across PHP, Laravel, JavaScript, and more; consistent syntax and workflow.
- Remote debugging over SSH: Connect to remote servers and stream debug output directly into Ray, enabling real-time diagnostics without local code changes.
- Archive and retrieve messages: Save important outputs for comparison, audits, or reproducing hard-to-debug issues.
- Pause and measure execution: Pause code paths and measure time between calls to pinpoint performance bottlenecks without adding extra code.
- No dumping required (auto-output): Receive output automatically from queries, jobs, exceptions, and other data sources, reducing boilerplate in your code.
- Jump to IDE: Open the relevant source location directly from Ray, supported across multiple IDEs for quick context switching.
- Theming and extensibility: Change themes to fit your workflow, create macros, and extend Ray with your own client or language bindings for unsupported environments.
- HTML components and AI-driven outputs: Let AI generate HTML components or prototypes inside Ray and interact with them directly.
- Mermaid and ERD diagrams: Generate structured diagrams to explain complex database schemas with built-in viewers.
- MCP server integration: Provide AI agents access to your Windows environment and tools for advanced automation and generation tasks.
- New in Ray 3.0: See what your AI generates, interact with AI outputs in-app, and leverage enhanced diagramming and visualization tools.
- Cross-platform compatibility: Ray runs on macOS, Windows, and Linux for a consistent debugging experience across devices.
- Documentation and community: Comprehensive docs accompany Ray, with an ecosystem of community-driven language and framework support.
How to Use Ray
- Get Ray: Download and install Ray from the official site. Licenses are managed through Spatie, with pricing options including standard and launch sale prices (as of Ray 3.0, see pricing at checkout).
- Install and initialize: Launch the Ray desktop app on your development machine. Ensure Ray is running and ready to receive data.
- Send debug data from your code: Use the ray() function (or the equivalent in your language) to send strings, arrays, objects, queries, emails, events, or any data you want to inspect. You can label outputs to improve filtering and searchability.
- Explore in-app rendering: Ray renders your data in a readable, structured format. Use filters by type, origin, or custom labels to narrow results, and use the search feature to locate anything across all messages.
- Filter, archive, and refine: Attach colors or labels to outputs, archive messages for later reference, and pause/measures execution to isolate issues.
- Jump to your IDE: From a dumped file, jump straight to the relevant location in your editor. Ray supports many popular IDEs for quick navigation.
- Leverage AI and HTML components: Use Ray’s AI-assisted features to generate HTML components or prototypes, or explain complex data with Mermaid/ERD diagrams.
- Extend and customize: If Ray doesn’t yet support a language or framework you rely on, extend Ray via macros or create a custom client to send data.
- Deploy remotely if needed: Take advantage of remote debugging over SSH to monitor and debug code running on remote servers.
- Explore and optimize: Use pause, timing, and filtering tools to isolate performance concerns, reproduce issues, and compare outputs across runs.
Use Cases
- PHP and Laravel debugging: Output PHP and Laravel runtime data directly into Ray, visualize arrays and objects, and inspect queries with contextual labeling.
- JavaScript and frontend debugging: Capture console-like outputs, API responses, and events from Node.js or browser-based code, all in one place.
- Remote server debugging: Debug code running on remote machines via SSH, streaming logs and outputs into Ray for real-time analysis.
- AI-assisted development: Generate HTML components, prototypes, or explanations of complex schemas with AI, and visualize results inside Ray using built-in viewers.
- Database and schema visualization: Create Mermaid or ERD diagrams from your data flows and queries to better understand database relationships.
- Debug workflow consistency: Maintain a uniform debugging experience across macOS, Windows, and Linux, ensuring teams stay aligned regardless of workstation.
FAQ
- What is the pricing and licensing model? Ray offers a paid desktop license. As of the latest release, pricing is shown at checkout, with a launch sale option of a reduced price. Licenses are typically valid for a set period (e.g., 1 year) and managed through the official licensing system (Spatie). Lifetime licenses are mentioned as an option, subject to current terms. Licenses purchased before a major version may remain valid under the prior terms.
- Which platforms are supported? Ray is designed to be cross-platform and runs on macOS, Windows, and Linux, providing a consistent debugging experience across all major desktop environments.
- What languages and frameworks are supported? Ray supports PHP, Laravel, JavaScript, and additional languages via language bindings or custom clients. The product emphasizes a consistent syntax and workflow across supported languages.
- Can I debug remotely or on servers? Yes. Ray supports remote debugging over SSH, allowing you to connect to remote servers and stream debug output directly into Ray without modifying your application code locally.
- How does the search, filter, and archive work? You can filter messages by type, origin, or custom labels, use search to locate items across all messages, and archive important outputs for later reference or comparison. This helps manage large volumes of debug data efficiently.
- Is there AI integration and HTML generation? New in Ray 3.0 are features that let AI generate HTML components and diagrams, with an in-app viewer for Mermaid and ERD diagrams. You can also connect AI outputs to your debugging workflow for enhanced insights.
- How do I get started? Download the Ray desktop app from the official site, review the docs for language bindings, and begin sending data via the ray() calls in your code. If you need to customize or extend Ray, you can explore macros and custom clients.
Additional notes
Ray emphasizes a workflow that keeps debug output out of your application while still making the information accessible, searchable, and actionable. The goal is to provide a powerful, extensible, and cross-platform debugging environment that scales with your projects and teams while preserving your development flow.
Alternatives
PingPulse
PingPulse provides AI agent observability, allowing you to track agent handoffs, detect issues like stalls and loops, and receive alerts for misbehavior with minimal code integration.
AakarDev AI
AakarDev AI is a powerful platform that simplifies the development of AI applications with seamless vector database integration, enabling rapid deployment and scalability.
Devin
Devin is an AI coding agent and software engineer that helps developers build better software faster.
imgcook
imgcook is an intelligent tool that converts design mockups into high-quality, production-ready code with a single click.
Rork
Rork builds complete, production-ready mobile apps from your description using AI and Expo (React Native).
PromptLayer
PromptLayer is a platform for prompt management, evaluations, and LLM observability, designed to enhance AI engineering workflows.