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

bsky_client

v1.1.4

Published

Command-line interface for Bluesky social media interactions

Readme

bsky_cli

A command-line interface for the Bluesky social network (ATProto). Handles authentication, posts, replies, likes, follows, and search.

Installation

npm install
npm run build

Usage

All examples use npx tsx ./src/cli.ts for development. After building, use node dist/cli.js or the bsky_cli bin.

Authentication

# Log in with your handle and an app password
npx tsx ./src/cli.ts login -u handle.bsky.social -p <app-password>

# Check current session
npx tsx ./src/cli.ts status

# Log out
npx tsx ./src/cli.ts logout

App passwords: Bluesky Settings > Privacy & Security > App Passwords. Session is persisted in ~/.bsky_cli/session.json between calls.

Posts

# Create a post (max 300 chars)
npx tsx ./src/cli.ts posts create "Hello from bsky_cli!"

# List your recent posts
npx tsx ./src/cli.ts posts list
npx tsx ./src/cli.ts posts list -l 25

# Get posts from another user
npx tsx ./src/cli.ts posts from someone.bsky.social

# View a specific post
npx tsx ./src/cli.ts posts view at://did:plc:.../app.bsky.feed.post/...

# Delete a post
npx tsx ./src/cli.ts posts delete at://did:plc:.../app.bsky.feed.post/...

Replies, likes, follows

# Reply to a post (URI from posts list / search)
npx tsx ./src/cli.ts reply <uri> "Great post!"

# Like / unlike
npx tsx ./src/cli.ts like <uri>
npx tsx ./src/cli.ts unlike <uri>

# Follow / unfollow
npx tsx ./src/cli.ts follow handle.bsky.social
npx tsx ./src/cli.ts unfollow handle.bsky.social

Search

# Full-text post search
npx tsx ./src/cli.ts search posts "typescript"
npx tsx ./src/cli.ts search posts "typescript" -l 25 --sort top

# Find accounts
npx tsx ./src/cli.ts search users "alice"

# Advanced search with filters
npx tsx ./src/cli.ts search advanced "rust lang" \
  --author someone.bsky.social \
  --since 2025-01-01 \
  --until 2025-12-31 \
  --language en \
  --limit 50

# Show search help and examples
npx tsx ./src/cli.ts search help

Advanced search filter options:

| Option | Description | |--------|-------------| | --type <type> | Content type: posts, replies, reposts | | --author <handle> | Filter by author handle | | --since <date> | Results after date (YYYY-MM-DD) | | --until <date> | Results before date (YYYY-MM-DD) | | --language <lang> | Filter by language code (en, es, fr, …) |

Install skill

npx tsx ./src/cli.ts install --skills

Copies the bsky_cli skill into the current agent folder.

Global options

| Option | Description | |--------|-------------| | --json | Output results as JSON | | -l, --limit <n> | Result count (default 10) |

Development

npm run typecheck   # type-check without building
npm run build       # compile to dist/
npm run dev         # run via tsx (no build needed)

Architecture

  • src/cli.ts — Commander.js CLI and command wiring
  • src/libs/bluesky_client.ts — ATProto API wrapper
  • src/libs/session_manager.ts — local session persistence (~/.bsky_cli/session.json)
  • src/libs/output.ts — human/JSON output formatting
  • src/types.ts — shared types
  • src/commands/ — one file per command group (login, logout, status, posts, reply, like, follow, search, install)