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

@ssgk4422/autosmoke

v1.0.1

Published

Zero-Code Automated Invariant & Regression Guard for Localhost dev servers.

Readme


The Problem: Silent AI Code Regressions

When non-technical builders and vibe-coders build web applications with AI (Cursor, Claude Code, ChatGPT):

  1. They do not write Playwright, Cypress, or Jest tests.
  2. They ask the AI to implement a new feature (e.g., "add a filter dropdown").
  3. The AI edits the code, but silently breaks the /login route, renders a white screen React crash, or disables the checkout button.
  4. The creator doesn't notice until hours later after writing hundreds of lines on top of broken code.

AutoSmoke catches regressions the exact second they happen.


⚡ Quickstart

Run a single command in your terminal while your local dev server (npm run dev) is running:

npx @ssgk4422/autosmoke

Zero config, zero test scripts, and zero API keys required. AutoSmoke automatically discovers your localhost server and guards your routes in the background.


🛠️ How It Works

╔═══════════════════════════════════════════════════════════════╗
║                 💨 AutoSmoke v1.0.0                          ║
║    Zero-Code Automated Invariant & Regression Guard           ║
╚═══════════════════════════════════════════════════════════════╝
  Monitoring localhost dev server & auto-verifying invariants...

🎯 Connected to Localhost: http://localhost:5173 (Vite / React)

📊 Invariant Health Check Results:
   Discovered Routes: 4
   Invariants Verified: 12 (✔ 12 Passed, 0 Failed)
   Verification Time: 34ms

┌──────────────────────────┬──────────────────────┬─────────┐
│ Route / Element          │ Invariant Expected   │ Status  │
├──────────────────────────┼──────────────────────┼─────────┤
│ /                        │ HTTP 200 OK (Clean)  │  PASS   │
│ / <button> "Sign In"     │ Interactive button   │  PASS   │
│ /pricing                 │ HTTP 200 OK (Clean)  │  PASS   │
│ /pricing <button> "Buy"  │ Interactive button   │  PASS   │
│ /dashboard               │ HTTP 200 OK (Clean)  │  PASS   │
└──────────────────────────┴──────────────────────┴─────────┘

🛡️  SmokeGuard active. Watching for code changes...

🚨 Live Regression Alarm & Instant AI Fix Prompt

When an AI prompt breaks a previously working page, AutoSmoke triggers a visual alarm:

=================================================================
 🚨 REGRESSION DETECTED 
=================================================================

Route: /dashboard
Target: <button> "Save Settings"
What Happened: Button became disabled/unclickable after editing src/Settings.tsx

👉 Paste this fix prompt into Cursor / Claude to repair:
---------------------------------------------------------------
REGRESSION ALERT: On route '/dashboard', the element <button> "Save Settings"
was disabled or broken triggered after recent changes to 'src/Settings.tsx'.
Failure details: Button has no label or is disabled.

Please restore the interactive handler and ensure the component
renders cleanly with proper event binding.
---------------------------------------------------------------

🧠 Automated Health Invariant Suite

| Invariant Type | Verification Check | Failure Trigger | |---|---|---| | Route Health | Crawls all reachable routes | HTTP 404, 500, or React Error Overlay crash | | Interactive Elements | Verifies buttons & actions | Dead buttons, empty handlers, disabled states | | Form Integrity | Validates form actions & targets | Missing submission targets or unbound inputs | | Runtime Exceptions | Inspects DOM error boundaries | Uncaught JavaScript runtime exceptions |


⌨️ CLI Commands

# Start background live regression guard (default)
npx @ssgk4422/autosmoke

# Run instant one-off invariant audit
npx @ssgk4422/autosmoke scan

# Generate Markdown health report (autosmoke-report.md)
npx @ssgk4422/autosmoke report

# Target specific custom port
npx @ssgk4422/autosmoke --port 8080

# Show help & options
npx @ssgk4422/autosmoke --help

🤖 Agent Skill Integration

AutoSmoke includes an open-standard Agent Skill compliant with agentskills.io. AI coding agents can run autosmoke scan autonomously to verify their own code changes before completing a task.


📄 License

MIT © 2026 Prabhakar Pal. Free and open source.