# rx-angular/rx-angular

Reactive Extensions for Angular.

Repository: https://github.com/rx-angular/rx-angular
Canonical: https://ross.abutalabs.com/products/rx-angular
Homepage: https://www.rx-angular.io/
Language: TypeScript
License: MIT
License Family: permissive
Topics: angular, performance, webperf
Last push: 2026-08-04T06:52:22+00:00

## Health v2 (maintenance only)
Score: 96/100 (v2, computed 2026-09-02T17:46:02.011165+00:00)
- activity 96, release rhythm 94, longevity 100
- inputs: {"age_days": 2344, "days_push": 29, "days_rel": 43, "gap_med": 0.0, "n_releases_24m": 45}
- flags: none
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 1965, forks 208 (observed 2026-08-28T04:05:59.895793+00:00)

## What it is
RxAngular is a monorepo of MIT-licensed Angular libraries for building fully reactive, high-performance applications, including state management (@rx-angular/state), scheduled template rendering (@rx-angular/template), low-level primitives (@rx-angular/cdk), ISR for Angular SSR (@rx-angular/isr), an ESLint plugin, and an esbuild chunk rebundler. It complements Angular's built-in signals and native control flow with frame-budgeted rendering, async state orchestration, and zoneless-readiness tooling.

## Use cases
- manage global or async-heavy reactive state in Angular components and services
- render large lists without blocking the UI thread
- add incremental static regeneration to Angular SSR apps
- lint an Angular codebase for zoneless readiness
- reduce initial HTTP requests from esbuild chunk fragmentation
- bind observables and signals directly in Angular templates with loading and error states
- implement virtual scrolling for thousands of rows

## When to choose
- your Angular app has complex, global, or async-merged state that plain signals express poorly
- you need concurrent, scheduled change detection for large or expensive template updates
- you want ISR-style caching for Angular Universal/SSR pages
- you are migrating toward or running a zoneless Angular application
- you need virtual scrolling with reactive suspense/error contexts

## When to avoid
- your components only need a few simple local signals and computed values
- you are not building with Angular
- you rely on legacy Zone.js patterns without plans to go reactive or zoneless
- you want a batteries-included UI component library rather than reactive primitives

## Facets
- artifact type: library
- maturity: active
- function: state-management, frontend-framework, ui-components, ssr, caching, linter, build-tool
- domain: web-development, frontend, performance, developer-tools
- platform: browser
- tags: angular, rxjs, reactive-programming, zoneless, signals, change-detection, virtual-scrolling, incremental-static-regeneration, monorepo-packages, performance, web-server, nodejs

## Member repositories
- rx-angular/rx-angular (main) score 96

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:05:59.895793+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-30T03:05:29.386737+00:00, confidence not recorded.
  - readme: https://github.com/rx-angular/rx-angular (fetched 2026-08-28T04:05:59.895793+00:00, sha ecad7f3651ca)
  - homepage: https://www.rx-angular.io/ (fetched 2026-08-29T10:45:40.912411+00:00, sha 990bec77cdbd)
  - site_page: https://www.rx-angular.io/docs/packages/state (fetched 2026-08-29T10:45:40.921496+00:00, sha 3887351532ba)
  - site_page: https://www.rx-angular.io/docs/packages/template (fetched 2026-08-29T10:45:40.923475+00:00, sha 5c2e7623d4fe)
  - site_page: https://www.rx-angular.io/docs/packages/cdk (fetched 2026-08-29T10:45:40.925215+00:00, sha 034af1c2235d)
  - site_page: https://www.rx-angular.io/docs/packages/isr (fetched 2026-08-29T10:45:40.927001+00:00, sha c6245ffc297d)
  - site_page: https://www.rx-angular.io/docs/packages/eslint-plugin (fetched 2026-08-29T10:45:40.928604+00:00, sha fe1f8c550f0b)
  - site_page: https://www.rx-angular.io/docs/packages/rebundle (fetched 2026-08-29T10:45:40.930176+00:00, sha 5caae513f386)
  - site_page: https://www.rx-angular.io/docs/tutorials (fetched 2026-08-29T10:45:40.931902+00:00, sha 3fa86318c044)
  - site_page: https://www.rx-angular.io/docs/concepts (fetched 2026-08-29T10:45:40.933438+00:00, sha 113f4eb19bcc)
- Data as of 2026-08-30T08:39:29.467469+00:00.
