# cyclejs/cyclejs

A functional and reactive JavaScript framework for predictable code

Repository: https://github.com/cyclejs/cyclejs
Canonical: https://ross.abutalabs.com/products/cyclejs
Homepage: http://cycle.js.org
Language: TypeScript
License: MIT
License Family: permissive
Topics: framework, javascript, typescript, reactive-programming, rxjs, cyclejs, functional-programming
Last push: 2026-06-09T05:20:11+00:00

## Health v2 (maintenance only)
Score: 62/100 (v2, computed 2026-09-02T17:46:02.011165+00:00)
- activity 86, release rhythm 8, longevity 100
- inputs: {"age_days": 4317, "days_push": 85, "days_rel": null, "gap_med": null, "n_releases_24m": 0}
- flags: none
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 10225, forks 421 (observed 2026-08-28T04:10:39.960597+00:00)

## What it is
Cycle.js is a functional and reactive JavaScript/TypeScript framework for building predictable web applications, organized as a monorepo of packages such as @cycle/run, @cycle/dom, and @cycle/history. It models applications as dialogues between your program and the outside world using RxJS observable streams and a Model-View-Intent architecture with pluggable drivers for DOM, HTTP, and routing.

## Use cases
- build a web app where all state flows through observable streams
- write predictable frontend code with functional reactive programming
- manage application state with RxJS instead of ad-hoc patterns
- structure a UI using model-view-intent architecture
- build a single-page app with drivers for DOM, history, and HTTP
- learn reactive programming applied to real user interfaces

## When to choose
- you want strictly unidirectional, stream-based data flow with no implicit mutable state
- your team already knows RxJS and observables
- you value a small, explicit core where side effects are isolated in drivers
- you need a framework that is stable and unlikely to churn under you

## When to avoid
- you need a large ecosystem of off-the-shelf components, plugins, and hiring pool
- you prefer imperative or hook-based patterns popularized by React
- your team is new to reactive programming and needs abundant tutorials and community support
- you want rapid integration with the newest third-party UI libraries

## Facets
- artifact type: framework
- maturity: stable
- function: web-framework, frontend-framework, state-management, ui-components, routing
- domain: web-development, frontend, developer-tools
- platform: browser, cross-platform
- tags: reactive-programming, rxjs, functional-programming, streams, observables, mvi, model-view-intent, virtual-dom, typescript, drivers, unidirectional-data-flow, nodejs

## Member repositories
- cyclejs/cyclejs (main) score 62

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:10:39.960597+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-29T17:19:29.650107+00:00, confidence not recorded.
  - readme: https://github.com/cyclejs/cyclejs (fetched 2026-08-28T04:10:39.960597+00:00, sha 0f42e0370f09)
  - homepage: http://cycle.js.org (fetched 2026-08-29T08:19:21.454866+00:00, sha 85568c2ac04e)
  - site_page: https://cycle.js.org/getting-started.html (fetched 2026-08-29T08:19:21.463701+00:00, sha 4cb25d19adea)
  - site_page: https://cycle.js.org/releases.html (fetched 2026-08-29T08:19:21.465475+00:00, sha 6b425a74c586)
- Data as of 2026-08-30T08:39:29.467469+00:00.
