Skip to content
Zid partners
Developer programsAn overview of every way to build on ZidApp PartnersPublish your app in the Zid App MarketTheme PartnersLaunch your theme in the Zid Theme Market
App MarketApps available to Zid merchantsTheme MarketThemes ready to install
Support
Partner help centreHow-to guides and troubleshootingDeveloper docsAPIs, SDKs and integration guidesBook a meetingA business or technical support call
What's new
BlogGuides and updates for developersChangelogThe latest partner platform updatesSuggest a featureThe feedback and ideas board
Partner enablement
Partner AdsVisibility packages on Zid’s channelsCustom themesThemes built for one merchantPartner communityConnect with developers building on Zid
Zid library
Zid reportsEverything you need to know about the marketDeveloper guidesOfficial references to build on
العربيةLog inJoin as a partner
Partner programs
Developer programsApp PartnersTheme Partners
Browse the market
App MarketTheme Market
Support & enablement
Partner help centreDeveloper docsBook a meetingBlogChangelogSuggest a featurePartner AdsCustom themesPartner communityZid reportsDeveloper guides
Language
العربية
Log inJoin as a partner
Home/Blog/Themes
Themes

Build your first Theme Market theme: from structure to publishing

A practical walkthrough: how Zid themes are structured, local development and preview with Vitrin CLI, testing on a development store, submission and support.

Sep 9, 20265 min read

How a Zid theme is structured

A Zid theme is more than a design: it is the full presentation layer of a merchant's storefront. Every theme combines three things:

  • Jinja templates that map storefront routes (home, product, cart and so on) to pages.
  • HTML, CSS and JavaScript assets for layout and interactions.
  • JSON schemas that expose customizable settings in the Theme Editor.

The storefront is assembled in layers. The layout defines the base HTML wrapper. Sections are the main page blocks, each with a .jinja file and a companion .schema.json. Components are reusable modules that sections consume. Assets live in assets/ and are served through Zid's CDN, and translations live in locale/ar/LC_MESSAGES/messages.po.

Ground rules before you write code

  • Templates must extend your base layout with {% extends "layout.jinja" %}.
  • The layout must include {% vitrin_head %} in the head and {% vitrin_body %} in the body.
  • Anything you don't implement falls back to the template from Zid's default theme, so you can customize only the pages you care about.
  • Don't hardcode colors, fonts or spacing in templates. Pull them from theme settings so merchants can change styles without code.
  • Theme schemas must follow the JSON Schema standard.
The docs point to a sample theme called Growth that shows the full folder structure, templates, settings schema and macros. It's a good place to start.

Develop and preview locally with Vitrin CLI

Vitrin CLI lets you create, build, preview and publish themes from your own machine. Installation and the first commands, straight from the docs:

npm install -g @zidsa/vitrin-cli

vitrin login        # Authenticate with Zid
vitrin new my-theme # Create a new theme
cd my-theme
vitrin push         # Push theme to Zid
  • vitrin build validates the structure and packages the theme as a .zip.
  • vitrin preview previews the theme on a development store; add --build to build first.
  • vitrin list lists your themes or development stores.
  • Run vitrin on its own to open the interactive TUI.

If you prefer not to use the CLI, you can upload your theme manually through the Partner Dashboard.

Test on a development store

A development store is a private store for testing your apps and themes before they go public, and it behaves like a real merchant store. Create one from the Partner Dashboard under Development Stores, then Create Store.

  1. Import sample products to see product cards, categories and filters render.
  2. Enable payment methods, shipping and promotions to test different store configurations.
  3. Check responsiveness on mobile, tablet and desktop, plus RTL support.
  4. Place a full order from cart to checkout.
  5. Append /validate to your preview link to get the Theme Test tool's validation report.

To check translation files before uploading, run msgfmt --check -o output.mo input.po 2>&1. Don't upload the resulting .mo file.

Submit to the Theme Market

A public theme is listed on the Theme Market for all merchants and goes through Zid's review. A private theme is built for a specific merchant and skips review. To publish a public theme:

  1. In the Partner Dashboard, open My Themes, then Themes Management, and click Create New Theme.
  2. Enter the name, upload your ZIP, then set price, description and display info.
  3. Upload 3 to 9 images: desktop at 4:3 and mobile at 9:16, within the stated size limits.
  4. Accept the terms and conditions, then click Submit to Publish.

Your theme moves from Pending to In Review, and ends as Published or Rejected with feedback. You can't submit changes while it's In Review. Later, update a published theme from the Update Theme tab by uploading a new version and describing what changed.

Your support obligations

Zid does not offer direct merchant support for third-party themes. That responsibility rests entirely with you as the theme partner.

  • Keep a valid, monitored maintainer email in the Partner Dashboard. It's the primary channel merchants use.
  • Email is required; a ticket portal or support website is optional. Set them in the General Data tab or describe them in your listing.
  • Merchants report issues from the Zid Dashboard under Report Theme. Zid reviews submissions and forwards valid tickets to you.
  • You're expected to respond promptly and resolve issues within the agreed SLA timelines.

Quick replies, prompt bug fixes and up-to-date documentation all show up in your reviews and adoption.

Key takeaways

  • A theme is Jinja templates, assets and JSON schemas, organized into layout, sections and components.
  • Use Vitrin CLI to build and preview on a development store, and check the /validate report before submitting.
  • Public themes go through Zid's review and can't be edited while In Review.
  • Merchant support is your responsibility, and an active maintainer email is required.

Sources

  1. Themes: Introduction
  2. Theme Development
  3. Architecture
  4. Vitrin CLI: Introduction
  5. Vitrin CLI: CLI Commands
  6. Theme Type and Appearance
  7. Test Your Theme
  8. Create & Update Your Public Theme
  9. Publish Your Theme
  10. Maintain Your Theme Support
  11. What is a development store?

Start building on Zid

Sign up in the partner portal, then build and test on a development store.

Create your account →

Contents

  1. How a Zid theme is structured
  2. Ground rules before you write code
  3. Develop and preview locally with Vitrin CLI
  4. Test on a development store
  5. Submit to the Theme Market
  6. Your support obligations

Share

Start building

Related articles

→
Developer updates

The Account API: moving off GET v1/managers/profile

Zid is retiring GET v1/managers/profile, with migration due 30 September 2026. Here are the new Account API endpoints, their scopes and a migration checklist.

5 min read
Developer updates

Developer updates roundup: what's new on Zid for partners

New Wallet and Blogs APIs, webhook health tracking, a Sept 30 deadline for profile and webhook changes, more pricing plans, and new AI tools for building on Zid.

5 min read
APIs & integration

Embedded apps on Zid: build inside the merchant dashboard

How embedded apps load inside the Zid merchant dashboard, the six-step auth flow, and the tools that help: Zid MUI, the Zid SDKs and storefront events.

6 min read
Zid Partners

Partner programs

Developer programsApp PartnersTheme PartnersCreate your account

Resources

BlogPartner AdsZid reportsDeveloper docsPartner help centerChangelogRequest a feature

Browse the market

App MarketTheme Market

Terms & policies

App Partner termsTheme Partner termsTheme commercial policyPrivacy policy

Get in touch

Book a business callBook a technical support callTheme designers community
Zid — Al-Qudrah Al-Taqniyah for Technology and Communicationالعربية
Al-Qudrah Al-Taqniyah for Technology and Communication CompanyCR No. 1010365366VAT No. 300827827900003