Hemen CLI

Hemen Builders CLI, geliştiricinin tekrar eden işleri terminalden yönetmesi için tasarlanmıştır. İlk sürüm dependency-light bir iskelet olarak gelir ve private app, webhook ve storefront script geliştirme akışlarını hedefler.

Kurulum

Paket workspace içinde:
packages/SoftwareRises/HemenBuildersCli
Geliştirme sırasında doğrudan Node ile çalıştırabilirsiniz:
node packages/SoftwareRises/HemenBuildersCli/src/bin.mjs --help
Paket yayınlandığında hedef kullanım:
hemen builders --help

Konfigürasyon

CLI şu dosyayı ve env override değerlerini okur:
hemen-builders.config.json
Örnek config:
{
  "baseUrl": "https://dev.hemenmagaza.com",
  "tenantId": "velunamora",
  "tokenEnv": "HEMEN_BUILDERS_TOKEN",
  "defaultStorefrontId": "default",
  "webhookForwardUrl": ""
}
Env değerleri:
HEMEN_BUILDERS_API_BASE_URL=https://dev.hemenmagaza.com
HEMEN_BUILDERS_TOKEN=YOUR_ACCESS_TOKEN
HEMEN_BUILDERS_TENANT_ID=velunamora

Komutlar

hemen builders init

Lokal proje için başlangıç config dosyasını hazırlar.
hemen builders init
İlk kullanımda bu komutun hedefi:
  • Base URL’i netleştirmek.
  • Tenant id değerini kaydetmek.
  • Geliştiriciye sonraki komutları göstermek.

hemen builders app create

Private app oluşturma akışını terminalden başlatır, ancak güvenlik nedeniyle app kaydı tenant admin panelinden tamamlanır. Komut girilen adı ve scope setini doğrular, geliştiriciyi doğru portal URL’ine yönlendirir.
hemen builders app create \
  --name "ERP Connector" \
  --scopes products:read,orders:read,webhooks:write
Private app oluşturulduktan sonra client_id ve client_secret ile token alıp diğer CLI komutlarını çalıştırabilirsiniz.

hemen builders dev

Lokal geliştirme kontrolü yapar.
hemen builders dev
Kontrol edilecek başlıklar:
  • Base URL erişilebilir mi?
  • Token var mı?
  • Token ile GET /api/builders/v1/apps/me okunabiliyor mu?
  • Tenant id girilmiş mi?

hemen builders webhook listen

Local webhook geliştirme sırasında gelen requestleri terminalde görmek için kullanılır.
hemen builders webhook listen --port 8787 --secret webhook-secret
Bu komut production webhook endpoint’i yerine geçmez. Ama localde payload formatını, header’ları ve signature doğrulamasını test etmek için hızlı bir yoldur.

hemen builders script publish

Storefront script tanımını API’ye gönderir. App token’ında storefront_scripts:write scope’u olmalıdır.
hemen builders script publish ./script.json
Örnek script.json:
{
  "name": "Analytics Pixel",
  "script_url": "https://cdn.example.com/pixel.js",
  "placement": "body_end",
  "priority": 100,
  "consent_required": true,
  "allowed_events": ["PAGE_VIEW", "PRODUCT_VIEW", "ADD_TO_CART"]
}

Güvenlik

  • CLI token değerini repo içine yazmamalıdır.
  • Secret değerleri terminal history içinde kalmayacak şekilde girilmelidir.
  • --scopes her zaman minimum yetkiyle verilmelidir.
  • Webhook listener sadece local geliştirme içindir.

Durum

CLI’nin çalışan MVP kapsamı: init, dev, webhook listen ve script publish. app create güvenlik nedeniyle admin portal yönlendirmesi yapar; doğrudan public API üzerinden app oluşturmaz.