{"id":31754809,"url":"https://github.com/lukeed/bluesky-import","last_synced_at":"2025-10-09T18:25:00.968Z","repository":{"id":261839661,"uuid":"885494189","full_name":"lukeed/bluesky-import","owner":"lukeed","description":"(more) quickly find the GitHub and/or Twitter accounts you follow on Bluesky~!","archived":false,"fork":false,"pushed_at":"2024-11-08T19:03:40.000Z","size":11817,"stargazers_count":39,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-11-25T13:43:28.814Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/lukeed.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":null,"license":"license","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-11-08T17:36:13.000Z","updated_at":"2024-11-19T14:32:03.000Z","dependencies_parsed_at":"2024-11-08T18:42:06.092Z","dependency_job_id":"7d8fb40a-1171-49ef-b5f3-4b1bcc49428f","html_url":"https://github.com/lukeed/bluesky-import","commit_stats":null,"previous_names":["lukeed/bluesky-import"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/lukeed/bluesky-import","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lukeed%2Fbluesky-import","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lukeed%2Fbluesky-import/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lukeed%2Fbluesky-import/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lukeed%2Fbluesky-import/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lukeed","download_url":"https://codeload.github.com/lukeed/bluesky-import/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lukeed%2Fbluesky-import/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279001940,"owners_count":26083226,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-09T02:00:07.460Z","response_time":59,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-10-09T18:24:59.665Z","updated_at":"2025-10-09T18:25:00.960Z","avatar_url":"https://github.com/lukeed.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# bluesky-import\n\n\u003e (more) quickly find the GitHub and/or Twitter accounts you follow on [Bluesky](https://bsky.app/)~!\n\nIncludes two scripts and a (rough, but functional) UI to automate searcing \u0026 following of Bluesky accounts – at your command.\n\nAbsolutely no credentials are saved. In fact, you will have to reauthenticate every time you run a script or open the UI viewer.\n\nhttps://github.com/user-attachments/assets/62809278-e6b9-4258-b972-927f3f406127\n\n\n## Setup\n\n1. Install [Deno](https://docs.deno.com/runtime/#install-deno)\n2. Clone this GitHub repository\n3. Have a Bluesky account\n\n## GitHub\n\nFind your GitHub follows' Bluesky accounts... if they've added it to their profiles.\n\n\u003e You will be prompted for a `GITHUB_TOKEN` that can access to your follows.\n\u003e 1. [Create a new (PAT) Personal Access Token](https://github.com/settings/personal-access-tokens/new)\n\u003e 2. Go to \"Account Permissions\" \u003e \"Followers\" \u003e \"Read-only\"\n\n```sh\n$ deno task github\n```\n\nA `export/github.json` file will be created. \u003cbr\u003eYou can open this in the viewer:\n\n```sh\n$ deno task view export/github.json\n```\n\n## Twitter\n\nThe Twitter API doesn't let you do anything, unless you pay big $$$ for Enterprise access... good thing we know our way around DevTools :wink:\n\n1. Log into your Twitter account\n2. Go to `https://twitter.com/following`\n3. Copy \u0026 paste [`src/twitter.js`](src/twitter.js) into the Console\n4. When it's done, run `copy(users)` in the Console\n5. Paste the clipboard contents into a new `export/twitter.json` file\n\nYou may then open this in the viewer:\n\n```sh\n$ deno task view export/twitter.json\n```\n\n## Viewer\n\nThe viewer is a simple server and client, allowing you to read from \u0026 write to an existing `export/*.json` file.\n\nAny first interaction with Bluesky will require you to login. This creates a local, in-memory session for the duration of your Viewer.\n\nAny changes you make within the UI (eg; narrowing a search or following account(s)) unlock your ability to `Save Changes`. Pressing this button will sync all changes to your `export/*.json` file so that you can resume your progress the next time you open the viewer.\n\n### Searching\n\nAFAICT, Bluesky search seems pretty basic, where all keywords are restrictively additive — aka, everything operates as an `AND` condition. Because of this, I found it more reliable to search by GitHub **usernames** when viewing GitHub data \u0026 to search by Twitter **names** when viewing Twitter data.\n\nIt's not perfect, but was the best approaching when trying to find matches for my lists 😅\n\nWhen search results appear, you are prompted to select the correct result. This is only a selection \u0026 does not follow the account.\n\n## License\n\nMIT\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flukeed%2Fbluesky-import","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flukeed%2Fbluesky-import","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flukeed%2Fbluesky-import/lists"}