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

spidey-sense

v0.1.2

Published

Click any element in your local React app, type a prompt, get a Claude Code or codex agent to edit the source on disk.

Readme

Spidey Sense

Spidey

Vibe code from your website. Click any element in your local React app, ask for your change, get Claude or Codex to edit the source on disk

Install

bun install -D spidey-sense

or

npm install -D spidey-sense

Vite

Add the plugin to your vite.config.ts:

import { defineConfig } from 'vite'
import react from '@vitejs/plugin-react'
import spideySense from 'spidey-sense/vite'

export default defineConfig({
  plugins: [react(), spideySense()],
})

Next.js

Two pieces — wrap your next.config.{js,mjs,ts} and drop a component into your root layout:

// next.config.mjs
import { withSpideySense } from 'spidey-sense/next'
export default withSpideySense({})
// app/layout.tsx (App Router)
import { SpideySense } from 'spidey-sense/next'

export default function RootLayout({ children }) {
  return (
    <html>
      <head>
        <SpideySense />
      </head>
      <body>{children}</body>
    </html>
  )
}

For the Pages Router, put <SpideySense /> inside the <Head> of your pages/_document.tsx instead.


Run your dev server like normal — npm run dev. The plugin boots the spidey-sense daemon in the same process and injects the runtime script in dev only. No second terminal, no manual <script> paste, and nothing ships to production builds.

A button appears in the bottom-right of your app:

  1. Click it to enter pick mode.
  2. Hover any element on the page; click to select.
  3. Type a natural-language prompt and press Enter.
  4. The element keeps a colored outline + status badge while a Claude agent runs.
  5. Repeat — multiple jobs run in parallel.

Requirements

  • Node 18+
  • The local claude CLI on PATH (or pass claudeBin to the plugin).
  • A React dev build (source mapping requires _debugSource, available in dev only).

Plugin options

spideySense({
  port: 7878, // default; auto-bumps if taken
  cwd: undefined, // repo root for `claude` jobs (defaults to vite root)
  claudeBin: 'claude', // path to the claude binary
  codexBin: 'codex', // path to the codex binary (optional agent)
  softFailOnMissingClaude: true, // log a warning instead of failing if claude isn't installed
  disabled: false, // skip plugin entirely (useful for env-gated configs)
})

Standalone CLI (no Vite)

For projects without a supported bundler, you can still run the daemon directly and paste the printed <script> tag into your app's <head> (in dev only):

npx spidey-sense --cwd /path/to/your/repo

CLI flags:

  • --port <n> — port to listen on (default 7878).
  • --cwd <path> — repo root passed to spawned claude jobs.
  • --claude-bin <path> — override the claude binary location.
  • --codex-bin <path> — override the codex binary location.

Other bundlers

For projects using Webpack/CRA/Parcel directly (without Next), use the standalone CLI and add the printed <script> to your dev-only HTML. A first-class Webpack plugin is on the roadmap — PRs welcome.

Development

bun install
bun run build
bun scripts/dev.ts            # all-in-one dev harness for the example app

License

MIT