| Filename | Latest commit message | Latest commit date |
|---|---|---|
| .forgejo/workflows | ||
| index.json | ||
| README.md | ||
| registry.toml | ||
splent_index
The published SPLENT marketplace index.
index.json is a regenerable cache derived from the real sources of
truth. Each feature's auto-generated [tool.splent.contract] is read from
pyproject.toml at its latest released tag, and the SPL lines (UVL
variability models) come from the marketplace at https://marketplace.splent.io,
each at the DOI it publishes. Nothing here is edited by hand. If the index is
ever stale or wrong, it is simply rebuilt.
How it works
- Publishing a feature means releasing it.
splent feature:releasetags the repo, and this index picks the tag up on the next build. There is no upload, no login, and no publish API. - Publishing an SPL goes through the marketplace.
splent spl:publishsends the model to the marketplace, which publishes it on UVLHub and records its DOI. This index picks the line up from the marketplace's public/api/v1/splson the next build. - The build is one CLI command. CI runs
splent marketplace:index --registry registry.toml --output index.jsonon every push tomain, every 6 hours and on demand, then commitsindex.jsonback. A push that only changesindex.jsondoes not trigger it again. - Third-party features are curated, not uploaded. Host your feature in
your own org on
git.splent.io, which is the forge the build reads, and release it there withsplent feature:release. Then open a pull request adding your org or repo toregistry.toml. The indexer reads each contract at its latest tag on every build.
Consuming the index
The marketplace web app reads this file by default. The splent CLI
(feature:search, feature:info) reads the workspace copy that
splent marketplace:index writes, and this file only when
SPLENT_INDEX_URL points at it. Point a workspace at the published copy
like this.
SPLENT_INDEX_URL=https://git.splent.io/splent-io/splent_index/raw/branch/main/index.json
Or build a copy from your workspace with splent marketplace:index --local.