Skip to content

Sygnal

An intuitive reactive component framework built on Cycle.js patterns. Pure components, automatic state management, and zero boilerplate.

MVI Architecture

Model-View-Intent separates what happens, when it happens, and how it looks. Clear data flow makes components easy to reason about and debug.

Reactive Streams

Built on xstream and Cycle.js patterns. Every interaction is a stream, giving you powerful composition and transformation with minimal code.

Zero Boilerplate

No hooks, no selectors, no dispatchers. Define initialState, intent, and model as static properties and Sygnal wires everything together.

Pure Components

View functions are pure — they receive state, return JSX. No side effects, no lifecycle methods, no this. Simple to test and simple to compose.

Full TypeScript Support

Written in TypeScript with comprehensive type declarations. Get autocompletion, type checking, and inline documentation for components, state, intent, model, and all framework APIs.

Collections

Render dynamic lists of components with automatic isolation, keyed reconciliation, and built-in parent/child communication.

Astro Integration

First-class Astro support with server-side rendering and client hydration. Drop Sygnal components into any Astro page with a single directive.

Vike Integration

File-based routing with SSR, client-side navigation, and automatic hydration via Vike. Layouts, data fetching, and SPA mode included.