{% extends "public_base.html" %}
{% import "marketplace/_macros.html" as mk %}
{% block title %}{{ _("Publish your feature") }} ยท {{ _("Marketplace") }}{% endblock %}
{% block hero %}
{{ _("There is no upload button, and that is the point. Releasing on your own GitHub is publishing, and the marketplace index is rebuilt from your feature's contract.") }}{{ _("Publish your feature") }}
{{ _("Scaffold it in your SPLENT workspace. The contract (what it provides and what it requires) is inferred from the code and kept in the feature's own pyproject.toml. You never write index data by hand.") }}
splent feature:create my_feature
{{ _("One command bumps the version, regenerates the contract, tags the repository and uploads to PyPI. The Git tag IS the publication. There is no separate submission step.") }}
splent feature:release
{{ _("Open a pull request adding your GitHub organisation or repository to the registry file of the index. Once reviewed and merged, the indexer reads your released tags. You never push data into the marketplace.") }}
registry.toml in splent-io/splent_index {{ mk.icon("external-link", 13) }}
{{ _("The index rebuilds automatically from the latest released tags. Your feature appears here with its contract, dependencies and collisions. To fix or update anything, just release again.") }}
{{ _("Browse the catalog") }} {{ mk.icon("arrow-right", 13) }}