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:
| Variable | Requerida | Default | Descripción |
|---|---|---|---|
OMNIBUY_API_KEY | ✅ Sí | — | API Key del panel de administrador |
OMNIBUY_URL | No | http://localhost:8080 | URL 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.