product:signals
Show all signals defined by features in the active product, with provider and listener attribution.
Table of contents
Usage
splent product:signals
Options
This command has no options. It boots the active product and reads the signal registry populated during feature loading.
Example output
Signals with listeners
splent product:signals
sample_splent_app -- 1 signal(s)
SIGNAL EMITTED BY LISTENERS
──────────────────────────────────────────────────────────────
user-registered splent_feature_auth splent_feature_profile
Signal with no listeners
If a feature defines a signal but no other feature connects to it, the output shows it with no listeners.
sample_splent_app -- 2 signal(s)
SIGNAL EMITTED BY LISTENERS
──────────────────────────────────────────────────────────────
note-created splent_feature_notes (none)
user-registered splent_feature_auth splent_feature_profile
No signals registered
If no feature in the product defines any signals, the output says so.
sample_splent_app: no signals registered.
How it works
The command boots the Flask application via get_app(), which triggers feature loading. During loading, each feature’s signals.py is auto-imported, populating the signal registry with define_signal() and connect_signal() calls. The command then reads the registry via get_registry() and formats the output as a table sorted by signal name.
Requirements
- A product must be selected (
splent product:select).
See also
- Signals. How the signal system works
product:routes. Inspect registered HTTP routesproduct:config. Inspect resolved configurationfeature:contract. Validate signal contracts between features