A modern front-end MVC framework with reactive state management, modular design, and first-class TypeScript support.
- Lightweight, reactive state management
- Atomic state (
atom), derived state (selector) - Side effect system (
effect) - Event system (
createEvent) - No external dependencies, fully typed
See packages/core/README.md for full API and usage.
- React hooks for Relax state
useRelaxState– use and update Relax state in ReactuseRelaxValue– read-only subscription to Relax state- TypeScript-first, minimal API
See packages/relax-react/README.md for details.
- Vite + React + TypeScript template
- Includes a modern TodoList demo using Relax state and hooks
- Ready for rapid prototyping and testing
- Complete demonstration of the Action system
- Shows plugin usage for logging and analytics
- Standalone TypeScript example
-
Install dependencies (use pnpm for workspace support):
pnpm install
-
Build all packages:
pnpm run build
-
Run the example project:
cd examples/relax-demos pnpm run dev
- All packages are TypeScript-first and designed for composability.
- You can use and extend the core state system in any framework.
- React integration is provided via hooks in
@relax/react.
- @relax-state/core README
- @relax-state/react README
- Example usage in
examples/relax-demos
Contributions, issues, and feature requests are welcome!
Feel free to submit a PR or open an issue.