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.
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.