{"id":15015805,"url":"https://github.com/sanko/app-bsky","last_synced_at":"2026-02-04T09:16:03.759Z","repository":{"id":217970116,"uuid":"745246961","full_name":"sanko/App-bsky","owner":"sanko","description":"Terminal Bluesky client in Perl","archived":false,"fork":false,"pushed_at":"2024-12-18T01:14:41.000Z","size":66,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-04-22T08:38:42.129Z","etag":null,"topics":["bluesky","bluesky-social","command-line","perl","terminal"],"latest_commit_sha":null,"homepage":"https://metacpan.org/dist/App-bsky","language":"Perl","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sanko.png","metadata":{"files":{"readme":"README.md","changelog":"Changes","contributing":null,"funding":".github/FUNDING.yml","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,"zenodo":null},"funding":{"github":"sanko","patreon":null,"open_collective":null,"ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"custom":null}},"created_at":"2024-01-18T23:31:58.000Z","updated_at":"2024-12-20T23:10:32.000Z","dependencies_parsed_at":null,"dependency_job_id":"a58fced2-6a02-414e-aaa1-9704baab7471","html_url":"https://github.com/sanko/App-bsky","commit_stats":{"total_commits":38,"total_committers":1,"mean_commits":38.0,"dds":0.0,"last_synced_commit":"ed00bca2e1c60a834d541dcf6b212f75aaab69ca"},"previous_names":["sanko/app-bsky"],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/sanko/App-bsky","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sanko%2FApp-bsky","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sanko%2FApp-bsky/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sanko%2FApp-bsky/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sanko%2FApp-bsky/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sanko","download_url":"https://codeload.github.com/sanko/App-bsky/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sanko%2FApp-bsky/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266205037,"owners_count":23892387,"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","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":["bluesky","bluesky-social","command-line","perl","terminal"],"created_at":"2024-09-24T19:47:57.564Z","updated_at":"2026-02-04T09:15:58.739Z","avatar_url":"https://github.com/sanko.png","language":"Perl","funding_links":["https://github.com/sponsors/sanko"],"categories":[],"sub_categories":[],"readme":"# NAME\n\nbsky - A Command-line Bluesky Client\n\n# SYNOPSIS\n\n```\n# create user session\n$ bsky login [handle] [password]\n\n# view recent posts\n$ bsky timeline ...\n\n# create a post\n$ bsky post ...\n```\n\n# DESCRIPTION\n\n`bsky` is a simple command line client for Bluesky in Perl.\n\n# Commands\n\n```\nbsky [global options] command [command options] [arguments...]\n```\n\n## config\n\n```\n# Print all configuration values\nbsky config\n\n# Print a single config value and exit\nbsky config wrap\n\n# Set a configuration value\nbsky config wrap 100\n```\n\nView or change configuration values. See [Configuration](#configuration) for a list of current options.\n\n### Options\n\n```\nkey         optional\nvalue       optional\n```\n\n## show-profile\n\n```\nbsky show-profile\n\nbsky show-profile --handle sankor.bsky.social\n\nbsky show-profile --json\n```\n\nShow profile.\n\n### Options\n\n```\n--handle handle     user handle; defaults to the logged in account\n-H handle           alternative to --handle\n--json              boolean flag; content is printed as JSON objects if given\n```\n\n## update-profile\n\n```\nbsky update-profile --description \"Looks like we made it!\"\n\nbsky update-profile --name \"John Smith\"\n\nbsky update-profile --avatar https://cataas.com/cat?width=100 --banner https://cataas.com/cat?width=1000\n```\n\nUpdate profile elements.\n\n### Options\n\n```\n--avatar        optional, avatar image (url or local path)\n--banner        optional, banner image (url or local path)\n--description   optional, blurb about yourself\n--name          optional, display name\n```\n\n## show-session\n\n```\nbsky show-session\n\nbsky show-session --json\n```\n\nShow current session.\n\n### Options\n\n```\n--json              boolean flag; content is printed as JSON objects if given\n```\n\n## timeline\n\n```\nbsky timeline\n\nbsky timeline --json\n\n# shorthand:\nbsky tl\n```\n\nDisplay posts from timeline.\n\n### Options\n\n```\n--json      boolean flag; content is printed as JSON objects if given\n```\n\n## thread\n\n```\nthread at://did:plc:pwqewimhd3rxc4hg6ztwrcyj/app.bsky.feed.post/3kjyoh75qne2w\n```\n\nShow a thread.\n\n### Options\n\n```\n--json      boolean flag; content is printed as JSON objects if given\n-n   value  number of items\n```\n\n## post\n\n```\npost \"This is a test\"\n```\n\nCreate a new post.\n\n## like\n\n```\nbsky like at://did:plc:pwqewimhd3rxc4hg6ztwrcyj/app.bsky.feed.post/3kjyoh75qne2w\n```\n\nLike a post.\n\n## unlike\n\n```\nbsky unlike at://did:plc:pwqewimhd3rxc4hg6ztwrcyj/app.bsky.feed.post/3kjyoh75qne2w\n\nbsky unlike at://did:plc:pwqewimhd3rxc4hg6ztwrcyj/app.bsky.feed.like/3kjyml72tqu2y\n```\n\nUnlike a post. Either the direct feed URI or the like URI printed by `bsky like ...`.\n\n## likes\n\n```\nbsky likes at://did:plc:pwqewimhd3rxc4hg6ztwrcyj/app.bsky.feed.post/3kjyoh75qne2w\n```\n\nShow likes on a post.\n\n### Options\n\n```\n--json              boolean flag; content is printed as JSON objects if given\n```\n\n## repost\n\n```\nbsky repost at://did:plc:pwqewimhd3rxc4hg6ztwrcyj/app.bsky.feed.post/3kjyoh75qne2w\n```\n\nRepost the post.\n\n## reposts\n\n```\nbsky reposts at://did:plc:pwqewimhd3rxc4hg6ztwrcyj/app.bsky.feed.post/3kjyoh75qne2w\n```\n\nShow reposts of the post.\n\n### Options\n\n```\n--json              boolean flag; content is printed as JSON objects if given\n```\n\n## follow\n\n```\nbsky follow [handle]\n\nbsky follow sankor.bsky.social\n\nbsky follow did:plc:2lk3pbakx2erxgotvzyeuyem\n```\n\nFollow the handle\n\n### Options\n\n```\nhandle          user handle or DID\n```\n\n## unfollow\n\n```\nbsky unfollow [handle]\n\nbsky unfollow sankor.bsky.social\n\nbsky unfollow did:plc:2lk3pbakx2erxgotvzyeuyem\n```\n\nUnfollow the handle\n\n### Options\n\n```\nhandle          user handle or DID\n```\n\n## follows\n\n```\nbsky follows\n\nbsky follows --handle sankor.bsky.social\n\nbsky follows --json\n```\n\nShow follows.\n\n### Options\n\n```\n--handle handle     user handle; defaults to the logged in account\n-H handle           alternative to --handle\n--json              boolean flag; content is printed as JSON objects if given\n```\n\n## followers\n\n```\nbsky followers\n\nbsky followers --handle sankor.bsky.social\n\nbsky followers --json\n```\n\nShow followers.\n\n### Options\n\n```\n--handle handle     user handle; defaults to the logged in account\n-H handle           alternative to --handle\n--json              boolean flag; content is printed as JSON objects if given\n```\n\n## block\n\n```\nbsky block [handle]\n\nbsky block sankor.bsky.social\n\nbsky block did:plc:2lk3pbakx2erxgotvzyeuyem\n```\n\nBlock the handle.\n\n### Options\n\n```\nhandle          user handle or DID\n```\n\n## unblock\n\n```\nbsky unblock [handle]\n\nbsky unblock sankor.bsky.social\n\nbsky unblock did:plc:2lk3pbakx2erxgotvzyeuyem\n```\n\nUnblock the handle.\n\n### Options\n\n```\nhandle          user handle or DID\n```\n\n## blocks\n\n```\nbsky blocks\n\nbsky blocks --json\n```\n\nShow blocks.\n\n### Options\n\n```\n--json              boolean flag; content is printed as JSON objects if given\n```\n\n## delete\n\n```\nbsky delete at://did:p...\n```\n\nDelete a post, repost, etc.\n\n## notifications\n\n```\nbsky notifications\n\nbsky notifications --all\n\nbsky notifications --json\n\n# shorthand\nbsky notif --all\n```\n\nShow notifications.\n\n### Options\n\n```\n--all               boolean flag, show all notifications\n--json              boolean flag; content is printed as JSON objects if given\n```\n\n## invite-codes\n\n```\nbsky invite-codes\n\nbsky invite-codes --json\n```\n\nShow invite codes.\n\nNote that you must be logged in with the account password to view invite codes.\n\n### Options\n\n```\n--json              boolean flag; content is printed as JSON objects if given\n```\n\n## add-app-password\n\n```\nbsky add-app-password \"Your app name\"\n```\n\nCreate a new App password.\n\nNote that you must be logged in with the account password to add a new app password.\n\n## revoke-app-password\n\n```\nbsky revoke-app-password \"Your app name\"\n```\n\nDelete App password.\n\nNote that you must be logged in with the account password to revoke an app password.\n\n## list-app-passwords\n\n```\nbsky list-app-passwords\n\nbsky list-app-passwords --json\n```\n\nShow App passwords.\n\n### Options\n\n```\n--json              boolean flag; content is printed as JSON objects if given\n```\n\n## login\n\n```\nbsky login [ident] [password] [--host http://bsky.social]\n```\n\nLog into a Bluesky account.\n\n### Options\n\n```\nident\npassword\n--host        optional, defaults to https://bsky.social\n```\n\n## help\n\nshows a list of commands or help for one command\n\n# Global Options\n\n```\n--help, -h     show help\n--version, -v  print the version\n-V             print verbose version info\n```\n\n# Configuration\n\nCurrent configuration values include:\n\n- `wrap`\n\n    ```\n    bsky config wrap 100\n    ```\n\n    Sets word wrap width in characters for terminal output. The default is `0` which disables word wrap.\n\n# See Also\n\n[At](https://metacpan.org/pod/At).pm\n\n[Bluesky](https://metacpan.org/pod/Bluesky).pm\n\n[https://github.com/mattn/bsky](https://github.com/mattn/bsky) - Original Golang client\n\n# LICENSE\n\nCopyright (C) Sanko Robinson.\n\nThis library is free software; you can redistribute it and/or modify it under the terms found in the Artistic License\n2\\. Other copyrights, terms, and conditions may apply to data transmitted through this module.\n\n# AUTHOR\n\nSanko Robinson \u003csanko@cpan.org\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsanko%2Fapp-bsky","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsanko%2Fapp-bsky","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsanko%2Fapp-bsky/lists"}