> For the complete documentation index, see [llms.txt](https://fethis-organization.gitbook.io/ren.kit-documentation/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://fethis-organization.gitbook.io/ren.kit-documentation/welcome-to-ren.kit.md).

# Welcome to REN.Kit

REN.Kit is a modular toolkit for caching and Entity Framework Core data access in .NET applications. It is the modern successor to the legacy RENHelpers packages and supports .NET 8, .NET 9, and .NET 10.

REN.Kit is distributed as two independent NuGet packages:

* `REN.Kit.CacheKit` provides a common API for in-memory and Redis caching.
* `REN.Kit.DataKit` provides generic Repository and Unit of Work implementations for Entity Framework Core.

Install only the package your application needs, or use both packages together.

```shell
dotnet add package REN.Kit.CacheKit
dotnet add package REN.Kit.DataKit
```

## Why REN.Kit?

* One DI-friendly cache abstraction for in-memory and Redis providers
* Synchronous and asynchronous cache operations
* Generic repositories with filtering, ordering, includes, and no-tracking queries
* Unit of Work and explicit transaction management
* Bulk insert, update, and delete operations
* Extensible base classes with virtual methods
* Targeted builds for .NET 8, .NET 9, and .NET 10

## Choose a package

Use [CacheKit](/ren.kit-documentation/ren.kit.cachekit/introduction.md) when you need local or distributed caching. Use [DataKit](/ren.kit-documentation/ren.kit.datakit/introduction.md) when you need a reusable EF Core repository and transaction layer.

> REN stands for Regular Everyday Normal: infrastructure should be predictable, maintainable, and unsurprising.
