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

hyper-post

v0.1.0

Published

A unified social media posting tool for underground platforms - publish to multiple social networks in one go

Readme

HyperPost

✦ A unified social media posting tool for underground platforms — publish to multiple social networks in one go.


Overview

HyperPost is a command-line tool that lets you publish content to multiple social media platforms simultaneously. Built for the forgotten edge — fast, minimal, and resilient. Perfect for developers, content creators, and organizations who want to amplify their reach across alternative social networks.

Part of the HyperDrift ecosystem: open-source tools for raw potential and independent exploration.


Features

  • 🚀 Multi-platform posting - Post to multiple social networks in one command
  • 🔒 Secure credential management - Environment-based configuration
  • 📝 Rich content support - Titles, URLs, tags, and formatted text
  • 🛠️ CLI-first design - Perfect for automation and scripting
  • 🎯 Underground focus - Support for alternative social platforms
  • 📊 Detailed reporting - Clear success/failure feedback for each platform

Supported Platforms

| Platform | Status | Notes | |----------|--------|-------| | Mastodon | ✅ Ready | Federated social network | | Bluesky | ✅ Ready | Decentralized social network | | Discord | ✅ Ready | Community servers | | Reddit | ✅ Ready | Community discussions | | HackerNews | 🔄 Planned | Tech community | | Dev.to | 🔄 Planned | Developer community | | Medium | 🔄 Planned | Publishing platform | | Tumblr | 🔄 Planned | Creative community | | Pinterest | 🔄 Planned | Visual discovery |


Installation

As a global CLI tool

# Install globally
pnpm add -g hyper-post

# Or with npm
npm install -g hyper-post

# Or with yarn
yarn global add hyper-post

As a project dependency

# Add to your project
pnpm add hyper-post

# Or with npm
npm install hyper-post

# Or with yarn
yarn add hyper-post

Quick Start

Option 1: Comprehensive Setup (Recommended)

Use the guided account creation wizard that helps you create genuine social media accounts with complete profiles:

# (Optional) Customize default template values in .hyperpost-config.json
# The wizard will use these as prefilled defaults

# Run the comprehensive setup wizard
hyper-post setup

# This will:
# 1. Create consistent branding templates (saved persistently)
# 2. Guide you through account creation on each platform
# 3. Help you set up complete profiles (bio, website, images, etc.)
# 4. Generate API credentials automatically
# 5. Save everything to .env and .hyperpost-signup.json

# Templates persist across sessions - reuse branding on new platforms!
# Run setup again to add more platforms using existing templates

# Then post to all configured platforms
hyper-post post -c "Hello from HyperPost! 🚀" -t "My First Post" -u "https://hyperdrift.io"

# Check posting history and analytics
hyper-post history
hyper-post history --platform mastodon
hyper-post analytics
hyper-post analytics --platform bluesky --days 7
hyper-post history --clear  # Clear history if needed

✨ Features

🛡️ Duplicate Prevention

HyperPost automatically prevents duplicate posts to the same platform within a 24-hour window:

  • Content-based hashing: SHA-256 hash of title + content + URL
  • Platform-specific tracking: Different platforms can receive the same content
  • Time-windowed: Old posts (24+ hours) are automatically cleaned up
  • History management: View, filter, and clear posting history
# View all posting history
hyper-post history

# Filter by platform
hyper-post history --platform mastodon

# Clear history (allows reposting)
hyper-post history --clear

🗄️ PostgreSQL Database

HyperPost uses PostgreSQL for robust post tracking, deduplication, and analytics:

# Set up PostgreSQL database
createdb hyperpost

# Generate Prisma client
pnpm db:generate

# Create/update database schema
pnpm db:push

# View database in browser
pnpm db:studio

# Create migrations (production)
pnpm db:migrate

# Run database seeds (optional)
pnpm db:seed

⚙️ Persistent Configuration

  • Prisma ORM: Type-safe database operations
  • Post tracking: Full history with platform-specific URLs
  • Deduplication: SHA-256 content hashing with time windows
  • Analytics: Platform usage stats and posting patterns
  • Signup templates: Reusable account creation templates

📊 Analytics & Insights

# View comprehensive analytics
hyper-post analytics

# Platform-specific analytics
hyper-post analytics --platform mastodon

# Recent activity (last 7 days)
hyper-post analytics --days 7

# Full posting history with URLs
hyper-post history --limit 100

Option 2: Manual Configuration

  1. Set up your credentials in a .env file:
# Copy the example
cp .env.example .env

# Edit with your credentials
nano .env
  1. Post to all configured platforms:
hyper-post post -c "Hello from HyperPost! 🚀" -t "My First Post" -u "https://hyperdrift.io"
  1. Post to specific platforms:
hyper-post post -c "Tech update!" -p "mastodon,bluesky,reddit"

🎯 Why HyperPost?

HyperPost stands out from other social media automation tools:

Genuine Account Creation

  • Complete profiles with bios, websites, locations, and images
  • Consistent branding across all platforms
  • Professional appearance that builds trust and credibility
  • Guided setup ensures no steps are missed

🔧 Developer-Friendly

  • Modular architecture - easily add new platforms
  • TypeScript with full type safety
  • Comprehensive error handling and logging
  • Environment-based configuration for security

🚀 Production-Ready

  • Generic and publishable - can be used by anyone
  • Multi-platform support - post to all networks simultaneously
  • Rich content support - titles, URLs, hashtags, formatting
  • Rate limiting awareness and automatic retries

💾 Persistent Data Management

  • Signup templates saved in .hyperpost-signup.json
  • Reuse branding across multiple platforms
  • Completed accounts tracked persistently
  • Automatic .env generation from stored data
  • Session continuity - templates persist across runs

Configuration

Create a .env file in your project root with your social media credentials:

# Mastodon
MASTODON_INSTANCE=your-instance.social
MASTODON_ACCESS_TOKEN=your_access_token_here

# Bluesky
BLUESKY_IDENTIFIER=your-handle.bsky.social
BLUESKY_PASSWORD=your_app_password

# Discord
DISCORD_TOKEN=your_bot_token
DISCORD_CHANNEL_ID=your_channel_id

# Future platforms...
# REDDIT_CLIENT_ID=your_client_id
# REDDIT_CLIENT_SECRET=your_client_secret
# REDDIT_USERNAME=your_username
# REDDIT_PASSWORD=your_password

Getting Platform Credentials

Mastodon

  1. Go to your Mastodon instance → Preferences → Development
  2. Create a new application
  3. Copy the access token
  4. Set MASTODON_INSTANCE to your instance domain (e.g., mastodon.social)

Bluesky

  1. Go to bsky.app → Settings → Privacy and security → App passwords
  2. Create a new app password
  3. Use your full handle (with .bsky.social) as identifier

Reddit

  1. Go to Reddit Apps
  2. Click "Create App" or "Create Another App"
  3. Type: script
  4. Name: HyperPost
  5. Description: Multi-platform social media posting
  6. About URL: Leave blank
  7. Redirect URI: http://localhost:8080
  8. Click "Create app"
  9. Copy the client_id (under the app name)
  10. Copy the secret (labeled "secret")

Discord

  1. Go to Discord Developer Portal
  2. Create a new application → Bot
  3. Copy the bot token
  4. Get your channel ID by enabling Developer Mode in Discord and right-clicking the channel

Usage

CLI Commands

# Show help
hyper-post --help

# Post to all platforms
hyper-post post -c "Your content here"

# Post with title and URL
hyper-post post -c "Article content" -t "Article Title" -u "https://example.com"

# Post with tags
hyper-post post -c "Content" --tags "tech,opensource,web3"

# List configured platforms
hyper-post platforms

# Post to specific platforms only
hyper-post post -c "Content" -p "mastodon,bluesky,reddit"

Programmatic Usage

import { HyperPost, SocialPost } from 'hyper-post';

// Load credentials from environment
const credentials = {
  mastodon: {
    instance: process.env.MASTODON_INSTANCE!,
    accessToken: process.env.MASTODON_ACCESS_TOKEN!
  },
  bluesky: {
    identifier: process.env.BLUESKY_IDENTIFIER!,
    password: process.env.BLUESKY_PASSWORD!
  }
};

const hyperPost = new HyperPost(credentials);

const post: SocialPost = {
  content: "Hello from HyperPost!",
  title: "My First Post",
  url: "https://hyperdrift.io",
  tags: ["tech", "opensource"]
};

// Post to all platforms
const result = await hyperPost.postToAll(post);
console.log(`Posted successfully to ${result.successful} platforms`);

// Post to specific platforms
const specificResult = await hyperPost.postToPlatforms(['mastodon'], post);

Project Status

MVP / Actively maintained / Beta


Contributing

Contributions are welcome. Feel free to open an issue, suggest improvements, or submit a pull request. Together we sharpen the edge.

Development Setup

# Clone the repository
git clone https://github.com/hyperdrift-io/hyper-post.git
cd hyper-post

# Install dependencies
pnpm install

# Start development
pnpm dev

# Build for production
pnpm build

# Run tests
pnpm test

API Reference

Classes

HyperPost

Main class for managing multi-platform posting.

Methods:

  • postToAll(content: SocialPost): Promise<MultiPlatformResult>
  • postToPlatforms(platforms: SupportedPlatforms[], content: SocialPost): Promise<MultiPlatformResult>
  • postToPlatform(platform: SupportedPlatforms, content: SocialPost): Promise<PostingResult>
  • getConfiguredPlatforms(): string[]
  • isPlatformConfigured(platform: SupportedPlatforms): boolean

Types

interface SocialPost {
  content: string;
  title?: string;
  url?: string;
  imageUrl?: string;
  tags?: string[];
}

interface PostingResult {
  platform: string;
  success: boolean;
  postId?: string;
  url?: string;
  error?: string;
}

interface MultiPlatformResult {
  results: PostingResult[];
  successful: number;
  failed: number;
}

License

MIT License © [HyperDrift]


Open-source tools for the forgotten edge.