Skip to content

Repository files navigation

Limelight SDK

React Native Devtools - Zero-config network inspector, render profiling, state tracking, and console streaming — all in one workspace. Designed for AI workflows.

npm version License: MIT TypeScript

Documentation

Full documentation at docs.getlimelight.io

Landing page

Landing page at getlimelight.io

Features

  • State Inspection - Debug Zustand and Redux stores in real-time
  • Network Monitoring - Inspect all HTTP requests with GraphQL-first support
  • Console Streaming - View logs with stack traces and source detection
  • Render Tracking - Find why components re-render
  • Privacy-First - Automatic redaction of sensitive data
  • Zero Config - Works out of the box
  • Framework Agnostic - Work in React, RN, Node, Nextjs, etc...
  • Full-Stack - See client to server requests traced together and full-stack logs in one place
  • Automatic Issue Detection - Limelight automatically detects issues in your app and server
  • AI Enabled - Give your AI coding tools insights into your apps runtime context via the Limelight MCP or thorugh the app

Installation

npm install @getlimelight/sdk

Quick Start

Desktop App

import { Limelight } from "@getlimelight/sdk";

Limelight.connect();

Web App (with project key)

import { Limelight } from "@getlimelight/sdk";

Limelight.connect({
  projectKey: "your-project-key",
});

With State Inspection

import { Limelight } from "@getlimelight/sdk";
import { useUserStore } from "./stores/user";
import { useCartStore } from "./stores/cart";

Limelight.connect({
  stores: {
    user: useUserStore,
    cart: useCartStore,
  },
});

Works with Zustand and Redux out of the box.

Configuration

Limelight.connect({
  // Connect to web app (optional for desktop)
  projectKey: "your-project-key",

  // State stores to inspect
  stores: {
    user: useUserStore,
    cart: useCartStore,
  },

  // Feature flags (all default to true)
  enabled: __DEV__,
  enableNetworkInspector: true,
  enableConsole: true,
  enableStateInspector: true,
  enableRenderInspector: true,

  // Filter or modify events
  beforeSend: (event) => {
    // Return null to filter out, or modify and return
    return event;
  },
});

Server-Side (Express / Next.js)

Capture incoming HTTP requests and responses on your backend.

Express / Connect:

import express from "express";
import { Limelight } from "@getlimelight/sdk";

const app = express();

app.use(express.json());
app.use(Limelight.middleware());

Next.js Pages Router (pages/api/):

// pages/api/users.ts
import { Limelight } from "@getlimelight/sdk";

export default Limelight.withLimelight((req, res) => {
  res.json({ ok: true });
});

Both methods automatically capture request/response headers, bodies, status codes, and timing — and propagate a trace ID (x-limelight-trace-id) for full-stack tracing.

Outbound HTTP interception is automatic in Node.js environments. When enableNetworkInspector is true (the default), the SDK patches http.request and https.request to capture all outgoing calls your server makes — API calls to other services, auth servers, databases over HTTP, etc. Combined with the incoming middleware, this gives you full end-to-end tracing:

Client (fetch) → Your Server (middleware) → Downstream Service (http interceptor)
       ↑ same trace ID propagated across all three ↑

No additional setup is required — just connect the SDK and add the middleware.

Learn More

License

MIT © Limelight


Documentation · GitHub · Issues

Releases

Packages

Contributors

Languages