Open joyeecheung opened 1 week ago
why not having a posts
dir in this repo with md file that will automatically make a post. It reduces the foundation's workload.
It could also allow contributors to pass on announcements more easily, such as new content in the learn section. Or a post to discover a new feature (post separate from the release).
@AugustinMauroy I think that's included in the OP already (i.e. post automation) :)
Some ideas besides post/repost/quote post/reply:
I created an app password for the nodejs.org account and saved it to the TSC 1Password. Will add it to this repo later for future GitHub actions when I figure out the right place to save it.
Meanwhile, I worked out some snippets to perform post, repost, quote post and reply. I haven't done anything for proper embedding (thumbnails, images, etc.) yet. But I think they are probably fine to be sent over to this repository now. Will do that later.
Managed to develop something: see https://bsky.app/profile/pixel-voyager.bsky.social which is sending post/reply/quote post/reposts from PRs merged in https://github.com/joyeecheung/bluesky-playground/pulls?q=is%3Apr+is%3Aclosed - there are currently no docs, no tests, but I can add some as I PR them in here..
I see people have started at-mentioning nodejs.org. We should ideally have some automation to pipe the notifications to some slack channel so that those don't go unnoticed
Maybe, but I'm afraid this will be extremely noisy. Many people at-mention the account instead of writing "Node.js", not to really to get our attention
maybe pipe DMs to a private channel, too?
Currently, nobody can DM the account
Many people at-mention the account instead of writing "Node.js", not to really to get our attention
We might want to document how we prefer people engaging with the Node.js account somewhere. Not sure if people would necessarily see it but it might help.
I haven't read through https://github.com/bluesky-social/feed-generator yet but my hunch is that we can just implement a simple algorithm to generate a feed that include all the at-mentions of nodejs.org, and whoever interested in adding that feed to their bluesky tabs can just do so.
I managed to get https://github.com/joyeecheung/bluesky-playground to a working shape - for example, I triggered this Bluesky post with https://github.com/joyeecheung/bluesky-playground/pull/8 - there's a GitHub action that can validate the JSON before the PR is merged, and another GitHub action that performs the requested action on the Bluesky account once it's merged.
Currently, this supports posting, reposting, quote-posting and replying (you can find the JSON examples in https://github.com/joyeecheung/bluesky-playground/tree/main/records/new).
Obviously the code is a bit messy and it has almost no tests (just one integration test that I run locally and see if https://bsky.app/profile/pixel-voyager.bsky.social does what I want it to do). But for what we currently need for the nodejs.org account I think it's adequate for now (or I can say, trust me bro/sis, it works). I propose that we add the scripts and workflows in here (with license etc. changed) and start using it. And we can work on better linting/testing later.
(My longer-term vision is to publish that action on the GitHub actions market so that other people who want to collaboratively control a Bluesky account can share it and maybe contribute back as well. But baby steps, let's just start using it now before it becomes painful to have to manually logging into the account to do everything, we can think about the rest later).
Converted from https://github.com/nodejs/admin/issues/932 - Bluesky has a free API and an Node.js SDK which I think we can explore, it would be nice for the community to curate content and submit them here via GitHub PR, reviewed here, then get published to the official Bluesky account via automation.
I asked a while back on Bluesky about what automations other projects use, it seems the most popular one is https://github.com/myConsciousness/bluesky-post - however on a closer look it seems only the post function would be useful for our use case, but the Node.js SDK of AT protocol provides handy functionalities like repost/quote post/reply/like etc. and it only takes a couple of lines to do it. For example I have some toy snippets here where you can see how simple it is to do things https://github.com/joyeecheung/bluesky-playground/ - so I wonder if we should just maintain our own GitHub actions here to automate actions on the official Bluesky account.
We could also consider publish our actions to the GitHub marketplace when we have something that works well, and share it with other projects that want to automate their official accounts similarly. I think it would be lovely if the Node.js project can contribute some stuff back to the Bluesky ecosystem (which runs on Node.js, I love how meta it is).