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

chan-meng

v1.2.1

Published

An interactive CLI to meet Chan Meng and explore her minimalist philosophy

Downloads

20

Readme

🎭 Chan MengInteractive CLI Experience

An NPX-executable CLI application that introduces Chan Meng through an interactive, story-driven terminal experience. Experience minimalist philosophy through an elegant command-line interface. One-click FREE execution via NPX - no installation required.

NPM Version Node Version License GitHub Stars

Tech Stack Badges:

🚀 Visit NPM Page 🚀

[!TIP] This project demonstrates minimalist CLI design with modern JavaScript. It combines interactive storytelling with elegant terminal UX to create an engaging personal introduction experience.

📸 Screenshots & Demo

🎬 Demo Video

https://github.com/user-attachments/assets/66d9844c-bce6-4cd2-844b-022f672f7cbb

🖼️ Interface Showcase

TOC

✨ Key Features

1 Interactive Story-Driven Experience

Experience a curated journey through Chan's minimalist philosophy via an elegant CLI interface with beautiful ASCII art and gradient colors.

Key capabilities include:

  • 🚀 Quick Tour Mode: A curated 3-minute introduction
  • 📚 Full Experience Mode: Explore all modules at your own pace
  • 💾 Smart Progress Tracking: Automatically saves and resumes your journey
  • 🎨 Beautiful Terminal UI: ASCII art, gradient colors, and boxed content
  • Universal Accessibility: Graceful degradation for limited terminals

[!TIP] Run npx chan-meng anywhere, anytime - no installation required!

2 Minimalist Design Philosophy

Built with minimalist principles at its core - every dependency justified, every feature purposeful.

Design Principles:

  • 7 Dependencies: Carefully selected within constitutional limit of 10
  • Fast Startup: < 5 seconds with lazy loading for heavy modules
  • ES Modules: Modern JavaScript with "type": "module"
  • Zero Config: Works out of the box with sensible defaults

🚀 Quick Start

Run via NPX (Recommended)

npx chan-meng

🎉 That's it! The interactive experience will start immediately.

Run from Source

# Clone the repository
git clone https://github.com/ChanMeng666/chan-meng.git
cd chan-meng

# Install dependencies
npm install

# Run the CLI
node index.js

📦 Requirements

[!IMPORTANT] Ensure you have the following:

  • Node.js: 18.0.0 or higher (Download)
  • Terminal: Minimum 80x24 characters
  • Recommended: A terminal with color support and Unicode/emoji

🎯 Interactive Modules

The CLI experience is organized into four interactive modules:

| Module | Description | Duration | |--------|-------------|----------| | 🗺️ The Journey | Chan's path from family constraints to minimalist freedom | ~5 min | | 💭 Philosophy | Core minimalist beliefs and principles | ~4 min | | ✂️ Practical Minimalism | Concrete examples of the minimalist lifestyle | ~3 min | | 📧 Connect | Get in touch with Chan Meng | ~1 min |

Quick Tour mode automatically selects the most impactful moments from each module for a 3-minute experience.

🛠️ Tech Stack

Runtime & Language:

  • Node.js 18+: Modern JavaScript runtime
  • ES2022: Latest ECMAScript features with ES Modules

CLI Framework:

  • inquirer ^9.0.0 - Interactive command-line prompts
  • chalk ^5.0.0 - Terminal string styling with colors
  • boxen ^7.0.0 - Create beautiful boxes in terminal
  • ora ^7.0.0 - Elegant terminal spinners

Visual Enhancement:

  • figlet ^1.7.0 - ASCII art text generation (lazy loaded)
  • gradient-string ^2.0.0 - Beautiful color gradients (lazy loaded)

Configuration:

  • conf ^11.0.0 - Simple config management with encryption support

[!TIP] All heavy dependencies (figlet, gradient-string) are lazy-loaded to ensure fast startup times.

🏗️ Project Structure

chan-meng/
├── index.js              # Entry point with shebang for npx
├── package.json          # NPM configuration
├── src/
│   ├── cli.js           # Main CLI orchestration and flow control
│   ├── content/         # Story content modules (journey, philosophy, etc.)
│   ├── modules/         # Interactive module handlers
│   ├── services/        # Core services
│   │   ├── display.js   # Display service for UI rendering
│   │   ├── progress.js  # Progress tracking service
│   │   └── navigation.js # Navigation and menu service
│   └── utils/           # Utility modules
│       ├── terminal.js  # Terminal capability detection
│       └── config.js    # Configuration management
├── tests/
│   ├── unit/            # Unit tests
│   └── integration/     # Integration tests
└── specs/               # Specification documents
    └── features/        # Feature specifications

⚙️ Configuration

User preferences and progress are automatically saved in:

| Platform | Configuration Path | |----------|-------------------| | Linux/macOS | ~/.config/chan-meng-cli/ | | Windows | %APPDATA%\chan-meng-cli\ |

Stored Data:

  • Module completion status
  • User preferences (tour mode, display settings)
  • Last interaction timestamp

[!NOTE] To reset your progress, simply delete the configuration directory.

⌨️ Development

Install Dependencies

npm install

Run Tests

# Run all tests
npm test

# Run tests with coverage
npm test -- --coverage

# Run tests in watch mode
npm test -- --watch

Build for Distribution

# Create distributable package
npm pack

# Test the package locally
npx ./chan-meng-1.0.0.tgz

Development Scripts:

npm test          # Run Jest test suite
npm run lint      # Run ESLint (when configured)
npm pack          # Create tarball for distribution

📊 Technical Highlights

Performance Metrics:

  • < 5s Startup time with lazy loading
  • 🎯 80%+ Test coverage (lines)
  • 📦 7 Dependencies (within constitutional limit of 10)
  • 💨 ~1MB Package size

Code Quality:

  • ES Modules: Modern JavaScript architecture
  • Jest Testing: Comprehensive unit and integration tests
  • Spec-Driven Development: Built using Spec Kit methodology
  • Constitutional Constraints: Principled dependency management

Accessibility:

  • Terminal Detection: Automatic capability detection
  • 🎨 Graceful Degradation: Works on limited terminals
  • 🌍 Universal Compatibility: Cross-platform support (Linux, macOS, Windows)

🤝 Contributing

Contributions are welcome! This project follows minimalist principles - every addition must justify its existence.

Development Process:

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Follow the existing code style and conventions
  4. Add tests for new functionality
  5. Ensure all tests pass (npm test)
  6. Submit a pull request

Contribution Guidelines:

  • Respect the constitutional limit of 10 dependencies
  • Maintain startup time < 5 seconds
  • Add meaningful tests (maintain 80%+ coverage)
  • Update documentation as needed
  • Follow the minimalist philosophy

📄 License

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

Open Source Benefits:

  • ✅ Commercial use allowed
  • ✅ Modification allowed
  • ✅ Distribution allowed
  • ✅ Private use allowed

👤 Author

Chan Meng - Senior AI/ML Infrastructure Engineer


Star this project • 📖 Read the Code • 🐛 Report Issues • 🤝 Contribute

Built with Spec-Driven Development using Spec Kit