# octanejs/octane

React’s programming model, compiled. The successor to Inferno.

Repository: https://github.com/octanejs/octane
Canonical: https://ross.abutalabs.com/products/octanejs-octane
Homepage: https://octanejs.dev
Language: TypeScript
License: MIT
License Family: permissive
Last push: 2026-08-26T18:40:53+00:00

## Health v2 (maintenance only)
Score: 76/100 (v2, computed 2026-09-03T02:39:23.370411+00:00)
- activity 99, release rhythm 87, longevity 5
- inputs: {"age_days": 72, "days_push": 7, "days_rel": 7, "gap_med": 0, "n_releases_24m": 2552}
- flags: young
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 1332, forks 49 (observed 2026-08-28T04:04:24.494523+00:00)

## What it is
Octane is a compiled JavaScript UI framework that keeps React's component and hooks API while compiling components to direct DOM code with no virtual DOM. It is the successor to Inferno, created by Dominic Gannaway, and adds compiler-inferred dependency arrays, no rules of hooks, and a TSRX template syntax.

## Use cases
- build a fast SPA with React-style hooks but no virtual DOM
- migrate a React app incrementally without rewriting components
- stop maintaining useEffect and useMemo dependency arrays by hand
- use hooks inside conditionals without rules-of-hooks errors
- stream SSR with Suspense boundaries in a fullstack app
- render Octane components inside an existing React 19 app
- build native iOS and Android apps with Lynx and Octane components

## When to choose
- you know React and want its mental model with better runtime performance
- you want signal-framework ergonomics (no dependency arrays, no hook rules) without leaving the hooks model
- you are starting a new project and can tolerate alpha software
- you want to adopt a compiled framework one component at a time via React compat islands

## When to avoid
- you need a battle-tested, stable framework for production today
- your project depends heavily on the React ecosystem without Octane bindings
- you cannot pin versions or absorb breaking changes from alpha software
- you need React 18 or older compatibility

## Facets
- artifact type: framework
- maturity: experimental
- function: frontend-framework, ssr, compiler, templating, state-management, web-framework
- domain: web-development, frontend, developer-tools
- platform: cross-platform, browser
- tags: react-compatible, jsx, tsrx, no-virtual-dom, hooks, vite-plugin, inferno-successor, alpha, nodejs, web-server

## Member repositories
- octanejs/octane (main) score 76

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:04:24.494523+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-30T04:45:13.565314+00:00, confidence not recorded.
  - readme: https://github.com/octanejs/octane (fetched 2026-08-28T04:04:24.494523+00:00, sha 74960b20cc5e)
  - homepage: https://octanejs.dev (fetched 2026-08-29T12:04:38.771014+00:00, sha 02344fdc4020)
  - site_page: https://octanejs.dev/docs (fetched 2026-08-29T12:04:38.780233+00:00, sha d380c50f2b7b)
  - site_page: https://octanejs.dev/docs/quick-start (fetched 2026-08-29T12:04:38.782660+00:00, sha d380c50f2b7b)
  - site_page: https://octanejs.dev/docs/differences-from-react (fetched 2026-08-29T12:04:38.785494+00:00, sha 343a383eb9e6)
  - site_page: https://octanejs.dev/docs/bindings (fetched 2026-08-29T12:04:38.788168+00:00, sha fcae6f0a24eb)
  - site_page: https://octanejs.dev/docs/tsrx-vs-tsx (fetched 2026-08-29T12:04:38.790067+00:00, sha 5f30de1a4d7b)
  - site_page: https://octanejs.dev/docs/react-compat (fetched 2026-08-29T12:04:38.792181+00:00, sha 07c5684b6f2b)
  - site_page: https://octanejs.dev/docs/lynx (fetched 2026-08-29T12:04:38.794159+00:00, sha a4d72a32c1b4)
  - registry_npm: https://registry.npmjs.org/octane (fetched 2026-08-29T12:04:38.796212+00:00, sha 092132808915)
- Data as of 2026-08-30T08:39:29.467469+00:00.
