marketplace:index

Build the marketplace index from feature contracts and the SPL catalog.


Usage

splent marketplace:index [--org ORG]... [--repo ORG/REPO]... [--registry FILE] [--local] [--output PATH] [--no-pypi]
Option Description
--org GitHub organisation to index. Repeatable. Defaults to splent-io.
--repo Extra org/repo to index explicitly (third-party features outside the orgs). Repeatable.
--registry Path to a registry.toml listing curated orgs/repos to index.
--local Index the editable features in the workspace instead of GitHub. No network needed.
--output Write the index to this path. Defaults to .splent_cache/marketplace/index.json.
--no-pypi Skip the PyPI publication check (faster).

Examples

Index the default org from GitHub:

splent marketplace:index

Index the workspace offline (instant, great during development):

splent marketplace:index --local

Build the published index in CI from a curated source list:

splent marketplace:index --registry registry.toml --output ./public/index.json

How it works

For every splent_feature_* repo reachable from the sources, the command resolves the latest semver tag, downloads pyproject.toml at that tag, and turns [tool.splent.contract] into an index entry. Repos without a released tag are reported and skipped — releasing (feature:release) is what publishes a feature. The SPLs in splent_catalog are parsed (mandatory/optional, alternative groups, constraints) so index consumers can reason about variability. Finally it computes used_by (reverse dependencies) and collisions (features providing the same route/service/model).

The registry file passed to --registry is plain TOML:

[registry]
orgs  = ["splent-io"]
repos = ["some-org/splent_feature_billing"]

Third-party authors get listed by adding their line here through a reviewed pull request; the marketplace never accepts pushed data.

Consumers

feature:search and feature:info read the local index automatically. Products of the marketplace web app serve the same file. Set SPLENT_INDEX_URL to make every workspace consume a published index without building it locally.


Back to top

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