# Welcome to REN.Kit!

<figure><img src="https://4124889382-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fb04D8J0QwtV0UmMCgi46%2Fuploads%2F05zaFYwt3fqeH8oWoUJ8%2Freindeer.png?alt=media&#x26;token=03968a22-9c71-4899-94bf-afbbfe6fcfd2" alt="" width="188"><figcaption></figcaption></figure>

Welcome to the **REN.Kit** documentation—a modern evolution of [RENHelpers](https://fethis-organization.gitbook.io/ren-regular-everyday-normal-helper). With this major update, we’re setting a new standard for .NET utility libraries: **faster, lighter, and more modular than ever before**.

***

## What is REN.Kit?

**REN.Kit** is a modern, high-performance library suite designed to simplify caching and data access for .NET applications.

With REN.Kit, you can integrate it into your project and **start performing cache or database operations instantly**—no need to write custom cache services, repositories, or unit of work implementations from scratch. Everything you need for robust, scalable, and maintainable data and caching workflows is included out of the box.\
\
Just plug REN.Kit in, configure it, and get productive right away!\
\
It is the evolution of **RENHelpers**, completely rewritten for .NET 8 and .NET 9 compatibility, featuring modular, scalable, and extensible packages:

* **REN.Kit.CacheKit** — A unified, DI-friendly caching solution supporting both In-Memory and Redis providers.
* **REN.Kit.DataKit** — A clean, extensible data access library with repository and unit-of-work patterns.

***

## Where Does “REN” Come From?

You might be wondering: *What’s behind the name “REN.Kit”?*\
REN actually stands for **Regular Everyday Normal**—a tongue-in-cheek reference to the idea that software tools should make everyday, “normal” developer life as easy and productive as possible.

The spirit of REN.Kit is all about embracing the *regular* challenges of day-to-day coding (caching, database access, transactions, performance) and turning them into something almost… boringly reliable! No fuss, no magic—just solid, maintainable helpers that you can trust in every “normal” project, as well as your most ambitious ones.

So, whenever you see “REN.Kit”, think:\
**Regular. Everyday. Normal.**\
But with a little more power, performance, and modern .NET flair under the hood!

***

## Why REN.Kit?

* **Brand New Architecture:**\
  REN.Kit is the next chapter of RENHelpers, rebuilt for performance and clarity. The codebase is completely modular: now, caching and database helpers are cleanly separated, so you can bring only what you need into your project.
* **Blazing Fast and Optimized:**\
  Every bit of REN.Kit is designed for speed and efficiency—no more bloated helpers. Caching and database operations are as lean and scalable as enterprise projects demand.
* **Future-Proofed:**\
  REN.Kit supports both **.NET 8 and .NET 9** out of the box, so you’re always ready for the latest innovations.
* **Cloud-Ready:**\
  In-memory and Redis cache providers, a generic repository/unit of work for EF Core, and flexible extension points let you build for cloud-native and distributed systems with zero friction.
* **Built for DI:**\
  Every service is built with dependency injection in mind, following modern .NET best practices.
* **Multi-provider Support**: Use either in-memory or Redis cache with a single interface.
* **Plug & Play**: Drop it into your project with minimal configuration.
* **Fully Extensible**: Advanced extension and override support for custom scenarios.

***

## **What’s New?**

* **Rebranded:** RENHelpers has become REN.Kit.
* **Split Packages:** Caching and data (repository/unit-of-work) features are now separate NuGet packages for flexibility and maintainability.
* **Performance Upgrades:** All core internals have been optimized for high-concurrency, high-throughput, and minimal memory allocation.
* **Full .NET 8 & .NET 9 Support:** Use seamlessly across your projects—no version lock-in.
* **Extensible:** Easy customization for your own repository, cache provider, or unit-of-work logic.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://fethis-organization.gitbook.io/ren.kit-documentation/welcome-to-ren.kit.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
