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

xhell

v1.1.1

Published

A CLI tool for X

Readme

xhell

Transform your terminal into a powerful command center for X (Twitter). xhell uses a global configuration system to manage your social presence from any directory on your computer—no more juggling .env files.

Features

Global Authentication
Configure your API keys once, and they are stored securely in your system's global config folder.

Text & Media Posting
Post standard tweets or upload images using the -i flag. xhell handles the complex multi-step process of uploading media to the v1.1 API and linking it to a v2 tweet automatically.

The Undo Button
Made a typo? The undo command tracks the ID of your very last post and deletes it instantly.

Drafts System
Save ideas locally without posting them. You can list all your drafts and clear them as needed.

Account Dashboard
The whoami command gives you a quick snapshot of your followers, following count, and recent activity.

Installation

npm install -g xhell

Getting Started

Step 1: Configure Read and Write Permissions

Before running the setup, you must enable Read and Write permissions for your X Developer App. If you skip this step, you will receive a 403 Forbidden error when trying to post.

In the X Developer Portal:

  1. Navigate to Your App: Go to the X Developer Portal Dashboard and select your App

  2. Open App Settings: Click the gear icon to access Settings

  3. Edit User Authentication Settings: Click the Edit button in the User Authentication Settings section

  4. Set App Permissions: Change the permission level from "Read" to Read and Write

  5. Select App Type: Choose Web App, Automated App or Bot

  6. Fill Required Fields:

    • Callback URI: Enter http://localhost:3000 (required but not used)
    • Website URL: Enter https://google.com (required but not used)
  7. Save Changes: Click Save

  8. CRITICAL STEP - Regenerate Tokens: Navigate to the Keys and Tokens tab and click Regenerate next to your Access Token and Secret

    Important: Your existing tokens are permanently locked to "Read" permissions. Only newly generated tokens will inherit the "Read and Write" permissions you just configured. You must regenerate your tokens after changing permissions.

Step 2: Run the Setup Wizard

Once you have Read and Write credentials:

xhell setup

The wizard will prompt you for four credentials:

  • API Key: Your app's public identifier
  • API Secret: Your app's secret key
  • Access Token: Your account's public token
  • Access Token Secret: Your account's secret token

All credentials are stored globally using the conf library in a hidden folder on your system. You can safely delete any local .env files.

Step 3: Verify Your Setup

xhell whoami

This command fetches your account information and displays your profile, follower count, and recent activity.

Usage

Post a Tweet

xhell post "Hello from the command line!"

Post with an Image

xhell post "Check out this screenshot" -i "/path/to/image.png"

The -i flag accepts a string path to your image file. xhell uploads it to the Twitter v1.1 API and attaches it to your v2 tweet automatically.

Undo Your Last Post

xhell undo

Deletes the last tweet you posted using xhell. The tweet ID is stored locally and cleared after deletion.

Save a Draft

xhell draft "Great idea for later"

Saves your text locally without posting. Drafts include a timestamp for reference.

List All Drafts

xhell drafts

Displays all saved drafts with an index number and preview (first 50 characters).

Clear Drafts

xhell clear-drafts

Removes all saved drafts from local storage.

Troubleshooting

403 Forbidden Error

This error means your credentials have "Read-only" permissions. Follow the instructions in Step 1: Configure Read and Write Permissions above. Remember that you MUST regenerate your Access Token and Secret after changing permissions in the portal.

No Recent Tweet Found

The undo command only tracks tweets posted through xhell. If you posted through the X website or another app, xhell cannot delete it.

Configuration Location

Your credentials are stored in a global config folder:

  • macOS/Linux: ~/.config/xhell-nodejs/
  • Windows: %APPDATA%\xhell-nodejs\

Commands Reference

| Command | Description | |---------|-------------| | xhell setup | Run the configuration wizard | | xhell post <text> | Post a tweet | | xhell post <text> -i <path> | Post a tweet with an image | | xhell undo | Delete your last posted tweet | | xhell draft <text> | Save text as a draft | | xhell drafts | List all saved drafts | | xhell clear-drafts | Remove all drafts | | xhell whoami | Display your account information |

Author

Mayank.