Angular Best Practices Ngrx

alfredoperez/angular-best-practices/skills/angular-best-practices-ngrx

by alfredopereza499a4786182097a500dd2fb6ddc2489caee3854MIT37 starsListed Oct 9, 2026Updated Oct 9, 2026Repository updated 6 months ago

NgRx state management best practices for Angular. Covers pure reducers, action groups, entity adapter, selectors, and signal-based selection. Activates when working with @ngrx/store, @ngrx/effects, and @ngrx/entity. Do not use for Akita, NGXS, or standalone signal-based state. Install alongside angular-best-practices for full coverage.

ArchivedInstructions onlySoftware Development
AI-generated overview

NgRx state management best practices for Angular, covering reducers, effects, selectors and entity adapters.

What it does
Provides guidance rules for NgRx state management in Angular projects, covering pure reducers, action groups, entity adapters, selectors and signal-based selection. It is an add-on meant to be used alongside a core Angular best-practices skill. It produces advisory rules rather than code artifacts.
When to use it
Use when adding or modifying NgRx stores, reducers or effects, writing selectors for component state selection, or managing collections with @ngrx/entity. It is not intended for Akita, NGXS or standalone signal-based state.
Requirements
No scripts or runtime dependencies; it is an instructions-only skill. It assumes a project using @ngrx/store, @ngrx/effects and @ngrx/entity, and is designed to be installed alongside the core angular-best-practices skill.

Angular NgRx Best Practices

NgRx state management rules for global state with actions, reducers, effects, and selectors. Use with the core angular-best-practices skill for comprehensive Angular coverage.

Links

When to Apply

  • Adding or modifying NgRx stores, reducers, or effects
  • Writing selectors for state selection in components
  • Managing collections with @ngrx/entity

Rules

RuleImpactDescription
Keep Reducers PureHIGHNo side effects in reducers; move HTTP calls to Effects
Use Feature SelectorsMEDIUMMemoized selectors that recompute only when inputs change

Install

Install from skills.sh/alfredoperez/angular-best-practices:

Source and attribution

Source:alfredoperez/angular-best-practicesinskills/angular-best-practices-ngrxat commita499a47

License: MIT

Content belongs to its original authors. SourceWeft indexes it from a public repository.

Report or request removal

More from alfredoperez/angular-best-practices

Angular Best Practices Signalstore

alfredoperez

NgRx SignalStore best practices for Angular. Covers shared state, computed state, entity management, and RxJS integration with rxMethod. Activates when working with @ngrx/signals and @ngrx/signals/entities. Do not use for NgRx Store or class-based state services. Install alongside angular-best-practices for full coverage.

Archived
Awaiting classification37updated 6 months ago

Angular Best Practices Primeng

alfredoperez

PrimeNG best practices for Angular: tree-shakeable imports, lazy-loaded tables, and Aura/Lara theming with design tokens.

Archived
Software Development37updated 6 months ago

Angular Best Practices Material

alfredoperez

Angular Material and CDK best-practice rules for imports, M3 theming, CDK utilities and component test harnesses.

Archived
Software Development37updated 6 months ago

Angular Best Practices

alfredoperez

Modern Angular best practices for building performant, maintainable Angular 17+ applications. Covers Signals, RxJS, components, templates, styles, performance, SSR, testing, forms, routing, accessibility, and architecture — with code examples and impact ratings for every rule. Use this skill whenever the user is working on Angular code of any kind: components, services, templates, stylesheets, routes, tests, or configuration. This applies to editing .component.ts, .service.ts, .html templates, .scss/.css styles, .spec.ts tests, .routes.ts files, store files, and any general .ts file in an Angular project. Look for angular.json, nx.json, or @angular/core imports as project indicators. Do not use for AngularJS (1.x), React, Vue, or non-Angular TypeScript projects.

Archived
Awaiting classification37updated 6 months ago