Hulaki 0.1.0-alpha.2

This is a prerelease version of Hulaki.
dotnet add package Hulaki --version 0.1.0-alpha.2
                    
NuGet\Install-Package Hulaki -Version 0.1.0-alpha.2
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Hulaki" Version="0.1.0-alpha.2" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Hulaki" Version="0.1.0-alpha.2" />
                    
Directory.Packages.props
<PackageReference Include="Hulaki" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Hulaki --version 0.1.0-alpha.2
                    
#r "nuget: Hulaki, 0.1.0-alpha.2"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Hulaki@0.1.0-alpha.2
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Hulaki&version=0.1.0-alpha.2&prerelease
                    
Install as a Cake Addin
#tool nuget:?package=Hulaki&version=0.1.0-alpha.2&prerelease
                    
Install as a Cake Tool

Hulaki

Deliver a message to people and accounts on chat, push and social platforms from .NET, with one API and an outcome per recipient. Source and docs.

Status: in development. The API can change until 1.0.

This package holds the core (message model, retry rules, idempotency, text counting, markup), every channel that needs no extra dependency, and AddHulaki() for dependency injection. Email over SMTP brings MailKit, so it is a separate package, Hulaki.Email.

Channel Type Docs
Telegram Bot API Hulaki.Telegram.TelegramChannel telegram
Discord webhook Hulaki.Discord.DiscordChannel discord
Slack incoming webhook Hulaki.Slack.SlackChannel slack
Teams Workflows webhook Hulaki.Teams.TeamsChannel teams
ntfy Hulaki.Ntfy.NtfyChannel ntfy
Web Push (VAPID, RFC 8291) Hulaki.WebPush.WebPushChannel webpush
Signed JSON webhook Hulaki.Webhook.WebhookChannel webhook
Bluesky Hulaki.Bluesky.BlueskyChannel bluesky
Mastodon Hulaki.Mastodon.MastodonChannel mastodon
builder.Services.AddHulaki()
    .AddTelegram("alerts", builder.Configuration.GetSection("Hulaki:Channels:alerts"));

AddHulaki() registers HulakiClient as a singleton over every registered channel, and an in-memory idempotency store unless you register your own IIdempotencyStore. Each channel gets options bound with the configuration binding generator (Native AOT safe), validation at startup, and a named HttpClient (hulaki.<name>) with a 30 second timeout and no request logging, because some platforms put the secret in the URL path. Do not add a retry or resilience handler to these clients: it would resend requests the platform may already have acted on.

  • net10.0 only, trim and Native AOT compatible. Channels you never construct are trimmed away.
  • Retries only where the platform provably did not act. A lost answer is reported as Unknown.
  • No token, recipient address or message text in logs, traces or error messages.

Hulaki is not affiliated with any of these platforms. Source, issues and license (MIT): https://github.com/sanamhub/hulaki

Product Compatible and additional computed target framework versions.
.NET net10.0 is compatible.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (2)

Showing the top 2 NuGet packages that depend on Hulaki:

Package Downloads
Hulaki.Email

Hulaki provider for email through FreeTierMail: one SMTP server by default, or switch on UseFreeTierMail to send through Resend, Brevo and other accounts with quota-aware failover. A plain text and an HTML part, outcomes mapped to Hulaki's retry rules.

Hulaki.Testing

Test helpers for Hulaki: a recording fake channel, a scripted HTTP handler, and the xUnit v3 contract tests every provider, ours or a third party's, should pass.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
0.1.0-alpha.2 562 10/15/2026
0.1.0-alpha.1 222 10/8/2026