Publishing a theme
Choose Theme on the publish form. Drop the ZIP and the hub reads style.css for the name, version and requirements, and takes the folder inside the ZIP as the theme’s stylesheet directory — which is what WordPress calls it.
Themes have no plans, no licence and no product key. There is one package, served to any linked site that asks for it, and no tier control appears.
A theme may share a name with a plugin. They are held separately, so the Keen2Support theme lives under keen2support alongside the plugin of that name, and each is served only to whoever asks for that kind. A download link for one cannot be edited into the other: the kind is part of what the link is signed over.
The theme needs its own updater. WordPress reads plugin and theme updates through two different transients, and the plugin’s updater does not cover themes: the theme has to poll /version?product=<stylesheet>&type=theme itself, sending the site token, and feed the answer to pre_set_site_transient_update_themes. Until it does, publishing here stores the release and nothing on the site will notice.
Once a theme has been published from this screen once, the laptop watcher and the publish endpoint can update it like anything else. They will not create one: an unattended route inventing a release channel from a mistyped folder name is how a channel nobody knows about comes to exist.