Add the ability for DasBlog to automatically publish a Bluesky post whenever a new blog post is published. The Bluesky post should include the title, summary, canonical URL, and OG image. The returned AT URI should be stored in the blog post metadata for future updates.
Proposed Solution
- Add Bluesky account configuration to the admin UI (handle + app password or session token).
- On publish, call the
app.bsky.feed.post ATProto endpoint.
- Store the returned AT URI in the post metadata.
- Allow updates to replace the existing Bluesky post.
- Provide error handling and logging.
Technical Notes
- Use ATProto .NET client libraries or direct XRPC calls.
- Support rich text facets for links.
- Consider rate limits and retries.
Acceptance Criteria
- Authors can connect a Bluesky account.
- Publishing a post creates a Bluesky post.
- AT URI is stored in metadata.
- Updating a post updates the Bluesky record.
- Errors are surfaced cleanly.
Add the ability for DasBlog to automatically publish a Bluesky post whenever a new blog post is published. The Bluesky post should include the title, summary, canonical URL, and OG image. The returned AT URI should be stored in the blog post metadata for future updates.
Proposed Solution
app.bsky.feed.postATProto endpoint.Technical Notes
Acceptance Criteria