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

eid-cli

v0.2.3

Published

Eid CLI with Hijri-aware Eid, Shawwal, and Islamic date status.

Readme

eid-cli

Eid CLI is a terminal tool for Eid information and Hijri-aware Eid status. It supports first-run setup, saved config, and script-friendly output.

Install

npx eid-cli

# or install globally
npm install -g eid-cli@latest
eid-cli

Usage

# Default Eid status for today.
npx eid-cli
eid-cli

# Explicit Eid mode.
eid-cli --eid al-fitr
eid-cli --eid al-adha

# Script-friendly output.
eid-cli --json
eid-cli --status
eid-cli --status --eid al-adha

# Plain text without banner styling.
eid-cli --plain

# Saved config.
eid-cli config --city "<city>" --country "<country>" --timezone "<timezone>" --method 3 --calendar islamic
eid-cli config --show
eid-cli config --clear

# Reset saved config.
eid-cli reset

First Run

On first run in an interactive terminal:

  1. eid-cli tries to detect your approximate network location
  2. it asks for your city
  3. it resolves that city to a country and timezone when possible
  4. it asks for calculation method and Hijri calendar
  5. it saves your config for later runs

Important:

  • IP-based detection is approximate and may return a nearby city or network exit city
  • if the detected city is wrong, just type your actual city
  • --json and --status skip interactive setup

CLI Surface

eid-cli [city] [options]
eid-cli reset
eid-cli config [options]

Notes:

  • Default run is the current Eid status view
  • Passing a city is one-off and does not overwrite saved default location

Flags and Arguments

Main command flags (eid-cli [city]):

| Flag | Type | Default | Behavior | | --- | --- | --- | --- | | [city] | string | saved location | One-off city lookup; does not overwrite saved default | | -c, --city <city> | string | none | Same as city arg | | --country <country> | string | saved config | One-off country override | | --timezone <timezone> | string | saved/detected | One-off timezone override | | --method <id> | number | saved/recommended | One-off calculation method override | | --calendar <id> | string | saved config | One-off Hijri calendar override | | -e, --eid <eid> | string | auto | al-fitr, al-adha, or auto | | -d, --date <YYYY-MM-DD> | string | today | Gregorian date override | | -p, --plain | boolean | false | Plain text output without banner styling | | -j, --json | boolean | false | JSON-only output for scripts | | -s, --status | boolean | false | Single-line status output | | -v, --version | boolean | n/a | Print version only | | -h, --help | boolean | n/a | Show help |

Config flags (eid-cli config):

| Flag | Type | Behavior | | --- | --- | --- | | --city <city> | string | Save city | | --country <country> | string | Save country | | --timezone <timezone> | string | Save timezone | | --method <id> | number | Save calculation method (0..23) | | --calendar <id> | string | Save Hijri calendar | | --show | boolean | Print saved config | | --clear | boolean | Clear saved config |

Reset command:

  • eid-cli reset clears saved location, method, timezone, and Hijri calendar.

I/O Contract

  • stdout:
    • primary output (styled/plain/json/status)
    • version output (-v) prints version only
  • stderr:
    • runtime and validation errors
  • --json:
    • prints structured JSON to stdout on success
    • prints structured JSON error payload to stderr on failure
  • Exit codes:
    • 0 success
    • 1 runtime/validation/network/data failure

Config and Precedence

Data sources:

  • flags and args for the current invocation
  • saved config from first-run setup or eid-cli config
  • detected network location as suggestion during setup

Resolution behavior:

  • one-off city arg/flag wins for that invocation but is not persisted
  • saved config is used when no one-off input is provided
  • EID_CLI_CONFIG_DIR controls where config is stored