Skip to main content

Theme Commands

Commands for creating, developing, and publishing Qumra themes.

Overview

CommandDescription
qumra theme initCreate a new theme
qumra theme devStart development server
qumra theme publishValidate theme for publishing
qumra theme bundleBundle theme into zip file
qumra theme patchIncrement patch version (x.y.Z)
qumra theme minorIncrement minor version (x.Y.0)
qumra theme majorIncrement major version (X.0.0)

qumra theme init

Create a new Qumra theme with the starter template.

Usage

qumra theme init

Interactive Steps

  1. Theme Name: Enter a name for your theme (alphanumeric and dashes only)

What Happens

  • Creates the theme on Qumra Cloud
  • Clones the starter template from GitHub
  • Saves configuration to .qumra/qumra.config.json:
    • themeId
    • themeVersionId
    • version
    • themeName

Example

$ qumra theme init

? Enter theme name: my-awesome-theme

✅ Theme created successfully!

📁 Created: my-awesome-theme/
📝 Config: .qumra/qumra.config.json

Next steps:
cd my-awesome-theme
qumra theme dev

qumra theme dev

Start the development server with live reload and preview.

Usage

qumra theme dev

Requirements

Must be run from inside an initialized theme directory (with .qumra/qumra.config.json).

Interactive Steps

  1. Store Selection: Choose a store to preview your theme

Features

  • Local Dev Server: Runs on an available local port
  • Hot Reload: WebSocket server for instant updates
  • File Watching: Automatically syncs changes to Qumra Cloud
  • Interactive Dashboard: Terminal UI with URLs and shortcuts

Dashboard Keyboard Shortcuts

KeyAction
qQuit the dev server
oOpen browser to local dev URL
sOpen store URL
eOpen theme editor

Example

$ qumra theme dev

? Select store: my-test-store

🚀 Server started successfully!

📡 Localhost → http://localhost:3000
🌍 Theme URL → https://my-test-store.qumra.store?theme=abc123
📦 Customize Theme → https://app.qumra.cloud/store/my-test-store/themes/abc123

Press 'q' to quit, 'o' to open browser, 's' for store, 'e' for editor

qumra theme publish

Validate your theme structure before publishing.

Usage

qumra theme publish

Validation Checks

  • Required directories exist (assets, layouts, pages, widgets, settings, locales, templates, ui)
  • Required files are present
  • JSON files are valid
  • Widget structure is correct

Example

$ qumra theme publish

✅ Theme validation passed!

All required files and directories are present.
Your theme is ready for publishing.

qumra theme bundle

Bundle your theme into a distributable zip file.

Usage

qumra theme bundle

What Gets Bundled

  • assets/ - CSS, JS, and media files
  • layouts/ - Nunjucks layout templates
  • pages/ - Page JSON definitions
  • widgets/ - Widget schemas and templates
  • settings/ - Settings schema and data
  • locales/ - Translation files
  • templates/ - Template definitions
  • ui/ - UI components
  • .qumra/qumra.config.json - Theme configuration

Example

$ qumra theme bundle

📦 Bundling theme...

✅ Bundle created: my-theme-1.0.0.zip

Version Commands

Manage your theme version using semantic versioning (MAJOR.MINOR.PATCH).

qumra theme patch

Increment the patch version for bug fixes.

$ qumra theme patch

📦 Version updated: 1.0.0 → 1.0.1

qumra theme minor

Increment the minor version for new features.

$ qumra theme minor

📦 Version updated: 1.0.1 → 1.1.0

qumra theme major

Increment the major version for breaking changes.

$ qumra theme major

📦 Version updated: 1.1.0 → 2.0.0

Configuration

.qumra/qumra.config.json

Created automatically by qumra theme init:

{
"themeId": "unique-theme-id",
"themeVersionId": "version-tracking-id",
"version": "1.0.0",
"themeName": "my-awesome-theme"
}

Theme Development Guide

For detailed information about theme structure, widgets, and templates:

Go to Theme Development Guide →