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.
at 153d830c042ef390a3cd4befeb48fd167c5dec98 61 lines 1.6 kB view raw
1{ 2 "name": "tweets-2-bsky", 3 "version": "2.0.0", 4 "description": "A powerful tool to crosspost Tweets to Bluesky, supporting threads, videos, and high-quality images.", 5 "type": "module", 6 "main": "dist/index.js", 7 "scripts": { 8 "build": "tsc", 9 "start": "node dist/index.js", 10 "cli": "tsx src/cli.ts", 11 "dev": "tsx src/index.ts", 12 "import": "tsx src/index.ts --import-history", 13 "lint": "biome check --write .", 14 "format": "biome format --write .", 15 "typecheck": "tsc --noEmit" 16 }, 17 "keywords": [ 18 "bluesky", 19 "twitter", 20 "crosspost", 21 "migration", 22 "thread", 23 "video" 24 ], 25 "author": "", 26 "license": "MIT", 27 "dependencies": { 28 "@atproto/api": "^0.18.9", 29 "@google/generative-ai": "^0.24.1", 30 "@steipete/bird": "^0.4.0", 31 "axios": "^1.13.2", 32 "bcryptjs": "^3.0.3", 33 "better-sqlite3": "^12.5.0", 34 "cheerio": "^1.1.2", 35 "commander": "^14.0.2", 36 "cors": "^2.8.5", 37 "dotenv": "^17.2.3", 38 "express": "^5.2.1", 39 "franc-min": "^6.2.0", 40 "inquirer": "^13.1.0", 41 "iso-639-1": "^3.1.2", 42 "jsonwebtoken": "^9.0.3", 43 "node-cron": "^4.2.1", 44 "puppeteer-core": "^24.34.0", 45 "sharp": "^0.34.5" 46 }, 47 "devDependencies": { 48 "@biomejs/biome": "^1.9.4", 49 "@types/bcryptjs": "^2.4.6", 50 "@types/better-sqlite3": "^7.6.13", 51 "@types/cheerio": "^0.22.35", 52 "@types/cors": "^2.8.19", 53 "@types/express": "^5.0.6", 54 "@types/inquirer": "^9.0.9", 55 "@types/jsonwebtoken": "^9.0.10", 56 "@types/node": "^22.10.2", 57 "@types/sharp": "^0.31.1", 58 "tsx": "^4.19.2", 59 "typescript": "^5.7.2" 60 } 61}