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 🙏

© 2025 – Pkg Stats / Ryan Hefner

@involvex/involvex-cli

v1.5.1

Published

Windows System Administration Toolkit - JavaScript Edition

Readme

██╗███╗   ██╗██╗   ██╗ ██████╗ ██╗     ██╗   ██╗███████╗██╗  ██╗
██║████╗  ██║██║   ██║██╔═══██╗██║     ██║   ██║██╔════╝╚██╗██╔╝
██║██╔██╗ ██║██║   ██║██║   ██║██║     ██║   ██║█████╗   ╚███╔╝
██║██║╚██╗██║╚██╗ ██╔╝██║   ██║██║     ╚██╗ ██╔╝██╔══╝   ██╔██╗
██║██║ ╚████║ ╚████╔╝ ╚██████╔╝███████╗ ╚████╔╝ ███████╗██╔╝ ██╗
╚═╝╚═╝  ╚═══╝  ╚═══╝   ╚═════╝ ╚══════╝  ╚═══╝  ╚══════╝╚═╝  ╚═╝

              Windows System Administration Toolkit

InvolveX CLI - JavaScript Edition

A comprehensive Windows system administration toolkit built with Node.js, providing an easy-to-use terminal user interface for common system maintenance tasks.

Features

Package Management

  • Update Winget, NPM, Scoop, Chocolatey packages
  • Check for available updates across all package managers
  • Update PowerShell modules
  • Bulk update operations

System Maintenance

  • Clear system caches and temporary files
  • Memory optimization and cleanup
  • Startup program management
  • Program uninstallation

Network Tools

  • Ping tests with customizable hosts
  • Internet speed tests
  • DNS configuration management

System Administration

  • Driver update checking and installation
  • System restore point creation and management
  • Registry-based configuration management

User Interface

  • Text-based user interface using Blessed.js
  • Interactive menus and dialogs
  • Progress indicators and status updates
  • Keyboard navigation support
  • Built-in Discord Rich Presence integration with random hacker-status messages

Installation

Prerequisites

  • Windows 10/11
  • Node.js 16.0 or higher
  • Administrator privileges for some operations

Install from NPM (when published)

npm install -g involvex-cli

Manual Installation

  1. Clone or download this repository
  2. Navigate to the project directory
  3. Install dependencies:
npm install
  1. Make the script executable (optional):
chmod +x index.js

Usage

Interactive Mode

node index.js
# or if installed globally
involvex-cli

Command Line Options

involvex-cli --help       # Show help information
involvex-cli --version    # Show version information

Navigation

  • Use arrow keys to navigate menus
  • Press Enter to select options
  • Press F10 or Escape to quit
  • Press F9 for help

Discord Rich Presence Plugin

  • Enable or disable the plugin from Settings → Discord RPC directly inside the CLI
  • Default Application ID: 1438575785228242994
  • Discord Public Key: fe1dca8f9e7f55080493178e503508b0fd4380c4831186ec5d536c61d942ad6d
  • Status updates include randomly generated memes such as “Generated 256 cups of coffee ☕”
  • Official artwork (logo, banner, cover image) is available inside the assets/ directory and is published with the documentation site

Supported Package Managers

Winget (Windows Package Manager)

  • Modern Windows package manager from Microsoft
  • Supports app updates and installations

NPM (Node Package Manager)

  • Updates global npm packages
  • Manages Node.js development tools

Scoop

  • Command-line installer for Windows
  • Lightweight package manager

Chocolatey

  • Popular Windows package manager
  • Extensive package repository

PowerShell Modules

  • Updates PowerShell modules and cmdlets
  • Supports both Windows PowerShell and PowerShell Core

System Requirements

  • Operating System: Windows 10/11
  • Runtime: Node.js 16.0 or higher
  • Permissions: Administrator privileges required for some operations
  • Terminal: Interactive terminal emulator (Command Prompt, PowerShell, Windows Terminal)

Architecture

Core Services

  • LogService: Centralized logging functionality
  • ConfigService: YAML-based configuration management
  • PackageManagerService: Multi-package manager support
  • NetworkService: Ping and speed test capabilities
  • CacheService: System cache management
  • StartupService: Startup program management
  • UninstallerService: Program uninstallation
  • DnsService: DNS configuration
  • DriverService: Driver update management
  • SystemRestoreService: System restore point management

User Interface

  • Built with Blessed.js for terminal UI
  • Modular dialog system
  • Progress indicators and loading screens
  • Keyboard-driven navigation

Configuration

The application stores configuration in:

%APPDATA%\InvolveX\config.yaml

Default configuration includes:

  • Enabled package managers
  • Update settings
  • UI preferences
  • Logging configuration

Logging

Logs are stored in:

./logs/update.log

All operations are logged with timestamps for troubleshooting and audit purposes.

Development

Project Structure

involvex_cli_js/
├── index.js              # Main application entry point
├── package.json          # Node.js dependencies and scripts
├── services/             # Core service modules
│   ├── LogService.js
│   ├── ConfigService.js
│   ├── PackageManagerService.js
│   ├── NetworkService.js
│   ├── CacheService.js
│   ├── StartupService.js
│   ├── UninstallerService.js
│   ├── DnsService.js
│   ├── DriverService.js
│   └── SystemRestoreService.js
├── logs/                 # Application logs
└── README.md            # This file

Adding New Features

  1. Create new service in services/ directory
  2. Implement required methods
  3. Add menu integration in index.js
  4. Update configuration if needed
  5. Test functionality

Dependencies

  • blessed: Terminal UI framework
  • commander: Command-line argument parsing
  • chalk: Terminal text styling
  • ora: Loading spinners
  • inquirer: Interactive prompts
  • fs-extra: Enhanced file system operations
  • js-yaml: YAML configuration parsing

Troubleshooting

Common Issues

"InvolveX CLI requires an interactive terminal"

  • Run in Command Prompt, PowerShell, or Windows Terminal
  • Avoid running in IDE terminals or CI/CD environments

"Administrator privileges required"

  • Some operations require elevated permissions
  • Run as administrator for DNS changes, system restore, etc.

"Package manager not found"

  • Ensure package managers are installed
  • Check PATH environment variable

Debug Mode

Enable debug logging by modifying the LogService configuration.

Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Make changes and test thoroughly
  4. Submit a pull request

License

MIT License - see LICENSE file for details.

Support

For issues, questions, or contributions:

  • GitHub Issues: Report bugs and request features
  • GitHub Discussions: Ask questions and get help

Legal

Changelog

v1.0.0

  • Initial JavaScript port from C# version
  • Complete feature parity with original application
  • Blessed.js-based terminal user interface
  • All core services implemented
  • Multi-package manager support
  • System administration tools

Acknowledgments

  • Original C# version by InvolveX
  • Blessed.js for terminal UI capabilities
  • Node.js community for excellent tooling