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

@bhumika-ai/op

v0.1.2

Published

CLI for managing OpenProject — projects, work packages, users, and more

Readme

@bhumika-ai/op

A command-line interface for managing OpenProject instances. Manage projects, work packages, users, relations, and more — straight from the terminal.

Installation

npm install -g @bhumika-ai/op

This installs a platform-specific compiled binary (no runtime dependencies required). Supported platforms:

| Platform | Architecture | |----------|-------------| | Linux | x64, arm64 | | macOS | x64, arm64 | | Windows | x64 |

Authentication

Log in to your OpenProject instance before running any other commands.

API token (recommended):

op auth login https://openproject.example.com --token YOUR_API_TOKEN

Basic auth (username + password):

op auth login https://openproject.example.com --user admin --password secret

Credentials are stored locally via the conf library. Run op config show to see the config file path.

Quick Start

# List all projects
op projects list

# Create a work package
op wp create --project my-project --subject "Fix login bug" --type 1 --priority 2

# View a work package
op wp view 42

# Show the dependency graph for a work package
op wp relations graph 42 --depth 4

# Check your notification inbox
op inbox list

# See who you're logged in as
op users me

Command Reference

op auth — Manage authentication

| Command | Description | |---------|-------------| | op auth login <url> | Log in to an OpenProject instance | | op auth status | Show authentication status | | op auth logout | Log out and clear stored credentials |

op auth login <url> options:

| Option | Description | |--------|-------------| | --token <token> | Authenticate with an API token | | --user <username> | Username for basic auth | | --password <password> | Password for basic auth |

Provide either --token or both --user and --password.


op config — Manage CLI configuration

| Command | Description | |---------|-------------| | op config set-url <url> | Set the OpenProject instance URL | | op config set-token <token> | Set the API authentication token | | op config show | Show current configuration |


op projects — Manage projects

Alias: op project

| Command | Description | |---------|-------------| | op projects list | List all projects | | op projects view <id> | View a project by ID or identifier | | op projects create | Create a new project | | op projects update <id> | Update a project | | op projects delete <id> | Delete a project |

op projects list options:

| Option | Description | Default | |--------|-------------|---------| | -p, --page <number> | Page number | 1 | | -s, --page-size <number> | Items per page | 20 | | -a, --all | Fetch all pages | — |

Alias: op projects ls

op projects create options:

| Option | Description | Required | |--------|-------------|----------| | -n, --name <name> | Project name | Yes | | -i, --identifier <id> | Project identifier (slug) | No | | -d, --description <text> | Project description | No | | --public | Make the project public | No |

op projects update <id> options:

| Option | Description | |--------|-------------| | -n, --name <name> | New project name | | -d, --description <text> | New description | | --public | Make public | | --private | Make private |


op work-packages — Manage work packages

Alias: op wp

| Command | Description | |---------|-------------| | op wp list | List work packages | | op wp view <id> | View a work package by ID | | op wp create | Create a new work package | | op wp update <id> | Update a work package | | op wp delete <id> | Delete a work package |

op wp list options:

| Option | Description | Default | |--------|-------------|---------| | --project <id> | Filter by project ID or identifier | — | | --status <name> | Filter by status name | — | | --assignee <name> | Filter by assignee name | — | | --type <name> | Filter by type name | — | | --include-closed | Include closed work packages | off | | -p, --page <number> | Page number | 1 | | -s, --page-size <number> | Items per page | 20 | | -a, --all | Fetch all pages | — |

Alias: op wp ls

By default, only open work packages are shown. Use --include-closed to see everything.

op wp create options:

| Option | Description | Required | |--------|-------------|----------| | --project <id> | Project ID | Yes | | --subject <text> | Work package subject | Yes | | --type <id> | Type ID | No | | --status <id> | Status ID | No | | --priority <id> | Priority ID | No | | --assignee <id> | Assignee user ID | No | | --parent <id> | Parent work package ID | No | | --description <text> | Description (markdown) | No | | --start-date <date> | Start date (YYYY-MM-DD) | No | | --due-date <date> | Due date (YYYY-MM-DD) | No | | --estimated-time <duration> | Estimated time (e.g. PT8H) | No | | --no-notify | Suppress email notifications | No |

op wp update <id> options:

| Option | Description | |--------|-------------| | --subject <text> | New subject | | --status <id> | New status ID | | --priority <id> | New priority ID | | --assignee <id> | New assignee user ID | | --type <id> | New type ID | | --parent <id> | New parent work package ID | | --description <text> | New description (markdown) | | --start-date <date> | Start date (YYYY-MM-DD) | | --due-date <date> | Due date (YYYY-MM-DD) | | --estimated-time <duration> | Estimated time (e.g. PT8H) | | --no-notify | Suppress email notifications |


op wp attachments — Work package attachments

| Command | Description | |---------|-------------| | op wp attachments list <wp-id> | List attachments on a work package | | op wp attachments upload <wp-id> | Upload a file to a work package | | op wp attachments download <attachment-id> | Download an attachment |


op wp comments — Work package comments

| Command | Description | |---------|-------------| | op wp comments list <wp-id> | List comments on a work package | | op wp comments add <wp-id> | Add a comment to a work package | | op wp comments update <activity-id> | Update a comment |


op wp relations — Work package relations

Alias: op wp rel

| Command | Description | |---------|-------------| | op wp relations list <wp-id> | List relations for a work package | | op wp relations add <wp-id> | Create a relation from a work package | | op wp relations update <relation-id> | Update a relation | | op wp relations remove <relation-id> | Delete a relation | | op wp relations graph <wp-id> | Display a dependency graph |

op wp relations add <wp-id> options:

| Option | Description | Required | |--------|-------------|----------| | --to <wp-id> | Target work package ID | Yes | | --type <type> | Relation type (see below) | Yes | | --lag <days> | Lag in working days (for follows/precedes) | No | | --description <text> | Description of the relation | No |

Valid relation types: relates, duplicates, duplicated, blocks, blocked, precedes, follows, includes, partof, requires, required

op wp relations graph <wp-id> options:

| Option | Description | Default | |--------|-------------|---------| | --depth <n> | Maximum traversal depth | 3 | | --types <types> | Comma-separated relation types to include | all |


op users — Manage users

Alias: op user

| Command | Description | |---------|-------------| | op users list | List users | | op users view <id> | View a user by ID | | op users find <name> | Search for a user by name | | op users me | View the currently authenticated user |


op inbox — Notification inbox

| Command | Description | |---------|-------------| | op inbox list | List unread notifications | | op inbox view <id> | View a notification | | op inbox read <id> | Mark a notification as read | | op inbox read-all | Mark all notifications as read | | op inbox unread <id> | Mark a notification as unread |


op statuses — View work package statuses

| Command | Description | |---------|-------------| | op statuses list | List all available statuses |


op types — View work package types

| Command | Description | |---------|-------------| | op types list | List all work package types |


op priorities — View priority levels

| Command | Description | |---------|-------------| | op priorities list | List all priority levels |


op admin users — Administrative user management

Requires admin privileges on the OpenProject instance.

| Command | Description | |---------|-------------| | op admin users create | Create a new user | | op admin users update <id> | Update a user | | op admin users delete <id> | Delete a user | | op admin users lock <id> | Lock a user account | | op admin users unlock <id> | Unlock a user account |

Pagination

All list commands support pagination:

| Option | Description | Default | |--------|-------------|---------| | -p, --page <number> | Page number | 1 | | -s, --page-size <number> | Items per page | 20 | | -a, --all | Fetch all pages | — |

Aliases

| Long form | Short form | |-----------|------------| | op projects | op project | | op projects list | op projects ls | | op work-packages | op wp | | op work-packages list | op wp ls | | op work-packages relations | op wp rel | | op users | op user | | op users list | op users ls | | op statuses | op status | | op types | op type | | op priorities | op priority | | op admin users | op admin user |

Requirements

  • An OpenProject instance (v13+) with API access enabled

License

UNLICENSED