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

@ansospace/sysmon

v1.0.1

Published

A zero-dependency system monitoring CLI tool for listing system info, real-time monitoring, and cleanup tasks.

Readme

System Guardian 🛡️

A system utilities project built for Code Olympics hackathon with professional builder limit while following the no-import rookie constraint

Lines No Imports Single File

A zero-dependency system monitoring CLI tool built for the Code Olympics hackathon. Monitor system resources, analyze disk usage, clean temporary files, and benchmark performance—all in under 500 lines of code using only built-in Node.js functions.

Demo

asciicast

🎯 Challenge

Code Olympics Challenge: "Create a system utilities project with the professional builder limit while following the no-import rookie constraint."

  • No-Import Rookie: Only built-in functions, no external libraries
  • Professional Builders: Maximum 500 lines of code
  • System Utilities: Monitors, cleaners, automation tools

Code Olympics Challenge

Features

  • Real-time Monitoring: Live CPU, memory, disk, and network monitoring with interactive controls
  • Disk Analysis: Deep directory scanning with file type statistics and large file detection
  • Temp File Cleanup: Automated cleanup of old temporary files across platforms
  • System Information: Comprehensive hardware and OS details
  • Performance Benchmarking: CPU and memory stress tests with scoring
  • Cross-Platform: Works on Windows, macOS, and Linux
  • Zero Dependencies: Pure Node.js with built-in modules only
  • Export Capabilities: Save monitoring data to JSON files
  • Interactive UI: Keyboard shortcuts for dynamic monitoring views

Installation

Prerequisites

  • Node.js >= 18.0.0

Install Globally

npm install -g @ansospace/sysmon

Or Run Locally

git clone <repository-url>
cd sysmon
npm install
npm link

Usage

sysmon [command] [options]

Commands

sysmon monitor

Start real-time system monitoring with live updates every 2 seconds.

Options:

  • --export <path>: Export snapshots to JSON file (e.g., --export reports/snapshot.json)

Interactive Controls:

  • n: Toggle network interface display
  • p: Toggle top processes display
  • Ctrl+C: Exit monitoring

sysmon analyze <path>

Analyze disk usage in the specified directory.

Options:

  • --depth <n>: Maximum directory depth (default: 5)
  • --min-size <mb>: Minimum file size for large file report (default: 10MB)

sysmon clean [days]

Find and clean temporary files older than specified days.

Options:

  • --dry-run: Preview changes without deleting files

sysmon info

Display detailed system information including OS, hardware, and network details.

sysmon benchmark

Run system performance benchmarks for CPU and memory.

sysmon help

Display help information and command usage.

Examples

See examples.md for detailed usage examples.

Development

Line Count Constraint

This project maintains a strict 500-line limit for the main CLI file (bin/cli.js). Run the line counter:

npm run prepublishOnly

Line Count Verification

node scripts/count-lines.js

Output:

📊 Line Count: 500 / 500
✅ Perfect! Exactly 500 lines.

Project Structure

sysmon/
├── bin/cli.js          # Main CLI application
├── scripts/
│   └── count-lines.js  # Line counting utility
├── package.json        # Project metadata
├── README.md           # This file
└── examples.md         # Usage examples

Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Ensure changes stay under 500 executable lines
  4. Test on multiple platforms (Windows, Linux, macOS)
  5. Submit a pull request

License

MIT License - see LICENSE file for details.

Author

Sanjay Kumar Sah


Built for Hackathons | Zero Dependencies | Cross-Platform | Professional Grade