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)
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.