Submit the current Wox plugin repository to the official Wox store by ensuring the user has a reusable fork of Wox-launcher/Wox, checking whether the plugin ID already exists in Wox's store-plugin.json, adding a new store entry when missing, and preparing a pull request to Wox-launcher/Wox. Use when the user wants to publish a Wox plugin to the store, verify whether it has already been listed, or have Codex run the store submission PR workflow.
Submit the current plugin repository to the Wox store through a PR against Wox-launcher/Wox. Ensure a reusable fork exists first, read local plugin metadata, refuse duplicate submissions, and only modify store-plugin.json when the plugin ID is not already present.
Wox-launcher/Wox, or create one.upstream for https://github.com/Wox-launcher/Wox.store-plugin.json for the current plugin ID.Wox-launcher/Wox.Treat fork setup as the first gate. Do not clone or edit a working copy until one of these is true:
Wox-launcher/WoxUse this order:
gh is available and authenticated, create the fork from the CLI.gh is unavailable, unauthenticated, or fails, send the user to the web fork flow and continue only after the fork exists.For CLI-driven fork handling:
origin and the official repo as upstreamFor web fallback:
https://github.com/Wox-launcher/Wox/forkWhen the user has direct write access to Wox-launcher/Wox, a fork is not required. Otherwise, do not assume direct push access.
Read at least these files before preparing the store entry:
plugin.jsonpackage.json when version information needs confirmationExtract or derive these values:
IdNameAuthorVersionMinWoxVersionRuntimeDescriptionWebsite.wox download asset URLStop and ask the user to fix the repository first when any of these conditions hold:
plugin.json still contains template placeholders such as {{.Id}} or Window Switcher.wox packageClone the user's fork into a temporary directory instead of modifying the current plugin workspace. Add the official repository as upstream so the branch and PR target remain Wox-launcher/Wox.
Inspect store-plugin.json from the current upstream default branch and search by the exact plugin ID from the local plugin.json.
When the ID already exists:
store-plugin.jsonWhen the ID does not exist:
Use the field template and sourcing rules in references/store-plugin-entry.md.
Apply these rules while building the JSON object:
Id, Name, Author, Version, MinWoxVersion, and Runtime aligned with local plugin metadata.Description string when no i18n payload exists.I18n only when the repository already has trustworthy localized copy.Windows, Darwin, Linux.DateCreated and DateUpdated to the current local timestamp in YYYY-MM-DD HH:MM:SS.IconUrl and ScreenshotUrls.Website.DownloadUrl.Before editing store-plugin.json, re-check that the generated URLs and filenames match the actual repository layout and release asset names.
After editing the cloned fork workspace:
codex/add-<plugin-name>-store-entry.store-plugin.json change.Wox-launcher/Wox.Use a concise PR title such as Add <Plugin Name> to store.
Use a PR body that includes:
Always end with one of these outcomes:
Already listed: explain that no submission is needed.Ready to submit: summarize the new store entry and PR URL.Waiting for fork: tell the user to finish the web fork flow before continuing.Blocked: list the missing metadata or missing public assets that prevented submission.