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

tweetapus

v0.20260718.22

Published

CLI wrapper for the Tweetapus tweeta client

Readme

tweeta-cli

tweeta is a C/libcurl command-line client for Tweetapus, designed for AI agents and automation.

It exposes:

  • Named subcommands for the full Tweetapus API, including admin-only endpoints.
  • A universal request escape hatch for debugging or newly-added upstream endpoints.
  • Tweetapus-compatible request headers required by the upstream API.

Install from source:

make
make install

Install from npm:

npm install -g tweetapus

The npm package is published as tweetapus and contains prebuilt static tweeta binaries for all supported platforms, so installation on the end user's machine does not compile anything and does not fetch additional artifacts. This makes the npm install much larger than building or installing with make: the binaries are statically linked except for libc on macOS, which cannot be statically linked and therefore is not, and the package includes all four platform binaries regardless of the platform installing it. As of this writing, a locally built dynamically linked AMD64 Linux binary is 148KB on my system because it only includes one binary for that machine; the npm install is nearly 61MB.

The package is published from CI after a successful default-branch release.

When the package is published, it is intended to be assembled before publish by downloading release assets from https://github.com/tweetapus/tweeta-cli/releases/latest. It expects assets named:

  • tweeta-linux-x64
  • tweeta-linux-arm64
  • tweeta-darwin-x64
  • tweeta-darwin-arm64

Native Windows builds are not currently supported and are unlikely to receive first-class support. Windows users can run tweeta through WSL using the install or build instructions above.

For packaging, you can override the release API URL with TWEETA_INSTALL_RELEASE_URL, or inject the full release payload with TWEETA_INSTALL_RELEASE_JSON. If npm-binaries/ is already populated, prepack will reuse those files; set TWEETA_PREPACK_REFRESH=1 to force a fresh download during publish.

Publishing:

GitHub Actions is intended to publish a GitHub release on every branch push. The generated release version is numeric-only and uses the form 0.YYYYMMDD.RUN_NUMBER. Pushes outside the default branch are marked as prereleases so the default-branch release remains the one exposed by releases/latest.

Configure:

tweeta config set-base https://example.com
tweeta auth login alice 'password'

Named API access:

tweeta routes
tweeta auth me
tweeta tweets create --content 'hello'
tweeta admin verify USER_ID --verified true
tweeta admin update-user USER_ID --character_limit 10000
tweeta admin delete-post POST_ID

Examples:

tweeta me
tweeta timeline home --limit 20
tweeta tweet create --content 'hello from an agent'
tweeta tweets create --content 'hello from the full command table'
tweeta tweet like POST_ID
tweeta profile get alice
tweeta profile follow alice
tweeta upload media ./image.png
tweeta upload get --id POST_ID > attachment.bin
tweeta upload get --id POST_ID --all
tweeta upload get --id POST_ID --really-all > first-attachment.bin
tweeta admin users --search alice
tweeta admin user USER_ID
tweeta admin suspend USER_ID --reason spam --action suspend --duration 60
tweeta admin unsuspend USER_ID
tweeta admin stats

Command format:

tweeta GROUP ACTION [POSITIONAL_ARGS...] [--field value...] [--file path]

GET commands turn --field value pairs into query parameters. Mutating commands turn them into JSON bodies automatically, with true, false, null, numbers, arrays, and objects preserved as typed JSON values. Multipart endpoints use --file.

Configuration defaults to $XDG_CONFIG_HOME/tweeta-cli/config or ~/.config/tweeta-cli/config. You can override it with environment variables:

  • TWEETA_BASE_URL
  • TWEETA_TOKEN
  • TWEETA_CONFIG

Run tweeta help for the complete command list.

See ROUTES.md for detailed CLI usage for every named route.

Windows ports

I am willing to endorse a native Windows port if a Windows user wants to create and maintain one. However, this project remains firmly a Unix program. I will not make design or maintenance decisions around Win32 portability, so a Windows port may become difficult to maintain over time.