Build faster, deploy smarter, and scale effortlessly with Noundry's comprehensive suite of C# libraries, tools, and CLI utilities.
Add your email to get the latest updates, new libraries, and tips.
Noundry seeks a clean break from the past. We deeply respect the .NET ecosystem and C# as a language, but we're paving the way for a fresh perspective—one free from the Windows-only perception that has long been associated with the dotnet brand.
We embrace modern designs, patterns, and practices in a pragmatic but opinionated way. Noundry removes the foot guns and stigma that come baked into default dotnet templates, enabling a new generation of developers to build world-class, cloud-agnostic solutions with modern UI patterns—without carrying the baggage of legacy assumptions.
C# is a modern, powerful language. It deserves modern tooling to match.
Modular, reusable components that form the building blocks of your applications. Mix and match to create exactly what you need.
Modern ORM combining Dapper and Contrib functionality
Code and CLI based database schema synchronization
Strongly-typed database exception translation across SQL Server, PostgreSQL, MySQL, and SQLite
Automatic CRUD audit logging with database-specific JSON storage
dotnet add package Noundry.Tuxedo
dotnet add package Noundry.Tuxedo.Bowtie
dotnet add package Noundry.Tuxedo.Exceptions
dotnet add package Noundry.Tuxedo.Auditor
Enterprise API Client library built on Refit with automatic authentication and full CRUD operations
High-performance CSV to database ingestion with smart schema inference
High-performance event stream ingestion and relay with 50K+ msg/sec throughput
Fake data generation with automatic FK/PK relationship detection
dotnet add package Noundry.Connector
dotnet add package Noundry.Slurp
dotnet add package Noundry.Streams
dotnet add package Noundry.Tuxedo.Cufflink
.NET CLI to scaffold 53 owned Razor UI components into your project — no Node.js required
Complete UI component library with Alpine.js integration
Razor TagHelpers optimized for Tailwind CSS
Fluent HTML builder for minimal APIs with TableBuilder and SelectBuilder
Zero-config Tailwind CSS integration for ASP.NET Core, no Node.js required
dotnet tool install -g Noundry.Studio
dotnet add package Noundry.UI
dotnet add package Noundry.TagHelpers
dotnet add package Noundry.RazorHelpers
dotnet add package Noundry.Tailbreeze
Lightweight guard clauses for defensive programming
Fluent assertion library for readable, expressive tests
Zod inspired JSON schema validator for C#
Enhanced .env file support with encryption, validation, and environment-specific configurations
dotnet add package Noundry.Guardian
dotnet add package Noundry.Assertive
dotnet add package Noundry.Sod
dotnet add package Noundry.DotEnvX
OAuth 2.0 authentication library for ASP.NET Core with multi-provider support
Modern .NET 8-10 mailing library with Razor templates and multi-provider support
Unified AI Gateway with multi-provider support (OpenAI, Anthropic, Google, Nebius)
Job scheduling library with database, file, HTTP/API, and email operations
dotnet add package Noundry.Authnz
dotnet add package Noundry.Sanquhar
dotnet add package Noundry.AIGW
dotnet add package Noundry.Jobs
Database schema synchronization CLI tool
Fake data generation CLI with automatic relationship detection
CSV to database ingestion CLI tool
Cross-platform CLI for scheduled jobs via Task Scheduler or crontab
Docker-first .NET deployment with one command
OAuth 2.0 + OIDC server in three commands
Quick project scaffolding and environment setup
dotnet tool install -g Noundry.Tuxedo.Bowtie.CLI
dotnet tool install -g Noundry.Tuxedo.Cufflink.CLI
dotnet tool install -g Noundry.Slurp.Tool
dotnet tool install -g Noundry.Jobs.Tool
dotnet tool install -g Noundry.Engine.Cli
dotnet tool install -g Noundry.AuthnzNet.CLI
dotnet tool install -g Noundry.Spinup
using Noundry.Guardian;
public class UserService
{
public User CreateUser(string email, int age)
{
// Guard against null or whitespace
Guard.Against.NullOrWhiteSpace(email);
// Guard against invalid email format
Guard.Against.InvalidFormat(email,
@"^[^@\s]+@[^@\s]+\.[^@\s]+$");
// Guard against invalid age range
Guard.Against.OutOfRange(age, 18, 120);
return new User { Email = email, Age = age };
}
public Product GetProduct(int id, Product product)
{
// Guard against negative ID
Guard.Against.Negative(id);
// Guard against null product
Guard.Against.Null(product);
return product;
}
}
Guard Clauses for Validation
Lightweight guard clauses for defensive programming. Validate method parameters with clean, expressive syntax using the correct Guard.Against pattern.
Fluent HTML Builder for Minimal APIs
Render Razor components as HTML strings or IResult responses in ASP.NET Core minimal APIs. Build tables, selects, and dynamic content with a fluent, type-safe API.
using Noundry.RazorHelpers;
var builder = WebApplication.CreateBuilder(args);
builder.Services.AddRazorResults();
var app = builder.Build();
// Render a table from a collection
app.MapGet("/users", (List<User> users) =>
{
var html = HtmlBuilder.Table(users)
.Column("Name", u => u.Name)
.Column("Email", u => u.Email)
.WithCss("table-auto w-full")
.Build();
return Results.Content(html, "text/html");
});
// Render a Razor component as IResult
app.MapGet("/dashboard", async (RazorResults razor) =>
await razor.RenderAsync<Dashboard>(
new { Title = "Home" }));
See how Noundry libraries simplify common development tasks with clean, production-ready code.
// Program.cs
using Noundry.DotEnvX.Core.Extensions;
var builder = WebApplication.CreateBuilder(args);
// Load .env with encryption & validation
builder.Configuration.AddDotEnvX(options =>
{
options.Path = ".env";
options.EnvironmentSpecific = true;
options.Required = new[] {
"DATABASE_URL",
"JWT_SECRET"
};
options.PrivateKey =
Environment.GetEnvironmentVariable("DOTENV_PRIVATE_KEY");
});
// Use configuration values
var jwtSecret = builder.Configuration["JWT_SECRET"];
Environment Variable Management
Enhanced .env file support with AES-256 encryption, validation, and environment-specific configurations. Secure your secrets while maintaining developer productivity.
Schema Validation Library
Zod-inspired schema validation for C# with fluent API, type-safe validation, and comprehensive error messages. Build complex validation schemas with ease.
var userSchema = Sod.Object<User>()
.Field(u => u.Username,
Sod.String().Min(3).Max(20))
.Field(u => u.Email,
Sod.String().Email())
.Field(u => u.Age,
Sod.Number().Min(18).Max(100))
.Field(u => u.Website,
Sod.String().Url().Optional());
// Validate data
var result = userSchema.Parse(userData);
if (result.Success) {
var user = result.Data;
}
Job Scheduling & Automation
Comprehensive job scheduling solution with a library for database, file, HTTP/API, and email operations, plus a CLI tool (njobs) for creating and managing scheduled jobs across Windows, Linux, and macOS.
#!/usr/bin/env dotnet-script
#r "nuget: Noundry.Jobs, 1.0.0"
using Noundry.Jobs.Database;
using Noundry.Jobs.Email;
// Database cleanup
var db = new JobsDb(connectionString,
DatabaseType.SqlServer);
var deleted = await db.ExecuteAsync(
"DELETE FROM Logs WHERE CreatedAt < @Date",
new { Date = DateTime.UtcNow.AddDays(-30) });
// Send notification
using var email = new JobsEmail()
.Configure("smtp.gmail.com", 587, user, pass)
.UseStartTls();
await email.SendAsync("admin@example.com",
"admin@example.com",
$"Cleanup: {deleted} records deleted",
"Job completed successfully");
// Schedule with njobs CLI:
// njobs create DailyCleanup cleanup.csx "0 2 * * *"
Razor UI Component Library
Complete UI component library with Alpine.js integration and Tailwind CSS for C# Razor Pages and MVC. Server-side rendering with client-side interactivity.
@page
@model IndexModel
<noundry-card
title="Welcome to Noundry"
class="max-w-sm">
<p>Beautiful Razor components with Alpine.js interactivity.</p>
</noundry-card>
<div class="flex gap-4 mt-6">
<noundry-button
bg-color="blue"
x-on:click="alert('Clicked!')">
Primary Button
</noundry-button>
<noundry-button
bg-color="gray">
Secondary Button
</noundry-button>
</div>
Build complex forms with simple, declarative syntax. TagHelpers handle styling, validation, and accessibility automatically.
<noundry-card title="Contact Us">
<form method="post">
<noundry-text-input
asp-for="FirstName"
label="First Name"
placeholder="Enter your first name"
required="true" />
<noundry-text-input
asp-for="Email"
type="email"
label="Email Address"
icon="envelope" />
<noundry-textarea
asp-for="Message"
label="Message"
rows="5" />
<noundry-button type="submit" variant="primary" size="lg">
Send Message
</noundry-button>
</form>
</noundry-card>
Integrate Noundry platform directly into Claude Desktop, Codex, Cursor CLIs via MCP. Get instant access to templates, documentation, and code generation right from your AI assistant.
Browse and search all Noundry templates, libraries, and documentation directly from Claude. Get instant code examples and setup instructions.
Ask Claude to generate Noundry-specific code using platform templates. Create controllers, services, Razor pages, and more with context-aware suggestions.
NoundryMCP is a hosted service accessible locally via any coding CLI. No local installation or configuration required - just connect and start building.
public class ProductController { private readonly IDbConnection _db; [HttpGet] public async Task<IEnumerable<Product>> GetAll() { return await _db.GetAllAsync<Product>(); } }
Give every AI coding assistant deep .NET expertise via the Model Context Protocol. 50+ curated guides, anti-pattern detection, and migration planning for .NET 8–10.
Curated documentation covering EF Core, minimal APIs, Blazor, authentication, performance, testing, and architecture patterns. Always up to date with the latest .NET releases.
Catch N+1 queries, sync-over-async, captive dependencies, HttpClient leaks, service locator abuse, and 20+ more common .NET mistakes before they hit production.
Generate step-by-step migration plans for upgrading from .NET 6/7/8 to .NET 9/10 with breaking change alerts, deprecated API replacements, and risk scores.
Multi-cloud VM provisioning CLI with automatic security hardening. Deploy hardened VMs to AWS, Azure, GCP, and DigitalOcean with a single command.
Every VM is automatically hardened with UFW firewall, fail2ban, SSH hardening, kernel security settings, and automatic updates. Your IP is whitelisted for SSH access.
Same CLI for AWS, Azure, GCP, and DigitalOcean. Provision VMs, networks, and load balancers with consistent workflows across all clouds.
Interactive wizard or full CLI mode. No YAML files to write. Just install, configure cloud credentials, and deploy.
Password authentication disabled. Root login blocked.
Default deny. Your IP whitelisted for SSH.
Auto-ban IPs after failed login attempts.
Zero-config Tailwind CSS integration for ASP.NET Core. Auto-installs the standalone CLI, hot reload in development, optimized builds in production. No Node.js required.
Just add the NuGet package and call AddTailbreeze(). The CLI is auto-downloaded, config files auto-generated, and hot reload just works.
Automatically watches your .cshtml and .razor files for changes. CSS rebuilds instantly when you add Tailwind classes.
Full support for Tailwind v4 (stable) and v3.4.17 (LTS). Version pinning, dynamic fetching via GitHub API, and CDN fallback.
Uses standalone Tailwind CLI
Full framework support
Build-time compilation
Polly retry policies
Everything you need to master Noundry, from quick start guides to advanced architectural patterns.
var builder = WebApplication.CreateBuilder(args);
// Add Noundry services
builder.Services.AddRazorPages();
builder.Configuration.AddDotEnvX();
builder.Services.AddTuxedoSqlServer(builder.Configuration.GetConnectionString("DefaultConnection"));
builder.Services.AddNoundryOAuth(builder.Configuration);
builder.Services.AddNoundryUI();
var app = builder.Build();
// Configure pipeline
app.UseNoundryOAuth();
app.UseAuthentication();
app.MapRazorPages();
app.Run();