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 →