spl:compare
Compare two products in the workspace by their feature sets — what they share and what is specific to each.
Usage
splent spl:compare <product_a> <product_b>
Runs in detached mode (no product selected).
Description
Reads the feature list from each product’s pyproject.toml and reports:
- Shared — features present in both products.
- Only in
<product>— features specific to each product.
Features are matched by organisation/package: two features count as the same only when both the org (or user) and the package name coincide. The version is ignored on purpose, so two products pinned to different versions of the same feature still share it.
The header shows a reuse percentage (shared / union) — a quick health
signal for a Software Product Line: the larger the shared core, the better the
products exploit the line.
Example
$ splent spl:compare innosoft_app diversolab_app
innosoft_app ↔ diversolab_app
9 feature(s) in innosoft_app · 9 feature(s) in diversolab_app
Reuse: 4/14 shared (29%)
Shared (4)
splent_io/splent_feature_auth
splent_io/splent_feature_public
splent_io/splent_feature_team
splent_io/splent_feature_theme
Only in innosoft_app (5)
splent_io/splent_feature_events
splent_io/splent_feature_skin_arcade
...
Only in diversolab_app (5)
splent_io/splent_feature_projects
splent_io/splent_feature_tools
...