Skip to content

【极简生活 Minimalist Living ⭐ Give us a star!】NPX-executable CLI introducing Chan Meng through interactive storytelling. Built with Node.js 18+, ES2022, featuring ASCII art, gradient colors, progress tracking, and beautiful terminal UI. Zero installation: npx chan-meng

License

Notifications You must be signed in to change notification settings

ChanMeng666/chan-meng-cli

Repository files navigation

🎭 Chan Meng

Interactive 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

2025-10-03.21-57-27.mp4

🖼️ Interface Showcase

Welcome Screen with Gradient ASCII Art

🎨 Welcome Screen
Vibrant gradient ASCII art with minimalist tagline

Interactive Main Menu

🎯 Interactive Menu
Choose between Quick Tour and Full Experience

The Journey Module

🗺️ The Journey
Story-driven exploration of minimalist philosophy

Philosophy Module

💭 Philosophy
Deep dive into minimalist principles

Connect Module

📧 Connect
Multiple ways to get in touch with Chan Meng

📑 Table of Contents

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
Chan Meng

Creator & Lead Developer

Chan Meng - Senior AI/ML Infrastructure Engineer


🎭 Built with Minimalist Principles 🌟
此时此刻没用,就应该扔掉 - If it's not useful right now, discard it.

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



Built with Spec-Driven Development using Spec Kit


About

【极简生活 Minimalist Living ⭐ Give us a star!】NPX-executable CLI introducing Chan Meng through interactive storytelling. Built with Node.js 18+, ES2022, featuring ASCII art, gradient colors, progress tracking, and beautiful terminal UI. Zero installation: npx chan-meng

Topics

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •