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

@tplog/zendcli

v1.4.0

Published

Minimal Zendesk CLI for tickets and comments (Rust)

Downloads

1,330

Readme

zendcli

Minimal Zendesk CLI for listing tickets and reading ticket comment timelines.

zend comments returns a slim timeline optimized for terminal review and LLM summarization. By default it includes both public and private comments and emits only:

  • author
  • time
  • visibility (public or private)
  • body

Install

npm install -g @tplog/zendcli

Configure

Option 1: interactive setup

zend configure

Credentials are stored locally in:

~/.zendcli/config.json

The CLI writes this file with restricted permissions.

Option 2: environment variables

This is the recommended option for temporary or CI usage.

export ZENDESK_SUBDOMAIN="your-subdomain"
export ZENDESK_EMAIL="[email protected]"
export ZENDESK_API_TOKEN="your_zendesk_api_token"

Environment variables take precedence over the config file.

Usage

zend --help
zend ticket --help
zend email --help
zend follower --help
zend comments --help
zend 12345
zend ticket 12345 --raw
zend email [email protected]
zend email [email protected] --status unresolved
zend email [email protected] --status open,pending
zend follower [email protected] --limit 3
zend comments 12345
zend comments 12345 --visibility public
zend comments 12345 --visibility private --sort desc

Comments output shape

[
  {
    "author": "Support Agent",
    "time": "2026-03-13T06:19:57Z",
    "visibility": "public",
    "body": "Reply text..."
  }
]

Use --visibility public or --visibility private to filter the timeline.

Development workflow

Daily development

  1. Create a feature branch from main
  2. Develop locally
  3. Commit as needed
  4. Push branch to GitHub
  5. Open a PR to main
  6. Merge after CI passes

Example:

git checkout main
git pull
git checkout -b feat/some-change

# work locally
npm ci
npm run build

git add .
git commit -m "feat: add some change"
git push -u origin feat/some-change

Release workflow

This repository uses a safer release flow:

  • normal merges to main do not publish automatically
  • npm publishing happens only when a version tag is pushed
  • the release tag must match package.json version exactly

Publish a new version

  1. Make sure main is in the state you want to release
  2. Bump the version locally
  3. Push main and the new tag
  4. GitHub Actions publishes to npm
git checkout main
git pull
npm version patch
git push origin main --tags

Or for a feature release:

npm version minor
git push origin main --tags

This creates tags like v0.1.2, and the publish workflow verifies that the tag matches package.json.

CI/CD

  • CI: runs on branch pushes, PRs to main, and pushes to main
  • Publish to npm: runs only on v* tags or manual trigger

Trusted publishing

The publish workflow is set up for npm trusted publishing via GitHub Actions OIDC.

Recommended setup on npm:

  1. Go to the package settings on npm
  2. Add a Trusted Publisher for GitHub Actions
  3. Point it to:
    • owner: tplog
    • repo: zendcli
    • workflow file: publish.yml

This avoids storing long-lived npm tokens in the repository.

Security notes

  • Never commit real Zendesk credentials
  • Prefer environment variables for temporary use
  • If a token is ever exposed, revoke and rotate it immediately
  • Do not store npm publish credentials in the repo or in gitignored files