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
    ...

Back to top

splent. Distributed by an LGPL license v3. Contact us: drorganvidez@us.es