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

@ewjdev/anyclick-cursor-local

v1.2.0

Published

Local Cursor CLI adapter for UI feedback - run cursor-agent locally during development

Readme

@ewjdev/anyclick-cursor-local

Local Cursor CLI adapter for UI feedback - run cursor-agent locally during development

npm version License: MIT

Overview

@ewjdev/anyclick-cursor-local enables local Cursor integration for development workflows. Submit UI feedback and have it automatically open in Cursor with full context for AI-powered fixes.

Installation

npm install @ewjdev/anyclick-cursor-local

Quick Start

1. Start the Local Server

# Add to package.json scripts
"scripts": {
  "feedback-server": "anyclick-local-server"
}

# Run
npm run feedback-server

2. Configure the Provider

"use client";

import { FeedbackProvider } from "@ewjdev/anyclick-react";
import { createLocalAdapter } from "@ewjdev/anyclick-cursor-local";

const adapter = createLocalAdapter({
  serverUrl: "http://localhost:3847",
  projectPath: process.cwd(),
});

<FeedbackProvider adapter={adapter}>{children}</FeedbackProvider>;

Features

  • 🖥️ Local Development - No cloud dependency for development
  • 📁 File-Based Storage - Feedback saved as JSON files
  • 🚀 Cursor Integration - Automatically opens Cursor with context
  • ⚙️ Configurable - Customize prompt generation and file handling

How It Works

  1. User right-clicks element and selects "Fix with Cursor"
  2. Feedback is sent to local server on your machine
  3. Server saves feedback to .feedback/ directory
  4. Server invokes Cursor with the feedback context
  5. Cursor AI analyzes and proposes fixes

Server Configuration

Create anyclick.config.js in your project root:

module.exports = {
  port: 3847,
  outputDir: ".feedback",
  cursorPath: "/Applications/Cursor.app/Contents/MacOS/Cursor",

  onFeedback: async (payload, filePath) => {
    console.log(`Feedback saved to: ${filePath}`);
  },

  formatPrompt: (payload) => {
    return `Fix: ${payload.comment}\nElement: ${payload.element.selector}`;
  },

  cors: {
    origin: ["http://localhost:3000"],
  },
};

Multi-Adapter Setup

Route different feedback types to different adapters:

import { createLocalAdapter } from "@ewjdev/anyclick-cursor-local";
import { createHttpAdapter } from "@ewjdev/anyclick-github";

function createRoutingAdapter(config) {
  return {
    async submit(payload) {
      if (payload.type === "cursor_local") {
        return config.local.submit(payload);
      }
      return config.github.submit(payload);
    },
  };
}

const adapter = createRoutingAdapter({
  local: createLocalAdapter({ serverUrl: "http://localhost:3847" }),
  github: createHttpAdapter({ endpoint: "/api/feedback" }),
});

CLI

# Start with default options
npx anyclick-local-server

# Start with custom port
npx anyclick-local-server --port 4000

# Start with custom output directory
npx anyclick-local-server --output .my-feedback

Security

⚠️ The local server is designed for development only. Never expose it to the internet. The server only accepts connections from localhost by default.

Best Practices

  • Add .feedback/ to your .gitignore
  • Use descriptive comments when submitting feedback
  • Configure Cursor rules for your project conventions
  • Run the server in a separate terminal for visibility

Documentation

For full documentation, visit anyclick.ewj.dev/docs/adapters

Related Packages

License

MIT © anyclick