{% extends "base.html" %} {% block title %}Plugins · foilstack{% endblock %} {% block status %}{{ "{:,}".format(catalog_cards) }} catalogue cards · {{ "{:,}".format(vector_count) }} vectors · encoder {{ 'ready' if encoder else 'unreachable' }}{% endblock %} {% block screen %}
| PLUGIN | GAMES | INGEST |
|---|---|---|
| {{ p.name }} | {{ p.games | join(', ') }} | foilstack ingest --source {{ p.name }} --game pokemon |
A source plugin runs code and reaches the network. Nothing is installed automatically and there is no registry — you add one deliberately, the same way you would any other dependency.
| PLUGIN | COLUMNS | FILE | |
|---|---|---|---|
| {{ spec.label }} {{ spec.description }} |
{{ spec.columns | length }} | {{ spec.filename }} | Export |
Exporters are TOML column mappings, not code. Adding a marketplace means writing a file anyone can read in ten seconds and be sure it does nothing else.
{{ encoder_url }} — matching will fail until it is running
Vectors from two different encoders are not comparable, and the failure is silent — plausible matches that are simply wrong. If you change the model, re-encode the catalogue.