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

clidoro

v1.1.0

Published

A Pomodoro CLI using Termini for terminal UI

Readme

clidoro

clidoro

Pomodoro timer for the terminal. Built for humans and AI agents.

Install

npx clidoro

Or globally:

npm i -g clidoro

For agents, use skills

npx skills add ahmadawais/clidoro

Interactive Mode (default)

Just run clidoro with no arguments to launch the interactive TUI.

clidoro

Then press a to add tasks, navigate with ↑↓, and hit enter to start a pomodoro. The interface will show a real-time countdown, progress bar, and 🍅 tomato count for each task. Press c to complete a task or session early. Press b to start a break. Use the keyboard shortcuts below to manage your sessions and tasks.

Keyboard shortcuts:

| Key | Action | |-----|--------| | ↑↓| Navigate tasks | | enter | Start pomodoro on selected task | | a | Add new task | | c | Complete task (in task list) or complete session early (during timer) | | d | Delete task (press twice to confirm) | | b | Start break | | p | Choose timer preset | | h | Show/hide completed tasks | | space | Pause/resume session | | x | Cancel session | | q | Quit |

Features:

  • Real-time countdown with progress bar
  • Tracks actual time spent (early completion supported)
  • 🍅 tomato count per task
  • Auto long break every 4 pomodoros
  • Desktop notifications and sound alerts
  • Vertically centered, responsive layout

CLI Mode

Every action is also available as a one-shot command with --json support.

Tasks

clidoro add "Write docs"          # Add a task → #1
clidoro edit 1 "Write README"     # Rename task #1
clidoro list                      # List all tasks
clidoro done 1                    # Mark task done
clidoro remove 1                  # Delete task

Sessions

clidoro start 1                   # Start 25min pomodoro on task #1
clidoro start 1 --break           # Start a break
clidoro start 1 --duration 15     # Custom duration (minutes)
clidoro start 1 --preset "Long Work"  # Use a preset
clidoro pause                     # Pause active session
clidoro resume                    # Resume paused session
clidoro complete                  # Complete session (records actual time)
clidoro cancel                    # Cancel without recording

Status

clidoro status                    # Human-readable status
clidoro status --json             # JSON status
clidoro status --flag             # Single word: idle, work, break, paused

Stats

clidoro stats                     # Full stats overview
clidoro stats --daily             # Today's stats
clidoro stats --weekly            # Last 7 days
clidoro stats --all               # All-time totals
clidoro stats --streak            # Current day streak
clidoro history --limit 10        # Recent sessions

Config

clidoro config                    # View all settings
clidoro config --set workDuration=30    # Set work to 30min
clidoro config --set breakDuration=10   # Set break to 10min
clidoro config --set autoStartBreak=true
clidoro config --set soundEnabled=true
clidoro config --set soundType=chime    # bell, chime, ding, none
clidoro config --reset            # Reset to defaults
clidoro presets                   # List timer presets

All commands support --json for machine-readable output.

Agent Integration

For AI agents and scripts, use the flag and JSON output modes:

# Check state with a single word
clidoro status --flag    # → idle, work, break, or paused

# Full structured output
clidoro status --json
clidoro list --json
clidoro stats --json

# Scripting example
if [ "$(clidoro status --flag)" = "idle" ]; then
  clidoro start 1
fi

See skills/clidoro/skill.md for the agent skill definition.

Config & State

  • State: ~/.clidoro/state.json (tasks, sessions)
  • Config: ~/.clidoro/config.json (preferences)
  • Default: 25min work, 5min break, 15min long break (every 4th)

Presets

| Name | Work | Break | |------|------|-------| | Standard | 25min | 5min | | Short Work | 15min | 3min | | Long Work | 50min | 10min | | Quick Break | 25min | 1min |

Development

pnpm run dev          # Run with tsx
pnpm run build        # Compile TypeScript
pnpm run typecheck    # Type check only
pnpm run test         # Run tests

License

Apache-2.0 by Ahmad Awais built with Command Code.