back to home

blowdart / idunno.Bluesky

A .NET class library for the Bluesky social network.

85 stars
10 forks
0 issues
C#HTMLPowerShell

AI Architecture Analysis

This repository is indexed by RepoMind. By analyzing blowdart/idunno.Bluesky in our AI interface, you can instantly generate complete architecture diagrams, visualize control flows, and perform automated security audits across the entire codebase.

Our Agentic Context Augmented Generation (Agentic CAG) engine loads full source files into context on-demand, avoiding the fragmentation of traditional RAG systems. Ask questions about the architecture, dependencies, or specific features to see it in action.

Source files are only loaded when you start an analysis to optimize performance.

Embed this Badge

Showcase RepoMind's analysis directly in your repository's README.

[![Analyzed by RepoMind](https://img.shields.io/badge/Analyzed%20by-RepoMind-4F46E5?style=for-the-badge)](https://repomind.in/repo/blowdart/idunno.Bluesky)
Preview:Analyzed by RepoMind

Repository Overview (README excerpt)

Crawler view

# idunno.Bluesky - .NET SDK for Bluesky. A .NET 8, 9 and 10 library and SDK for Bluesky and the AT Protocol [if you want me to wear 37 pieces of flair, like your pretty boy over there, Brian, why don't you just make the minimum 37 pieces of flair?]: # Getting Started Add the package to your project, and then Please see the documentation for much more useful documentation and samples. The API status page shows what APIs are currently implemented. Key Features • Creating and deleting posts • Posting with mentions, links and hashtags • Posting images and video, with alt text support. • Setting a post's language • Gating threads and posts • Liking, quoting, and reposting posts • Viewing a user's timeline and notifications • Viewing feeds • Viewing threads • Viewing notifications • Viewing and setting preferences for • Subscribing to user activities • Viewing user profiles • Notifications • Following and unfollowing users • Muting and blocking users • Sending, receiving, and deleting direct messages • Create, deleting and listing a user's bookmarks • Handle / password and OAuth authentication • Jetstream support for simple firehose consumption • Automatic session management with background token refreshes Trimming is supported for applications targeting .NET 9.0 or later. Current Build Status License , , and are available under the MIT license, see the LICENSE file for more information. Tipping / Sponsoring If you find this library useful please consider donating to • a local food bank, • a local animal rescue or shelter, or • a national Multiple Sclerosis charity in your country • US: National Multiple Sclerosis Society • UK: MS Society UK • Canada: MS Canada If you want to give me the warm fuzzies, you can tag me on Bluesky at @blowdart.me to let me know. Release History The releases page provides details of each release and what was added, changed or removed. The changelog also contains this information, as well as information on upcoming releases. Release Verification The project uses an Authenticode certificate to sign assemblies and to author sign the nupkg packages. nuget validates the signatures during its publication process. To validate these signatures use The subject name of the signing certificate should be In addition, GitHub artifacts are attested during build, and are also signed with minisign with the following public key. To validate a file using an artifact signature from a release download the from nuget and the appropriate from the release page, then use the following command, replacing with the file name you wish to verify. Pre-releases If you want to test pre-releases you can find them in the myget feed. You can add this as a Package Source in Visual Studio or through the command line, or by using the sample file shown below: The package source URI is https://www.myget.org/F/blowdart/api/v3/index.json To match a pre-release for a specific commit, if a build was produced for that commit • Check the version value in version.json, • Check if there was a Pre-release publish runs for the commit you are interested in, • The pre-release package will have the first 10 digits of the commit sha, prefixed with a as the build number. For example, commit 190d63e produced a nightly build and packages. The package build number is be 1.1.0-prerelease. Please note that nightly builds are signed with Trusted Signing, the signing certificate chain will not match the signing chain of a release build. The subject name remains the same. Planned work Major • Logging in idunno.Bluesky • GIF attaching • Wider test coverage • More deserialization tests with captured responses Awaiting external • Automatic Open Graph card generation when link facets detected. Dependencies The .NET 8.0 version of takes a dependency on v9 to support deserializing derived types where the property is not the first property in the JSON object. External dependencies • Microsoft.Extensions.Logging - used to provide log messages. • Microsoft.IdentityModel.Tokens - used to extract the expiry date and time of the JWT tokens issued by Bluesky. • Duende.IdentityModel.OidcClient - used to do the OAuth heavy lifting. • DnsClient - used in Handle to DID resolution. • PeterO.CBor - used in Fire Hose decoding. • SimpleBase - used in decoding CIDs. • ZstdSharp - used in Jetstream decompression. External analyzers used during builds • DotNetAnalyzers.DocumentationAnalyzers - used to validate XML docs on public types. • CommentSense - used to validate XML docs on public types. • Microsoft.CodeAnalysis.PublicApiAnalyzers - used to track public API changes. • SonarAnalyzer.CSharp - used for common code smell detection. External build & testing tools • docfx - used to generate the documentation site. • DotNet.ReproducibleBuilds - used to easily set .NET reproducible build settings. • Coverlet.Collector - used to produce code coverage files • JunitXml.TestLogger - used in CI builds to produce test results in a format understood by the test-summary GitHub action. • NerdBank.GitVersioning - used for version stamping assemblies and packages. • ReportGenerator - used to produce code coverage reports. • sign - used to code sign assemblies and nuget packages. • xunit - used for unit tests. Other .NET Bluesky libraries and projects • FishyFlip • X.Bluesky • atprotosharp • atompds - an implementation of an AtProto Personal Data Server in C# • AppViewLite - an implementation of the Bluesky AppView in C# focused on low resource consumption