> For the complete documentation index, see [llms.txt](https://briebug.gitbook.io/ngrx-auto-entity/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://briebug.gitbook.io/ngrx-auto-entity/master.md).

# NgRx Auto-Entity

![](/files/-LkGdzBoRvVslpROywd7)

**NgRx Auto-Entity** is a library that *simplifies reactive state* in `@ngrx` with reusable generic actions, automated effects & reducers and ***prefabricated facades.***

## What is NgRx Auto-Entity?

NgRX Auto-Entity is an add-on library for `@ngrx` that aims to greatly simplify use of `@ngrx` and reduce the implementation load of adding `@ngrx` to your application. We provide a set of ready-made, generic actions that cover most of the common use cases such as loading entities and sets of entities as well as creating, updating or replacing, and deleting entities.&#x20;

Auto-Entity wires in ***ready-made*** *effects* to handle standard behaviors, as well as provides a core ***meta reducer*** that *reduces* *all* entity state managed by this library. For most use cases, the implementation burden for you the developer will be limited to basic initial `@ngrx` setup, creation of models for each entity & creation of services for each entity. This is functionality that would need to be implemented by you the developer regardless.&#x20;

Where we save you time is by eliminating the need to implement unique sets of **CRUD** actions for each and every entity, as well as the side effects that handle standard **CRUD** behavior for each and every entity. This can be a significant amount of development effort for each `@ngrx` application, and we hope the savings we offer will allow you to focus on solving the critical business needs of your customers.&#x20;

Further, Auto-Entity generates pre-fabricated **Facades** around your entity state, allowing you to *extract* all `@ngrx` and other state related code from your components, *encapsulate* them in a facade layer that presents a much *simpler*, more *logical* and easier to comprehend and use API for your entities.

![](/files/-MDa3kl6OYGf0x4PPUfJ)
