Submitting to the marketplace
The Abizvo Marketplace sells website themes under the Website Themes category (abizvo-themes). A listing there is a product with a listing, a release (the theme's ZIP) and documentation; a submission puts the three through review; an approved release becomes a theme buyers' organizations can install. This page is the sequence; Premium theme standards is what each step is held to.
1. A seller account
Register as a seller on the marketplace (/seller on the shop). Before anything can be submitted the seller profile must state a support email, a response-time commitment in business days (1–30) and a support policy; the checklist blocks a submission without them (LIST_SELLER_SUPPORT_MISSING). A seller who will be paid connects a Stripe account through the marketplace's hosted onboarding; the buyer pays the platform, the platform pays the seller's share after a hold period.
2. A product with a listing
Create a product in the Website Themes category and write the listing:
| Field | Limit |
|---|---|
| Title | 3–80 characters |
| Tagline | up to 140 |
| Short description | 40–300 |
| Long description | 200–20,000 (Markdown) |
| Support policy | 20–2,000 — what is covered, the response time, how to reach you |
| Price | C$20–C$300 in C$5 steps, or free; CAD or USD |
| Highlights | up to 12, each a title of 80 and a body of 400 |
| Tags and industries | up to 20 tags of 40 characters, 12 industries of 40 |
| SEO title and description | 70 and 170 |
Every word of a listing goes through review with the release: the features claimed, the images' alt text and captions ride on the listing revision, and the seller's later edits land in a draft revision buyers never see until it is reviewed.
3. Media
Upload under the right kind — hero image (at least 1600×900, set as the primary image), desktop screenshots (three or more) and a phone screenshot (a 390×844 viewport at 2×, 780×1688) — and place each in the listing's gallery; the checklist counts by kind and the storefront shows the gallery. Give every image alt text. A live demo — a published Abizvo site running the theme — goes on the listing as See it live.
4. Package the release
A release is a ZIP with the theme's files at the archive root (abizvo-theme.json at the top level, not inside a folder), hidden files left out, one ZIP per version:
bash scripts/themes/pack-marketplace-theme.sh <theme-key>
writes .local-data/marketplace-themes/<key>-<version>.zip from themes/<key> for a theme in the repository; from any other folder, zip -rX <key>-<version>.zip . -x '.*' -x '*/.*' inside it does the same. The archive is accepted as application/zip, up to 100 MB, and is opened by the marketplace's guarded reader (no traversal, no symlinks, no executables, no bombs). Upload it as the product's release; the version in the manifest must be one the product has never released.
5. Documentation
Write the product's documentation on the marketplace — sections, pages, one level of nesting, Markdown with HTML disabled. A page titled Support at /support saying how to reach you, how quickly you reply and what is in scope is required (LIST_SUPPORT_DOCS_MISSING); the public docs show it last. A theme's documentation/README.md is the natural first page.
6. The checklist
The seller's Submit page runs the review's own listing checks (ListingVerifier.CheckListing), so it blocks exactly what the review would: the support facts, the words' lengths, the price rule and currency, the hero and screenshot minimums, images not yet processed. A product needs a release before it can be submitted (THEME_RELEASE_MISSING). One submission is open per product at a time.
7. The review
- A malware scan and the guarded archive read.
- A static security scan.
- The theme check over the extracted files — the same
ThemeCheckerthe workspace runs: an error is a blocking finding, a warning a flag. A theme key that already belongs to another theme or product blocks (THEME_KEY_TAKEN). - Listing verification (§6 again, against the submitted revision).
- Provenance notes (never a claim that ownership is verified).
- A reasoning pass over the bounded evidence, which may only tighten the deterministic findings; low confidence sends the submission to a person.
- A reviewer reads the flags and decides.
While a submission is open the listing revision it carries is frozen. A rejected submission says why, finding by finding; fix and submit again.
8. Publication
An approved submission publishes its listing revision and its release. The category's post-publish step imports the release as a marketplace theme owned by the product — from then on a buyer's organization can install it on its own sites, and the seller's own team can install it to build a demo. The first publication starts the price clock: a later change of price waits seven days from the last one.
9. Updates
- A new theme version: bump
versioninabizvo-theme.json, package, upload as a new release, submit. The previous release stays current until the new one is published. Once published, every site's copy moves to it in its draft — automatically, with a restore point and a note of what the new version dropped; the owner republishes when ready. - A listing-only change (words, media, price): submit a listing-only submission with no new ZIP; it goes through the same review.
- An offer: a percentage or amount off, the first N customers, a window, new customers only or a code — configured on the product's Discounts tab, applied only once the price has stood seven days, never touching the listing's price.
10. Selling for a price
The buyer pays the platform; the seller's share is the price less the platform fee (basis points snapshotted on each order line at the time of sale) and waits out a hold period before transfer — 14 days for a new seller, 7 once established. A refund or dispute after transfer reverses the seller's share. Balances are computed from the ledger, never stored. The seller's Earnings and Payouts pages show all of it.