Publishing to the marketplace
The theme store and plugin store show what’s in the Nari Marketplace repository. Every addon lives in its own repository and is added to the marketplace as a git submodule, through a pull request. Once a pull request is reviewed and merged, the store picks it up.
Submit yours
Section titled “Submit yours”-
Make your addon, test it in Nari and put it in its own repository, with
manifest.jsonat the root and aREADME.md(see what the store shows). -
Fork the marketplace and add your repository as a submodule named after the addon’s
id, inplugins/orthemes/:Terminal window git submodule add https://github.com/you/nari-sleep-timer plugins/sleep_timer -
Check it the way the store will:
Terminal window python3 scripts/build.py --check -
Open a pull request and fill in the checklist. One addon per pull request.
What the store shows
Section titled “What the store shows”Your repository is exactly what Nari installs, so the same manifest.json drives Nari and the store:
Directorynari-sleep-timer/ your repository
- manifest.json
- main.lua
- README.md the addon’s page in the store
Directorypreview/
- icon.png next to its name
- 1.jpg the store card
- 2.jpg
manifest.jsonneedsid,name,version,author,descriptionandapi.README.mdis required. Opening the addon in the store shows it, so explain what it does and how to set it up. Markdown, no raw HTML.iconandscreenshotspoint at images in your repository (png, jpg, webp or gif), the same ones Nari shows in the addon’s info. Links to images elsewhere aren’t accepted, since they could change after the review. 16:9 screenshots look best, 1280×720 is plenty. The first screenshot is the store card.- Without an icon the store draws one: the theme icon in your theme’s text color over its tinted background, or the plugin icon in Nari’s colors. Reviewers still ask for an icon and screenshots before merging.
- The size limit is 5 MB for plugins and 25 MB for themes.
An optional store object adds to the addon’s popup, in the store and in Nari:
"store": { "license": "MIT"}| Field | |
|---|---|
store.source |
Where the code lives, shown as the View source button. Submodules link to their repository already. |
store.license |
Shown next to the version. |
Updating
Section titled “Updating”Bump version in your repository, then open a pull request on the marketplace that moves the submodule to that
commit:
git -C plugins/sleep_timer pullThe marketplace stays on the commit it was approved with, so every update is reviewed like the first version. The store shows the new version as soon as it’s merged.
Review
Section titled “Review”Plugins run with full access to Nari and to the user’s files, so every pull request is read before it’s merged. Reviewers look for code that does what the description says and nothing else: no tracking, no hidden downloads, no obfuscated code. Themes with bundled plugins get the same review. They also check that the addon has an icon, screenshots that show it working and a helpful README. Small, readable pull requests get merged faster.