Theme marketplace: how to submit your own theme
VeloCMS has an open theme marketplace where designers and developers can publish themes for the community. This guide covers the CLI submission flow, review process, and revenue share.
The VeloCMS theme marketplace allows third-party designers and developers to publish themes that any VeloCMS blog can install with one click. Submitting a theme follows the same CLI flow as plugins: build a tarball with the @velocms/cli's velocms build, then push the draft with velocms publish. The review pipeline runs visual checks in a sandbox tenant, measures Lighthouse scores, and flags accessibility violations automatically before a human reviewer looks at it.
What a theme submission includes
The automated stage soft-rejects a submission missing either required screenshot: preview/thumbnail.png (400×300, the blog index view with sample content, no placeholder lorem ipsum) and preview/screenshot-1.png (1440×900, a full-page screenshot of the blog index — additional screenshots are welcome). Take these with real content from a local VeloCMS tenant seeded with three or four sample posts, not the scaffold placeholder — the thumbnail is what a potential customer sees first in the themes gallery.
The review criteria
Human reviewers check these in order; failing the first two is a hard reject, the rest are soft rejects with a note on what to fix: Lighthouse Performance ≥ 80 on a throttled 4G connection (large fonts without font-display: swap or unoptimized images are the usual culprit), WCAG AA contrast (body text ≥ 4.5:1, large text ≥ 3:1), semantic HTML (one h1 per page, no skipped heading levels, dates wrapped in <time datetime>), mobile-first usability at a 375px viewport, and no hardcoded tenant data — blog name, bio, and social links must come from props, never hardcoded placeholder text.
Free vs. paid themes and revenue share
Declare pricing in theme.manifest.json — leave it out for a free theme, or set { "pricing": { "model": "paid", "price_usd": 2900 } } for a paid one (price_usd is in cents, so 2900 = $29). VeloCMS takes a 20% platform fee and you keep 80%, paid via Stripe Connect — connect your Stripe account at /developers/stripe-connect before publishing a paid theme, since the review pipeline holds paid themes in draft until onboarding is complete.