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

jiggle-genius

v3.0.2

Published

Jiggle Genius is a simple and efficient mouse jiggler CLI tool designed to keep your computer awake during those times when you need it to stay active. Whether you're preventing your screen from locking during a presentation or keeping your online status

Readme

Jiggle Genius 🖱️

npm version License: MIT Node Version Downloads

A simple and efficient mouse jiggler CLI tool designed to keep your computer awake. Whether you're preventing your screen from locking during a presentation or keeping your online status active, Jiggle Genius has got you covered.

Table of Contents

Features

  • 🎯 Smooth circular mouse movement pattern
  • ⚙️ Configurable duration, radius, and speed
  • 🎮 Easy to use CLI interface
  • 💻 Cross-platform support (Windows, macOS, Linux)
  • 🛑 Graceful shutdown with Ctrl+C

Installation

Global Installation (Recommended)

Using pnpm (recommended):

# First ensure you're using Node.js v18
nvm use 18

# Then install globally
pnpm add -g jiggle-genius

Using npm:

nvm use 18  # Required for robotjs compatibility
npm install -g jiggle-genius

Using yarn:

nvm use 18  # Required for robotjs compatibility
yarn global add jiggle-genius

Local Installation

Using npm:

npm install jiggle-genius

Using yarn:

yarn add jiggle-genius

Using pnpm:

pnpm add jiggle-genius

Usage

Command Line Interface

jiggle [options]

Options:

  • -d, --duration: Duration in minutes (default: 30)
  • -r, --radius: Radius of the circular movement in pixels (default: 10)
  • -s, --speed: Movement speed from 1-10 (default: 2)
  • -h, --help: Show help
  • -v, --version: Show version number

Examples

# Run with default settings (30 minutes)
jiggle

# Run for 2 hours
jiggle -d 120

# Run with custom radius and speed
jiggle -d 60 -r 20 -s 5

# Show help
jiggle --help

Programmatic Usage

You can also use Jiggle Genius in your Node.js applications:

import jiggleGenius from 'jiggle-genius';

// Run with default settings
jiggleGenius();

// Run with custom configuration
jiggleGenius({
  duration: 60,  // 60 minutes
  radius: 20,    // 20 pixels
  speed: 5       // Speed 5
});

Requirements

  • Node.js v18.20.7 (required for robotjs compatibility)
    # Using nvm (recommended)
    nvm install 18
    nvm use 18
      
    # Verify version
    node -v  # Should show v18.20.7
  • One of the following package managers:
    • pnpm >= 10.5.0 (recommended)
    • npm >= 6.0.0
    • yarn >= 1.22.0

Building from Source

  1. Clone the repository:
git clone https://github.com/diegodscamara/jiggle-genius.git
cd jiggle-genius
  1. Install dependencies (choose one):
# Using npm
npm install

# Using yarn
yarn install

# Using pnpm (recommended)
pnpm install
  1. Build the project:
# Using npm
npm run build

# Using yarn
yarn build

# Using pnpm (recommended)
pnpm build

Troubleshooting

Common Issues

Node.js Version Mismatch

If you see errors related to robotjs or native dependencies:

Error: The module was compiled against a different Node.js version

Solution:

  1. Switch to Node.js v18.20.7:
nvm install 18.20.7
nvm use 18.20.7
  1. Reinstall the package:
npm uninstall -g jiggle-genius
npm install -g jiggle-genius

Permission Issues (Linux/macOS)

If you encounter permission errors:

Error: EACCES: permission denied

Solution:

# Using npm
sudo npm install -g jiggle-genius

# Using pnpm
sudo pnpm add -g jiggle-genius

Other Issues

  • Make sure you have the latest version of your package manager
  • Clear your package manager's cache if needed:
    npm cache clean --force
    # or
    pnpm store prune
  • Check the GitHub issues for similar problems and solutions

Contributing

We welcome contributions to Jiggle Genius! Here's how you can help:

Bug Reports & Feature Requests

  • Use the GitHub issue tracker to report bugs or suggest features.
  • Before creating a new issue, please check if a similar issue already exists.
  • When reporting bugs, include:
    • Node.js version (node -v)
    • Operating system and version
    • Steps to reproduce the issue
    • Expected vs actual behavior

Pull Requests

  1. Fork the repository
  2. Create a new branch: git checkout -b feature/your-feature-name
  3. Make your changes
  4. Run tests: pnpm test
  5. Commit your changes: git commit -m 'Add some feature'
  6. Push to the branch: git push origin feature/your-feature-name
  7. Submit a pull request

Development Guidelines

  • Follow the existing code style
  • Add tests for new features
  • Update documentation as needed
  • Keep commits atomic and write clear commit messages
  • Ensure all tests pass before submitting a pull request

License

This project is licensed under the MIT License - see the LICENSE file for details.

Author

Diego Camara (@diegodscamara)

Support

Getting Help

  • Issues: If you encounter any issues or have questions, please open an issue on GitHub.
  • Discussions: For general questions and discussions, use the GitHub Discussions tab.
  • Documentation: Check out our Wiki for additional documentation.

Stay Updated

  • Star the repository to show your support and stay updated
  • Watch the repository for release notifications
  • Follow @diegodscamara for project updates

Keep your computer awake with Jiggle Genius! 🖱️✨