Build better .NET applications with fluent, expressive APIs across HTTP, UI, and more.
Created with β€οΈ in Poland by Leszek Pomianowski and open-source community.
Fluent Framework is a collection of independent packages. Use what you need.
| Package | Description | NuGet |
|---|---|---|
| Fluent.Client | Fluent HTTP client wrapper for clean, chainable requests | |
| Fluent.Client.AwesomeAssertions | Expressive HTTP response assertions for integration tests |
Note
More packages coming soon. Stay tuned!
dotnet add package Fluent.Clientusing Fluent.Client;
var client = new HttpClient { BaseAddress = new Uri("https://api.example.com/") };
// Clean, fluent HTTP requests
var response = await client
.Authorize(token: "jwt-token")
.Post("/api/users", new { Name = "John" });dotnet add package Fluent.Client.AwesomeAssertionsusing Fluent.Client.AwesomeAssertions;
// Expressive test assertions
await client
.Post("/api/users", new { Name = "John" })
.Should()
.Succeed("because valid data was provided");Fluent Framework follows these principles:
| Principle | Description |
|---|---|
| π§© Modular | Use only what you need. Each package is independent. |
| π Readable | APIs designed to read like natural language. |
| π§ Extensible | Easy to extend and customize for your needs. |
| β Testable | Built with testing in mind from the ground up. |
| π Modern | Targets latest .NET with modern C# features. |
- .NET 10 SDK or later
- Visual Studio 2022, VS Code, or JetBrains Rider
git clone https://github.com/lepoco/fluent.git
cd fluent
dotnet builddotnet testWe welcome contributions! Please see our Contributing Guide for details.
- π Report bugs and issues
- π‘ Suggest new features or packages
- π Improve documentation
- π§ Submit pull requests
- Leszek Pomianowski (@pomianowski)
- π Documentation
- π Issue Tracker
- π¬ Discussions
This project is licensed under the MIT license. See the LICENSE file for details.
You can use it in private and commercial projects. Keep in mind that you must include a copy of the license in your project.