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

@kolatts/pncli

v1.13.0

Published

The Paperwork Nightmare CLI — One command does what three meetings couldn't.

Readme

pncli — The Paperwork Nightmare CLI

npm docs

One command does what three meetings couldn't.

pncli gives AI coding agents (and humans) structured CLI access to Jira, Bitbucket, Confluence, SonarQube, SDElements, Azure DevOps Server, Jenkins, JFrog Artifactory, IBM UrbanCode Deploy, and Checkmarx. No MCP servers required. No meetings to schedule. No forms to fill out.

Why?

Your org blocked MCP. Your agents still need to review PRs, create issues, and manage code reviews. pncli is the shim layer that makes it work — one npm install and you're cutting through red tape.

Install

npm install -g @kolatts/pncli

Quick Start

# Configure your global auth (Jira, Bitbucket, Confluence)
pncli config init

# Add repo-level defaults (check this into git)
pncli config init --repo

For workflow patterns, command examples, and agent integration, see the Getting Started page or the raw copilot-instructions.md.

Configuration

pncli uses a three-layer config system (highest priority wins):

| Layer | File | Contains | In Git? | |-------|------|----------|---------| | Env vars | PNCLI_* | Auth overrides, CI secrets | No | | Repo config | .pncli.json | Team defaults (project, issue type, priority, target branch) | Yes | | Global config | ~/.pncli/config.json | Auth, server URLs, personal defaults | No |

Environment Variables

| Variable | Description | |----------|-------------| | PNCLI_EMAIL | Your email address (used across Jira, Bitbucket, etc.) | | PNCLI_USERID | Your user ID or username | | PNCLI_JIRA_BASE_URL | Jira base URL | | PNCLI_JIRA_API_TOKEN | Jira API token | | PNCLI_BITBUCKET_BASE_URL | Bitbucket Server base URL | | PNCLI_BITBUCKET_PAT | Bitbucket personal access token | | PNCLI_CONFLUENCE_BASE_URL | Confluence base URL | | PNCLI_CONFLUENCE_API_TOKEN | Confluence API token (falls back to Jira token if unset) | | PNCLI_SONAR_BASE_URL | SonarQube Server base URL | | PNCLI_SONAR_TOKEN | SonarQube personal access token | | PNCLI_SDE_CONNECTION | SDElements connection string (api-token@hostname, e.g. [email protected]) | | PNCLI_ADO_BASE_URL | Azure DevOps Server base URL | | PNCLI_ADO_PAT | Azure DevOps Server personal access token | | PNCLI_JENKINS_BASE_URL | Jenkins base URL | | PNCLI_JENKINS_USERNAME | Jenkins username | | PNCLI_JENKINS_API_TOKEN | Jenkins API token | | PNCLI_ARTIFACTORY_BASE_URL | JFrog Artifactory base URL | | PNCLI_ARTIFACTORY_TOKEN | Artifactory access token | | PNCLI_ARTIFACTORY_REPO_NPM | Artifactory virtual npm repository name | | PNCLI_ARTIFACTORY_REPO_NUGET | Artifactory virtual NuGet repository name | | PNCLI_ARTIFACTORY_REPO_MAVEN | Artifactory virtual Maven repository name | | PNCLI_UDEPLOY_BASE_URL | IBM UrbanCode Deploy base URL | | PNCLI_UDEPLOY_PAT | IBM UrbanCode Deploy personal access token | | PNCLI_UDEPLOY_USERNAME | IBM UrbanCode Deploy username (alternative to PAT) | | PNCLI_UDEPLOY_PASSWORD | IBM UrbanCode Deploy password (used with PNCLI_UDEPLOY_USERNAME) | | PNCLI_CHECKMARX_BASE_URL | Checkmarx CxSAST base URL | | PNCLI_CHECKMARX_USERNAME | Checkmarx username | | PNCLI_CHECKMARX_PASSWORD | Checkmarx password | | PNCLI_CONFIG_PATH | Override global config file path |

For AI Agents

pncli is designed agent-first:

  • Every command returns structured JSON to stdout
  • Errors are JSON too — always check "ok"
  • --dry-run lets agents preview before executing
  • See copilot-instructions.md for workflow patterns

Global Flags

--pretty                Human-readable formatted output (default: compact JSON)
--verbose               Include full API response metadata
--dry-run               Print the API request without executing
--config <path>         Override global config file location
--output-file <path>    Write JSON output to file instead of stdout

Commit Convention

This project uses Conventional Commits for automatic versioning:

  • fix: ... → patch
  • feat: ... → minor
  • feat!: ... → major

Services

| Service | Status | Designed for | Auth methods | |---------|--------|--------------|--------------| | Git (local) | ✅ Active | Any git version | — (local git commands) | | Jira | ✅ Active | Jira Data Center 9.x / 10.x | email + API token | | Bitbucket | ✅ Active | Bitbucket Server / Data Center 8.x–9.x | HTTP access token (PAT) | | Confluence | ✅ Active | Confluence Data Center 8.x / 9.x | email + API token | | SonarQube | ✅ Active | SonarQube Server 9.x / 10.x | user token | | SDElements | ✅ Active | SDElements cloud + on-prem (REST API v2) | connection string (token@hostname) | | Azure DevOps Server | ✅ Active | ADO Server 2020+ (REST API 7.1) | personal access token (PAT) | | Jenkins | ✅ Active | Jenkins 2.x LTS (Data Center) | username + API token | | JFrog Artifactory | ✅ Active | Artifactory 7.x | bearer token | | IBM UrbanCode Deploy | ✅ Active | UCD 7.x | PAT or username + password | | Checkmarx | ✅ Active | CxSAST 9.x (on-prem) | username + password (OAuth2 password grant — pncli handles token exchange) |

License

Apache 2.0 — see LICENSE and NOTICE.