Browsing the catalog

The marketplace web app is a read-only window onto the published index — every card you see is a rendered feature contract.


Table of contents

  1. The catalog
    1. Better search, automatically
  2. The feature sheet
  3. Product lines

The catalog

The landing page is a grid of every indexed feature with a free-text search box and two filters:

Filter Values Comes from
Archetype full, light, service, config Derived by source analysis when the contract is generated
Category e.g. content, infrastructure, integration The category field authors set once in the contract (preserved across regeneration)

The free-text search matches name, repo, description and tags. The same query semantics are available offline in the CLI via feature:search.

Better search, automatically

The catalog searches in memory by default. When the product also installs the elasticsearch feature, the marketplace transparently upgrades to full-text search with fuzzy matching and relevance ranking — no configuration, no code change. This is a soft dependency: the marketplace only tries to use ElasticsearchService and falls back silently when it is absent or unreachable. (See dependency kinds for how soft dependencies work.)

The feature sheet

Clicking a feature opens its full sheet — the complete contract, plus everything the indexer computed around it:

  • What it provides — routes, blueprints, models, services, hooks, signals, commands, translations and Docker services.
  • Hard requirementsrequires.features: features that must be in the product or this one breaks. feature:install enforces these.
  • Works better withrequires.features_optional: soft dependencies the feature degrades gracefully without (e.g. a public site that shows events only when the events feature is installed). Shown for guidance, never enforced.
  • Used by — reverse dependencies: which indexed features require this one.
  • Collisions — features that provide the same route, service or model and therefore cannot coexist in one product unless the SPL puts them in an alternative group.
  • Distribution — latest released tag, whether the package is on PyPI, and the source repository.
  • Install command — the exact feature:install line to copy.

The CLI equivalent of the sheet is feature:info.

Product lines

The Product lines page lists every SPL in the index with its parsed variability model: mandatory features, optional features, and alternative groups (pick at most one — e.g. session_filesystem vs session_redis). When the marketplace product also installs the configurator feature, each line shows a Configure this line action that opens the configurator — another soft dependency: without it, the page simply renders without the button.


Back to top

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