pyreon

Pyreon is a signal-based UI framework that renders directly to the DOM without a virtual DOM. It provides fine-grained reactivity, streaming SSR, a JSX compiler, and compatibility layers for React, Preact, Vue, Solid, and Svelte.

The tables below group the 77 published packages by area; the package catalog lists every one of them.

Core Framework

The foundation — reactivity engine, component model, renderers, router, and build tooling.

PackageDescription
@pyreon/reactivitySignals, computed values, effects, stores, and resources
@pyreon/coreComponent model, JSX runtime, lifecycle hooks, control flow
@pyreon/compilerJSX compiler with reactivity wrapping and static hoisting
@pyreon/runtime-domDOM renderer — mount, hydrate, transitions, keep-alive
@pyreon/runtime-serverSSR/SSG with streaming Suspense and store isolation
@pyreon/routerType-safe routing with nested routes, guards, and loaders
@pyreon/headReactive document head management with SSR support
@pyreon/serverSSR handler, SSG, island architecture, and middleware
@pyreon/vite-pluginVite integration with JSX transform and HMR
@pyreon/typescriptShared TypeScript configuration presets
@pyreon/clipyreon CLI — doctor, check, add, new, context, lint, info, upgrade, plain
@pyreon/mcpMCP server for AI-assisted development
@pyreon/primitivesCanonical multi-platform primitives — compile to DOM, SwiftUI, and Compose
@pyreon/sized-mapBounded Map with FIFO or LRU-on-read eviction

Compatibility Layers

Use the API you already know, powered by Pyreon's signal engine.

PackageDescription
@pyreon/react-compatReact hooks API — useState, useEffect, useMemo, etc.
@pyreon/preact-compatPreact API — h(), Component class, signals integration
@pyreon/solid-compatSolidJS API — createSignal, createEffect, control flow
@pyreon/vue-compatVue 3 Composition API — ref, computed, reactive, watch
@pyreon/svelte-compatSvelte API — stores and lifecycle on Pyreon's engine
FeatureReactPreactSolidVue
Signals / reactive state✓✓✓✓
Computed / derived values✓✓✓✓
Effects / watchers✓✓✓✓
Lifecycle hooks✓✓✓✓
Control flow components~~✓~
Component model✓✓✓✓
Context / provide-inject✓✓✓✓
Store / state management~~✓✓

State & Data

Signal-native state management, forms, i18n, and data fetching.

PackageDescription
@pyreon/storePinia-inspired composition stores with SSR isolation
@pyreon/state-treeStructured state tree with snapshots, patches, and middleware
@pyreon/formSignal-based form management with field arrays
@pyreon/validationSchema validation adapters for Zod, Valibot, and ArkType
@pyreon/i18nReactive i18n with async namespace loading
@pyreon/queryTanStack Query adapter with Suspense and SSR dehydration
@pyreon/tableTanStack Table adapter for reactive table state
@pyreon/virtualTanStack Virtual adapter for virtual scrolling
@pyreon/machineReactive state machines with type-safe transitions
@pyreon/storageReactive client-side storage — localStorage, sessionStorage, cookies, IndexedDB
@pyreon/permissionsType-safe reactive permissions — RBAC, ABAC, feature flags
@pyreon/hotkeysKeyboard shortcut management with scopes and modifiers
@pyreon/validateDX layer over Standard Schema — field metadata, reactive parse, error formatting
@pyreon/httpHTTP client under @pyreon/query — middleware, typed errors, schema-validated responses
@pyreon/rxSignal-aware transforms — filter, map, sort, group, pipe
@pyreon/url-stateURL search-param state — signal-backed, type-coerced, SSR-safe
@pyreon/syncLocal-first CRDT sync for signals

Meta-Framework

Zero-config full-stack framework and developer tooling.

PackageDescription
@pyreon/zeroFull-stack meta-framework — file routing, SSR/SSG/ISR, optimized components
@pyreon/create-zeroProject scaffolding for new Zero applications
@pyreon/zero-clizero CLI — dev, build, preview
@pyreon/zero-contentContent layer — compile-time .md / .mdx, typed collections
@pyreon/create-multiplatformScaffold a web + iOS + Android app from one source
@pyreon/metaBarrel package re-exporting the full fundamentals ecosystem
@pyreon/storybookStorybook renderer for developing and documenting Pyreon components

UI System

Styling, theming, components, hooks, and animations.

PackageDescription
@pyreon/ui-coreCore initialization, CSS engine connector, and shared utilities
@pyreon/stylerCSS-in-JS engine with theme support
@pyreon/unistyleResponsive breakpoints and media query utilities
@pyreon/hooks65 signal-based hooks for common UI patterns
@pyreon/elementsFoundational components — Element, List, Overlay, Portal, Text
@pyreon/attrsChainable component factory for composing default props
@pyreon/rocketstyleMulti-dimensional style composition — themes, sizes, variants
@pyreon/coolgridResponsive grid system with Container, Row, Col
@pyreon/kineticCSS-transition animation components — Transition, Stagger, Collapse
@pyreon/kinetic-presets120+ animation presets and composition utilities
@pyreon/connector-documentBridge between styled components and @pyreon/document
@pyreon/document-primitivesRocketstyle document components for multi-format export

Ecosystem

Specialized packages for rich application features.

PackageDescription
@pyreon/documentUniversal document rendering — one template, 20 output formats
@pyreon/chartsCharts on web, iOS and Android from one source
@pyreon/codeReactive CodeMirror 6 code editor with signals
@pyreon/flowReactive flow diagrams with signal-native nodes and auto-layout
@pyreon/featureSchema-driven CRUD primitives with auto-generated hooks
@pyreon/rich-textReactive WYSIWYG editor over TipTap / ProseMirror
@pyreon/dndSignal-driven drag and drop
@pyreon/toastImperative toast notifications, no provider needed
@pyreon/a11yAnnouncements, visually-hidden content, stable ARIA ids
@pyreon/authOIDC sign-in, sessions, TOTP, passkeys, route guards

Developer Tools

PackageDescription
@pyreon/lintPyreon-specific linter — 133 rules across 25 categories
@pyreon/testingTesting-Library-style render/screen/fireEvent plus reactive matchers
@pyreon/atlasComponent workbench — derives and verifies a component catalog
@pyreon/loomMonorepo dependency observatory
@pyreon/latheOpenAPI in, typed schemas / endpoints / queries out
@pyreon/configOne pyreon.config.ts with a typed section per package
@pyreon/devtoolsChrome DevTools extension (built from the monorepo; not published to npm)

Native (multiplatform)

The compiler, CLI, and Swift / Kotlin runtimes that take one Pyreon source to SwiftUI and Jetpack Compose. See Native packages and Multiplatform.

PackageDescription
@pyreon/native-compilerCompiles Pyreon JSX to SwiftUI and Jetpack Compose
@pyreon/native-clipyreon-native CLI — builds a source directory to both targets
@pyreon/native-runtime-swiftSwift runtime the emitted SwiftUI code links against
@pyreon/native-runtime-kotlinKotlin runtime the emitted Compose code links against
@pyreon/native-router-swift@pyreon/router's API for SwiftUI
@pyreon/native-router-kotlin@pyreon/router's API for Jetpack Compose

Quick Start

The fastest path is the scaffolder — the Quickstart has a live, no-install demo plus the one-command setup:

npm create @pyreon/zero@latest my-app

Or add Pyreon to an existing Vite project by hand — install the core packages:

npm install @pyreon/core @pyreon/reactivity @pyreon/runtime-dom @pyreon/vite-plugin
bun add @pyreon/core @pyreon/reactivity @pyreon/runtime-dom @pyreon/vite-plugin
pnpm add @pyreon/core @pyreon/reactivity @pyreon/runtime-dom @pyreon/vite-plugin
yarn add @pyreon/core @pyreon/reactivity @pyreon/runtime-dom @pyreon/vite-plugin

Create a component:

// @check
import { signal, computed } from '@pyreon/reactivity'
import { Show } from '@pyreon/core'
import { mount } from '@pyreon/runtime-dom'

const count = signal(0)
const doubled = computed(() => count() * 2)

const App = () => (
  <div>
    <button onClick={() => count.set(count() + 1)}>
      Count: {count()} (doubled: {doubled()})
    </button>
    <Show when={() => count() > 5}>
      <p>Count is greater than 5!</p>
    </Show>
  </div>
)

mount(<App />, document.getElementById('app')!)