npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

react-native-pixie

v1.0.1

Published

In-app element inspector for React Native: tap any element, inspect it Chrome-DevTools-style, live-edit styles and text, jump to the source in your editor, and send annotations to an AI coding agent that applies the change.

Readme

react-native-pixie

pixie is an in-app element inspector for React Native. Tap any element in your running app, inspect it Chrome-DevTools-style, live-edit styles and text on the device, and jump straight to the source in your editor — all on its own, no AI required.

Want the change made for you? Point it at an AI coding agent — Claude Code, Cursor, or Codex CLI — describe what you want, and watch it land in your source while the app hot-reloads.

Dev-only: it renders nothing and ships nothing in production builds.

pixie demo — tap, describe, watch the agent fix it

Install

npm install react-native-pixie -D
npx expo run:ios   # one native rebuild — links react-native-view-shot (screenshots);
                   # (or run:android / your usual native build) — skip if your
                   # app already includes view-shot

Installing changes your lockfile — eyeball the diff. If unrelated packages (e.g. react-native-reanimated/react-native-worklets) floated to new versions, pin them back or rebuild the dev client so JS and native match.

Install via your AI agent

Skip the manual steps — tell your agent:

Install react-native-pixie in this app by following AGENT_INSTALL.md.

It installs the package, checks your lockfile for drift, wraps the app root, wires your coding agent, decides whether you need a native rebuild, and verifies the pipeline with npx pixie status. (npx pixie init auto-detects your agent — Claude Code, Cursor, or Codex — or pass --agent.)

Usage

Wrap your app root once, behind __DEV__:

const PixieProvider = __DEV__
  ? require('react-native-pixie').PixieProvider
  : ({ children }) => children

export default function App() {
  return (
    <PixieProvider config={{ ignoreSourcePaths: ['/design-system/'] }}>
      <YourApp />
    </PixieProvider>
  )
}

Then wire up the project for your AI agent (auto-detects Claude Code / Cursor / Codex and merges into each, never clobbers):

npx pixie init                      # auto-detect + confirm
npx pixie init --agent cursor       # or target one/many: claude,cursor,codex (or "all")
npx pixie status                    # verifies config, bridge, Metro, editor CLI

Run your app, then start the watch loop in your agent:

  • Claude Codeclaude in a terminal, then /pixie-watch
  • Cursor — tell Cursor "start pixie watch"
  • Codex CLI — tell Codex "start the pixie watch loop" (needs Codex ≥ v0.115.0)

In the app: tap the ✎ handle → tap any element → describe the change → Send.

Features

  • Tap or drag to select — pick any element, or drag a region to measure the space between elements; a breadcrumb retargets to any ancestor
  • DevTools-style inspection — box model, margins/paddings, sibling gaps, flattened styles in a spec-sheet grid, and the exact source file:line of the JSX call site
  • Live edit — drag-to-scrub numeric values, edit text and colors on the running app, hold ◧ A/B to compare with the original — nothing touches source until you send
  • Send to an AI agent — annotations arrive in a watching agent session (Claude Code, Cursor, or Codex) with screenshots, component stack, box model, and your note; the agent edits your source and Fast Refresh shows the result
  • Live progress on pins — see what the agent is doing ("Editing ProfileCard.tsx…") right on the pin, a DONE toast with the summary, and one-tap undo after it resolves (stacked before/after shots on the task)
  • Ask mode — point at an element and ask why it looks the way it does instead of requesting a change
  • Match Figma — paste a Figma link: the agent gets the node as design reference and the app shows an onion-skin overlay to compare against
  • Image audit — select any <Image> (Expo or bare RN): ✓ right-sized, or ⚠ oversized/low-res with source-vs-slot pixels and download weight
  • Manage the queue — batch drafts, then filter/cancel/edit/retry/delete every pixie in the All Pixies sheet
  • Jump to editor — open the selected element's source at the exact line in Cursor / VS Code / Windsurf / Zed / WebStorm
  • Works with any AI — no agent watching? ⧉ COPY PROMPT FOR ANY AI emits a self-contained prompt with the same context

inspect and live edit — styles grid, drag-to-scrub values, A/B compare margin/padding box model and measured sibling gaps manage the queue — cancel, undo with before/after, retry

Config

| Prop | Type | Default | Purpose | |---|---|---|---| | bridgePort | number | 4747 | Port of the local bridge (match PIXIE_PORT if you changed it) | | bridgeToken | string | — | Auth token for physical devices (the bridge prints it at boot) | | ignoreSourcePaths | string[] | [] | Path substrings to skip when picking the JSX call site — point at your design-system dir so annotations land on screen-level code |

CLI

npx pixie init [--agent <ids>]   wire up this project (auto-detects, or claude,cursor,codex/all)
npx pixie status                 health-check the whole pipeline
npx pixie help                   usage + troubleshooting

The bridge daemon starts automatically with your agent session. To run it by hand (from your project root): node node_modules/react-native-pixie/bridge/server.js. A session from a newer install automatically replaces a stale daemon on the port.

Requirements

  • React Native 0.81+ with the New Architecture, React 19 (dev builds)
  • One native dependency, react-native-view-shot — autolinks on your next dev-client rebuild; until then everything works except screenshots
  • Node ≥ 20 on the dev machine
  • An MCP-capable coding agent — Claude Code, Cursor, or Codex CLI (Codex needs ≥ v0.115.0 for screenshots) — or any AI via copy-prompt
  • Works in Expo and bare RN. Optional niceties when the host app has them: expo-blur (frosted backdrop), expo-haptics (feedback), expo-clipboard (copy actions), expo-constants (pin rehydration across reloads), expo-image-manipulator (cropped after-shots)

Simulators and emulators work out of the box (the bridge binds loopback). To annotate from a physical device: start your agent session with PIXIE_HOST=0.0.0.0, copy the token the bridge prints at boot, and pass it in the provider config — config={{ bridgeToken: '<token>' }}.

Troubleshooting

| Symptom | Fix | |---|---| | "NO AGENT" chip in the composer | Start the watch loop in your agent (Claude: /pixie-watch; Cursor/Codex: "start pixie watch") — restart the session after init | | "OFFLINE" chip | npx pixie status — is the bridge running? Same machine/Wi-Fi? | | Screenshots missing on pins | Your build predates the install — rebuild the dev client so react-native-view-shot links | | Crash on boot after install (worklets/reanimated errors) | Lockfile drift: git diff yarn.lock, pin drifted packages back or rebuild | | ↗ Open does nothing | Install your editor's shell command (cursor/code/windsurf/zed) or set PIXIE_EDITOR | | Toast says the daemon is a stale build | Restart your agent session — new sessions replace stale daemons automatically |

License

MIT