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 🙏

© 2024 – Pkg Stats / Ryan Hefner

monk-minal

v1.1.1

Published

terminal version of monkeytype

Downloads

163

Readme

Monk-Minal CLI - Typing Practice Terminal Tool

Contributors Forks Stargazers Issues License

Monk-Minal is an interactive, open-source typing practice tool built for the command-line interface (CLI). It brings the functionality and ease of web-based typing tools like MonkeyType directly to your terminal, providing users with a fully offline typing practice experience. With customizable options for game type, time, word count, and difficulty levels, Monk-Minal is the perfect tool to help users improve typing speed and accuracy while enjoying a minimalistic, distraction-free environment.

Whether you're a developer, writer, or just someone looking to improve your typing skills, Monk-Minal offers an engaging and flexible platform with real-time feedback and performance tracking.

Table of Contents

Features

  • Fully Offline: Practice typing without an internet connection.
  • Multiple Game Modes: Choose between time-based, word count, or quote typing challenges.
  • Difficulty Levels: Select from Easy, Medium, or Hard word challenges.
  • Real-Time Feedback: Provides live updates on typing speed, errors, and accuracy.
  • Customizable Time and Word Count: Tailor your sessions with flexible time and word count limits.
  • Detailed Performance Metrics: Track Words Per Minute (WPM), accuracy, and errors to gauge improvement.
  • Command-Line Interface (CLI): Simple and clean interface with intuitive prompts for selection.

Screenshots

Getting Started

Prerequisites

Before you begin, ensure you have Node.js installed on your system. You can verify this by running:

node -v

If Node.js is not installed, download and install it from here.

Installation

  1. Clone the repository:

    git clone https://github.com/shikhar13012001/monk-minal.git
  2. Navigate to the project directory:

    cd monk-minal
  3. Install the required dependencies:

    npm install
  4. Link the package locally for easy CLI access:

    npm link

    Now, you can run the CLI by entering:

    mnm

Running the CLI

To start using Monk-Minal, simply type mnm in your terminal and follow the interactive prompts to customize your typing session.

mnm

You'll be asked to choose the following options:

  • Game Type: Time-based, Word count-based, or a Quote typing challenge.
  • Time/Word Limit: Depending on your selected game mode, you can choose a time or word limit.
  • Difficulty: Select between Easy, Medium, or Hard word difficulty.

The game will start once you press any key. After completing the session, you'll receive feedback on your performance, including your Words Per Minute (WPM), accuracy, and errors.

Game Modes

Monk-Minal offers three distinct game modes to cater to different practice styles:

  1. Time Mode:

    • Focuses on typing for a set duration (15s, 30s, 60s, 120s).
    • Perfect for practicing sustained typing speed over a period of time.
  2. Word Mode:

    • Lets you practice typing a specific number of words (e.g., 10, 20, 30, 40, 50 words).
    • Great for short bursts of typing or focused word count-based exercises.
  3. Quote Mode:

    • Type out randomly selected famous quotes.
    • Ideal for those who want a mix of word challenges and inspirational quotes.

Performance Metrics

Monk-Minal provides real-time feedback and a comprehensive summary of your performance at the end of each session. The performance metrics include:

  • Gross WPM: The total words typed per minute (including errors).
  • Net WPM: Adjusted for accuracy, this value represents your effective typing speed after accounting for errors.
  • Accuracy: A percentage of how many characters you typed correctly, relative to the total characters typed.
  • Errors: Shows where and how many typing errors were made.

This detailed feedback helps track improvement and gives users actionable insights to enhance their typing skills.

Customization

Monk-Minal allows you to customize the following aspects of your typing practice:

Game Type

  • Time: Practice for a set duration.
  • Words: Type a specific number of words.
  • Quote: Type random quotes from a curated list.

Difficulty Levels

Choose from three levels of difficulty to tailor the word selection to your current skill level:

  1. Easy: Generates shorter words (up to 5 characters).
  2. Medium: Generates words with up to 8 characters.
  3. Hard: Generates complex words of varying lengths (8–12 characters), testing your skill and speed.

Time and Word Limits

Monk-Minal offers flexible time and word limits to suit your needs:

  • Time Mode: 15 seconds, 30 seconds, 60 seconds, or 120 seconds.
  • Word Mode: 10, 20, 30, 40, or 50 words.

These customizable options allow you to adjust the challenge level based on your available time and typing goals.

Built With

Monk-Minal is built using the following powerful libraries and modules:

  • Chalk: Terminal string styling and coloring.
  • Enquirer: Interactive prompts for user input.
  • CLI-Spinners: Animated spinners to indicate elapsed time.
  • Random-Words: For generating random words based on difficulty.
  • Readline: Node.js module for handling user input and keypress events.
  • Strip-ANSI: For stripping ANSI escape codes from terminal strings.
  • Ruxe: For wrapping text output to fit terminal width.
  • Ora: Elegant terminal spinners for visual feedback.

Contributing

Contributions are always welcome and appreciated! To contribute:

  1. Fork the repository.
  2. Create your feature branch:
    git checkout -b feature/YourFeatureName
  3. Commit your changes:
    git commit -m 'Add some feature'
  4. Push to the branch:
    git push origin feature/YourFeatureName
  5. Open a pull request.

Please ensure your contributions adhere to the Code of Conduct.

License

Distributed under the MIT License. See LICENSE for more information.

Authors

Acknowledgements

Special thanks to the open-source community for the amazing libraries and tools that made this project possible.