Search packages, repositories and app categories

Package detailsv7.1.0

signals

Reactivity made simple. Do more by doing less. Supports Flutter and any Dart project including HTML/JS, CLI, Shelf Server, VM and more.

AndroidiOSWebmacOSWindowsLinux
30-day downloads
26.1K
Likes
714
Pub points
160

Install package

flutter pub add signals

Package Overview

Package selection guidance compiled from public package information, community data, and project usage.

Signals is a lightweight reactivity library for Dart and Flutter that simplifies state management by enabling automatic updates when data changes. It allows developers to create reactive variables and expressions with minimal boilerplate, making it easy to build dynamic UIs and manage state across different platforms. Designed for simplicity and performance, Signals works seamlessly in Flutter apps as well as non-UI environments like servers, CLI tools, and web applications. Its API is intuitive, focusing on doing more with less code.

Use cases

  • Real-time UI updates
  • Cross-platform state management
  • Server-side reactive logic
  • Simplified dependency tracking
  • Lightweight alternative to providers
  • Event-driven application architecture

Key features

  • Zero boilerplate reactivity
  • Automatic dependency tracking
  • Works across all Dart platforms
  • Minimal API surface
  • Supports async and sync signals
  • Composable signal expressions

Suitable for

  • Developers seeking simple reactivity
  • Flutter apps needing lightweight state
  • Non-UI Dart projects with reactive needs
  • Teams avoiding complex state solutions
  • Prototyping rapid UI changes
  • Projects targeting multiple platforms

Considerations

  • Not ideal for very large-scale state trees
  • Limited built-in debugging tools
  • No official devtools integration yet
  • Best suited for moderate complexity
  • Requires understanding of reactive patterns
  • May need complementing with other state libraries for advanced use

Original README

Original README snapshot from the linked source repository. Visit the repository for the latest content.

Tests Website GitHub stars Coverage GitHub issues GitHub pull-requests melos

Signals.dart

Try chat with CodeWiki!

Features

  • 🪡 Fine grained reactivity: Based on Preact Signals and provides a fine grained reactivity system that will automatically track dependencies and free them when no longer needed
  • ⛓️ Lazy evaluation: Signals are lazy and will only compute values when read. If a signal is not read, it will not be computed
  • 🗜️ Flexible API: Every app is different and signals can be composed in multiple ways. There are a few rules to follow but the API surface is small
  • 🔬 Surgical Rendering: Widgets can be rebuilt surgically, only marking dirty the parts of the Widget tree that need to be updated and if mounted
  • 💙 100% Dart Native: Supports Dart JS (HTML), Shelf Server, CLI (and Native), VM, Flutter (Web, Mobile and Desktop). Signals can be used in any Dart project

To start using signals, check out the full documentation.

VS Code Extension: https://marketplace.visualstudio.com/items?itemName=rodydavis.signals-dart

Packages

Package Pub
signals signals
signals_core signals_core
signals_flutter signals_flutter
signals_lint signals_lint
signals_hooks signals_hooks
preact_signals signals_lint
signals_devtools_extension

AI Developer Skills

To enable AI coding assistants (like Google Antigravity, Gemini, Claude, Cursor, GitHub Copilot, and others) to build high-quality reactive systems with signals.dart, this repository includes prepackaged, high-fidelity developer Skills.

These skills are located under the ./skills directory and are fully modular:

  • signals-preact-dart: Deep knowledge and best practices for core reactive primitives (signal, computed, effect, batch, untracked).
  • signals-dart: Best practices for async signal operations (FutureSignal, StreamSignal), reactive collections, writable computed signals (linkedSignal), and value semantics.
  • signals-flutter: Comprehensive guides on element-level reactive UI integration, high-frequency GPU rendering bypasses, lifecycle side-effects, and .watch(context) extensions.
  • signals-migration-6-to-7: Detailed instructions, patterns, and refactoring techniques to safely upgrade applications from signals v6.x to v7.0.0.
How to use them:
1. One-Command Installation via skills.sh

You can instantly install all available signals skills into your global AI environment using the unified skills.sh registry CLI:

npx skills add rodydavis/signals.dart
2. Manual Reference

Simply reference the path to the desired skill directory in your AI prompt, or load the contents of the relevant SKILL.md files as context for your AI coding assistant.

Contributors

Categories

Dependencies

Dependency list 3 items

Source repository

Projects using this package