
Angular Best Practices Ngrx
- 454 installs
- 37 repo stars
- Updated March 28, 2026
- alfredoperez/angular-best-practices
angular-best-practices-ngrx is an Angular architecture skill that designs NgRx store layouts, effects, selectors, and entity patterns for developers building complex apps with shared async state and predictable data flow
About
angular-best-practices-ngrx is an alfredoperez/angular-best-practices skill focused on NgRx state management for production Angular applications. The skill architects store modules, effect pipelines, memoized selectors, and @ngrx/entity collections so shared async data flows predictably across components and services. Developers reach for angular-best-practices-ngrx when Angular apps outgrow service-based state, suffer selector recomputation issues, or need normalized entity caches for large datasets. Output includes store slice design, effect error-handling patterns, and selector composition guidance aligned to Angular and NgRx conventions.
- Store, effects, and reducer layout
- Entity and feature state modules
- Selector memoization patterns
- Side-effect error handling
- Scalable async data flows
Angular Best Practices Ngrx by the numbers
- 454 all-time installs (skills.sh)
- Ranked #637 of 2,245 Frontend Development skills by installs in the Skillselion catalog
- Data as of Aug 3, 2026 (Skillselion catalog sync)
npx skills add https://github.com/alfredoperez/angular-best-practices --skill angular-best-practices-ngrxAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 454 |
|---|---|
| repo stars | ★ 37 |
| Last updated | March 28, 2026 |
| Repository | alfredoperez/angular-best-practices ↗ |
How do you architect NgRx store in Angular?
Design NgRx store architecture, effects, selectors, and entity patterns for complex Angular apps with shared async state and predictable data flows.
Who is it for?
Angular developers managing complex shared async state who need NgRx store, effects, and entity patterns beyond simple service-based data flow.
Skip if: Skip angular-best-practices-ngrx for small Angular apps with minimal shared state, or projects using signals-only state without NgRx.
When should I use this skill?
User asks about NgRx store design, Angular effects, entity adapters, or selector optimization in a complex Angular app
What you get
NgRx store module design, effects pipelines, memoized selectors, and entity adapter patterns
- NgRx store architecture
- effects and selector patterns
- entity adapter design
Files
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
| Rule | Impact | Description |
|---|---|---|
| Keep Reducers Pure | HIGH | No side effects in reducers; move HTTP calls to Effects |
| Use Feature Selectors | MEDIUM | Memoized selectors that recompute only when inputs change |
Install
Install from skills.sh/alfredoperez/angular-best-practices:
- Core skill: angular-best-practices
- This add-on: angular-best-practices-ngrx
Angular Ngrx Best Practices
Use with the core angular-best-practices skill.---
1. NgRx State Management
Impact: HIGH (Global state)
1.1 Keep Reducers Pure
Impact: HIGH (Predictable state, testable, time-travel debugging)
Reducers must be pure functions: no side effects, no HTTP calls, no subscriptions. Only compute new state from action and current state. Move side effects to Effects.
Example:
on(UsersActions.load, state => ({ ...state, loading: true }));
// HTTP call goes in UsersEffects1.2 Use Feature Selectors
Impact: MEDIUM (Memoized selection, better performance)
Use createFeatureSelector and createSelector for memoized state selection. Selectors only recompute when their inputs change.
Example:
const selectCounterState = createFeatureSelector<CounterState>('counter');
export const selectCount = createSelector(selectCounterState, s => s.count);---
Related skills
FAQ
What NgRx patterns does angular-best-practices-ngrx cover?
angular-best-practices-ngrx covers NgRx store module design, effect pipelines for async actions, memoized selector composition, and @ngrx/entity adapter patterns for normalized collections in complex Angular applications.
When should Angular developers adopt NgRx via this skill?
angular-best-practices-ngrx applies when Angular apps have shared async state across many components, unpredictable service-based data flows, or large datasets that benefit from normalized entity caches and memoized selectors.