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

@codewithnuh/pcli

v1.0.0

Published

A zero-dependency production-grade Pomodoro and task management CLI

Readme

🍅 Pomodoro CLI Manager (pcli)

A lightweight, zero-dependency Pomodoro timer and task manager built entirely with native Node.js APIs. Manage your daily tasks, run focused work sessions, and maintain a persistent productivity history directly from your terminal.

Designed for developers, students, and productivity enthusiasts who prefer staying inside the command line.


✨ Features

  • Daily Task Boards — Automatically organizes tasks by date so each day starts with a clean workspace.
  • Persistent History — Stores all tasks and completed Pomodoro sessions locally in your home directory (~/.pcli/tasks.json).
  • Interactive Pomodoro Timer — Run customizable focus and break sessions from the terminal.
  • Cross-Platform Audio Alerts — Plays a bundled alarm.wav using native operating system audio capabilities on Windows, macOS, and Linux.
  • Enum-Driven Status Management — Move tasks explicitly into designated lifecycles (todo, working, done).
  • Zero Dependencies — Built using only Node.js core modules (fs, path, os, readline, and child_process).
  • Global CLI Access — Install once and use from anywhere.

📦 Installation

Install globally from npm:

npm install -g @codewithnuh/pcli

Verify installation:

pcli help

🚀 Quick Start

Create a task:

pcli add "Build authentication middleware"

Explicitly change its status:

pcli status 1 working

Start a Pomodoro session:

pcli start 1

View today's tasks:

pcli list

🛠 Commands

| Command | Description | | --- | --- | | pcli add "title" | Add a new task | | pcli list | Show today's tasks | | pcli history | View complete task history | | pcli edit <id> "title" | Update a task title | | pcli status <id> <target> | Set explicit status (todo | working | done) | | pcli delete <id> | Delete a task | | pcli start <id> | Start a Pomodoro session | | pcli clean | Remove all stored tasks | | pcli help | Display help information |


📋 Usage Examples

Adding Tasks

Create a new task for today:

pcli add "Build authentication middleware"

Output:

✔ Task added successfully! [ID: 1]

Create another task:

pcli add "Design dashboard layout"

Output:

✔ Task added successfully! [ID: 2]

Viewing Today's Tasks

Display all tasks created today:

pcli list

Example output:

📅 Today's Tasks (2026-06-25)

  ID: 1 | ⏳ [TODO] - Build authentication middleware (0 🍅 completed)
  ID: 2 | ✅ [DONE] - Design dashboard layout (2 🍅 completed)

Only tasks from the current date are displayed, keeping your workspace focused and uncluttered.


Updating Task Status

Update an active lifecycle state explicitly using one of the prebuilt system enums: todo, working, or done.

Move to Working state

pcli status 1 working

Output:

✔ Task 1 status updated to: IN-PROGRESS

Complete a task

pcli status 1 done

Output:

✔ Task 1 status updated to: COMPLETED

💡 Passing any value outside of todo, working, or done will safely reject the input with a helpful validation warning without modifying your database.


Editing Tasks

Rename a task by ID:

pcli edit 1 "Build JWT authentication middleware"

Output:

✔ Task 1 updated.

Deleting Tasks

Remove a task permanently:

pcli delete 2

Output:

✔ Task 2 removed.

⏱ Pomodoro Sessions

Start a Pomodoro session:

pcli start 1

The CLI will prompt for durations:

Focus duration in minutes (Default: 25):
Break duration in minutes (Default: 5):

Press Enter to accept the defaults or provide custom values.

Example:

Focus duration in minutes (Default: 25): 50
Break duration in minutes (Default: 5): 10

Focus Phase

After configuration:

🚀 Starting work block for: "Build JWT authentication middleware"

⏳ FOCUS TIME: left...

The task is automatically marked as:

IN-PROGRESS

Focus Completion

When the timer reaches zero:

🎉 Work interval complete! Time for a break.

At the same moment:

  • alarm.wav is played.
  • Pomodoro completion count increases by 1.
  • Break timer begins automatically.

Break Phase

Example:

⏳ BREAK TIME: left...

When the break ends:

💪 Break over! Run `pcli start 1` to launch another block.

📜 Historical Archive

View your complete productivity history:

pcli history

Example output:

📜 Historical Task Archive

▶ 2026-06-25
  [IN-PROGRESS] ID 1: Build JWT authentication middleware (1 mins/sessions)
  [COMPLETED] ID 2: Design dashboard layout (2 mins/sessions)

▶ 2026-06-24
  [COMPLETED] ID 3: Configure PostgreSQL Docker container (4 mins/sessions)

Tasks are automatically grouped by date and sorted from newest to oldest.


🧹 Resetting All Data

Remove every task and Pomodoro record:

pcli clean

Confirmation prompt:

WARNING Are you sure you want to wipe out ALL history? (y/N):

Type:

y

to permanently clear the database.


📂 Data Storage

All data is stored locally:

~/.pcli/tasks.json

Examples:

Linux/macOS

/home/username/.pcli/tasks.json

Windows

C:\Users\Username\.pcli\tasks.json

No cloud services, tracking, or external databases are used.


📄 License

Released under the MIT License.

See the LICENSE file for details.