A simple tool which lets you scrape twitter accounts and crosspost them to bluesky accounts! Comes with a CLI and a webapp for managing profiles! Works with images/videos/link embeds/threads.
···11# 🐦 Tweets-2-Bsky
2233+> **Note**: This project is built on top of [**bird**](https://github.com/steipete/bird) by [@steipete](https://github.com/steipete), which provides the core Twitter interaction capabilities.
44+35A powerful tool to crosspost your Tweets to Bluesky automatically. Now supports **multiple accounts**, **custom PDS (hosting) locations**, and a **user-friendly CLI** for easy management.
4657## ✨ Features
···3335Instead of editing files, use our simple setup command:
3436```bash
3537# 1. Set your Twitter cookies (one set of cookies works for all mappings)
3636-npm run cli setup-twitter
3838+./crosspost setup-twitter
37393840# 2. Add your first account mapping
3939-npm run cli add-mapping
4141+./crosspost add-mapping
4042```
4143*Note: You can find your Twitter `auth_token` and `ct0` in your browser's developer tools under Application -> Cookies.*
4244···5759If you want to import your historical tweets for a specific account:
5860```bash
5961# Get the command from the CLI help
6060-npm run cli import-history
6262+./crosspost import-history
61636264# Example: Import the last 10 tweets for a specific user
6365npm run import -- --username YOUR_TWITTER_HANDLE --limit 10
···71737274### Management Commands
7375```bash
7474-npm run cli list # Show all active mappings
7575-npm run cli remove # Remove an account mapping
7676-npm run cli set-interval # Change how often to check for new tweets
7676+./crosspost list # Show all active mappings
7777+./crosspost remove # Remove an account mapping
7878+./crosspost set-interval # Change how often to check for new tweets
7779```
78807981---
+3
crosspost
···11+#!/bin/bash
22+# A simple wrapper to run the CLI
33+npx tsx src/cli.ts "$@"