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

@tchayen/oru

v0.0.6

Published

oru - agent-friendly todo CLI with offline sync

Readme

 ██████╗ ██████╗ ██╗   ██╗
██╔═══██╗██╔══██╗██║   ██║
██║   ██║██████╔╝██║   ██║
██║   ██║██╔══██╗██║   ██║
╚██████╔╝██║  ██║╚██████╔╝
 ╚═════╝ ╚═╝  ╚═╝ ╚═════╝

Personal task manager for the terminal. Designed to be operated by your AI agent.

SQLite database on your machine. No accounts. No cloud. Pass --json to any command for machine-readable output.

Install

curl -fsSL https://oru.sh/install.sh | bash

Requires Node 22+.

Or install via npm:

npm install -g @tchayen/oru

Quick start

oru add "Write README for release"
oru add "Fix login bug" -p high -d friday -l backend
oru add "Water plants" -r "every 3 days" -d today
oru list
oru context                  # what needs your attention right now
oru done <id>                # recurring tasks auto-spawn the next occurrence

Commands

| Command | Description | | -------------------- | --------------------------------------------------------------- | | add <title> | Add a new task | | list | List tasks (hides done by default) | | get <id> | Get a task by ID | | update <id> | Update a task | | edit <id> | Open task in $EDITOR | | done <id...> | Mark tasks as done | | start <id...> | Mark tasks as in_progress | | review <id...> | Mark tasks as in_review | | delete <id...> | Delete tasks | | context | Summary of overdue, due soon, in progress, and actionable tasks | | labels | List all labels in use | | log <id> | Show change history of a task | | filter add <name> | Save a named filter (same flags as list) | | filter list | List saved filters | | filter show <name> | Show a filter's definition | | filter remove | Delete a saved filter | | sync <path> | Sync with a filesystem remote | | backup [path] | Create a database backup snapshot | | config init | Create a default config file | | completions | Generate shell completions (bash, zsh, fish) | | self-update | Update oru to the latest version |

Agent usage

oru is built to be operated by AI agents. Pass --json to any command for structured output. Pass --id to add for idempotent task creation. Attach --meta key=value pairs for agent-specific data.

# Agent creates a task with a known ID (idempotent)
oru add "Refactor auth module" --id A1b2C3d4E5f \
  -p high -l backend --meta agent=claude --json

# Agent reads what needs attention
oru context --json

# Agent updates a task (prefix match on IDs)
oru update A1b -s in_progress --meta pr=142 --json

# Create a recurring task (auto-spawns next occurrence when done)
oru add "Weekly standup" -r "every monday" -d "next monday" --json

Set ORU_FORMAT=json or output_format = "json" in config to default to JSON output.

MCP server

oru ships with an MCP server so AI agents can manage tasks through the standardized protocol.

Claude Desktop / Claude Code

Add to your MCP config:

{
  "mcpServers": {
    "oru": {
      "command": "npx",
      "args": ["-p", "@tchayen/oru@latest", "oru-mcp"]
    }
  }
}

Or if oru is installed globally (npm install -g @tchayen/oru):

{
  "mcpServers": {
    "oru": {
      "command": "oru-mcp"
    }
  }
}

Available tools

| Tool | Description | | ------------- | --------------------------------- | | add_task | Create a new task | | update_task | Update fields on an existing task | | delete_task | Delete a task by ID | | list_tasks | List tasks with optional filters | | get_task | Get a single task by ID | | get_context | Summary of what needs attention | | add_note | Append a note to a task | | list_labels | List all labels in use |

Configuration

oru config init # creates ~/.oru/config.toml with documented options

Key options:

  • date_format - "mdy" (US) or "dmy" (international)
  • first_day_of_week - "monday" or "sunday"
  • output_format - "text" or "json"
  • backup_path - directory for automatic backups
  • backup_interval - minutes between auto-backups (default: 60)

Sync

oru syncs between machines via a shared filesystem (Dropbox, iCloud Drive, NAS, etc.):

oru sync ~/Dropbox/oru-sync

Conflict resolution is automatic: last-write-wins per field, updates beat deletes, notes append with dedup. The oplog is the source of truth.

Data

Everything is stored locally in ~/.oru/oru.db (SQLite). Override with ORU_DB_PATH.