crosspost  by humanwhocodes

JavaScript utility for posting to multiple social networks at once

created 8 months ago
415 stars

Top 71.7% on sourcepulse

GitHubView on GitHub
1 Expert Loves This Project
Project Summary

This JavaScript utility, crosspost, enables users to simultaneously post content to multiple social media platforms. It is designed for developers and content creators looking to streamline their cross-platform posting workflow, offering both an API and a CLI for integration into various applications and CI/CD pipelines.

How It Works

The library employs a strategy-based design, with individual classes handling the specific API interactions for each supported platform (Bluesky, Mastodon, Twitter, LinkedIn, Discord, Telegram, Dev.to). Users instantiate these strategy classes with platform-specific credentials and then pass them to a central Client class, which orchestrates the posting process across all configured services. This modular approach allows for easy extension with new platform support.

Quick Start & Requirements

  • Installation: npm install @humanwhocodes/crosspost
  • Prerequisites: Node.js. Platform-specific API keys, tokens, and credentials are required for each service.
  • Usage: API and CLI examples are provided in the README. Environment variables are used for credential management, with support for .env files via CROSSPOST_DOTENV.
  • Links: API Usage, CLI Usage, MCP Server Usage

Highlighted Details

  • Supports posting text and images (PNG, JPEG, GIF) to multiple platforms simultaneously.
  • Includes a command-line interface (CLI) for easy integration into CI systems.
  • Features an MCP (Model Context Protocol) server mode, allowing integration with AI agents like Claude Desktop.
  • Provides detailed setup instructions for obtaining API credentials for each supported social network.

Maintenance & Community

The project is maintained by Nicholas C. Zakas. Further community or maintenance details are not explicitly provided in the README.

Licensing & Compatibility

  • License: Apache License 2.0.
  • Compatibility: Permissive license allows for commercial use and integration into closed-source projects.

Limitations & Caveats

The README notes that LinkedIn access tokens expire after two months, requiring periodic re-authentication. Additionally, Discord bots by default can only send messages to public channels unless granted specific permissions.

Health Check
Last commit

20 hours ago

Responsiveness

Inactive

Pull Requests (30d)
25
Issues (30d)
6
Star History
287 stars in the last 90 days

Explore Similar Projects

Feedback? Help us improve.