Saltar al contenido principal

Theme CLI

El Theme CLI de OmniBuy te permite desarrollar, subir y descargar temas directamente desde tu terminal, con hot reload para iterar rápido.

Instalación

El CLI se distribuye como binario. Descárgalo desde el panel de administrador en Configuración → Temas → Descargar CLI, o compílalo desde el source:

git clone https://github.com/omnibuy/omnibuy
cd omnibuy
go build -o omnibuy-theme ./cmd/theme

Configuración

El CLI requiere las siguientes variables de entorno:

VariableRequeridaDefaultDescripción
OMNIBUY_API_KEY✅ SíAPI Key del panel de administrador
OMNIBUY_URLNohttp://localhost:8080URL base de tu tienda

Puedes definirlas en tu shell o en un archivo .env (no lo commites):

export OMNIBUY_API_KEY=sk_live_xxxxxxxxxxxx
export OMNIBUY_URL=https://mi-tienda.omnibuy.net

Comandos

omnibuy-theme dev

Inicia un watcher local. Cada vez que modificas un archivo del tema, el CLI sube el cambio automáticamente al servidor y recarga el storefront.

omnibuy-theme dev
# Desarrollar un tema específico (por defecto: "dawn")
omnibuy-theme dev --theme mi-tema

Salida esperada:

👀 Watching theme "dawn" for changes...
✅ Uploaded templates/index.html (1.2 KB)
✅ Uploaded assets/style.css (8.4 KB)

omnibuy-theme push

Empaqueta y sube el tema completo al servidor. Útil para despliegues o para inicializar un tema.

omnibuy-theme push
# Subir un tema específico
omnibuy-theme push --theme mi-tema

Salida esperada:

📦 Packaging theme "dawn"...
✅ Uploaded 24 files (142 KB total)

omnibuy-theme pull

Descarga el tema activo desde el servidor a tu directorio local. Útil para empezar a customizar un tema existente.

omnibuy-theme pull
# Descargar un tema específico
omnibuy-theme pull --theme dawn --output ./themes/dawn

Salida esperada:

⬇️ Downloading theme "dawn"...
✅ Downloaded 24 files to ./themes/dawn

Estructura de un tema

themes/
└── mi-tema/
├── templates/
│ ├── index.html # Página principal
│ ├── product.html # Detalle de producto
│ ├── collection.html # Colección
│ ├── cart.html # Carrito
│ ├── search.html # Búsqueda
│ └── account/ # Páginas de cuenta de cliente
├── sections/ # Secciones reutilizables (Fluid Engine)
├── snippets/ # Partials reutilizables
├── assets/
│ ├── style.css
│ └── theme.js
└── config/
└── settings_schema.json # Opciones configurables del tema

Workflow recomendado

# 1. Descarga el tema base para empezar
omnibuy-theme pull --theme dawn --output ./themes/mi-tema

# 2. Inicia el dev server
omnibuy-theme dev --theme mi-tema

# 3. Edita los archivos localmente — los cambios se sincronizan solos

# 4. Cuando estés listo, sube la versión final
omnibuy-theme push --theme mi-tema

Variables de Fluid Engine

En los templates tienes acceso a las variables del Fluid Engine de OmniBuy (similar a Shopify Liquid):

<!-- templates/product.html -->
{{ product.title }}
{{ product.variants | first | price_with_currency }}

{% for image in product.images %}
<img src="{{ image | img_url: '800x' }}" alt="{{ image.alt }}">
{% endfor %}

Consulta la documentación del Fluid Engine para la referencia completa de variables y filtros.