- 🪡 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
| Package | Pub |
|---|---|
signals |
|
signals_core |
|
signals_flutter |
|
signals_lint |
|
signals_hooks |
|
preact_signals |
|
signals_devtools_extension |
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.
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.dartSimply 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.