Bu sayfa bir özel temayı terminalden geliştirip canlıya almayı adım adım anlatır: giriş, kodu indirme, yerel ya da bulut geliştirme, push, önizleme, canlıya alma ve geri alma. Kavramlar için Geliştirici Alanları (Spaces) sayfasına bakın.
Gerekenler
| Gereksinim | Not |
|---|---|
| Node.js 20+ | CLI'ın çalışma zamanı bağımlılığı yoktur; tecof doctor sürümü denetler |
| Tecof hesabı ve mağaza ekibi üyeliği | Temanın ait olduğu mağazanın ekibinde olmanız yeterli; partner hesabı gerekmez |
| Özel tema | Katalog temaları salt okunurdur; önce özel temaya kopyalayın (ayrıntı) |
| Paket | Push, canlıya alma, geri alma ve bulut geliştirme için mağaza paketinde Özel Temalar ve Kod Erişimi açık olmalı (ayrıntı) |
| Paket yöneticisi | Temanın kilit dosyasına göre npm, pnpm, yarn ya da bun |
1. CLI'ı Kurun#
npm install -g @tecof/cli
tecof --version
tecof doctortecof doctor Node sürümünü, API erişimini, oturumu, kimlik deposunu, klasör bağını, git'i ve paket yöneticisini denetler; zorunlu bir denetim başarısızsa çıkış kodu 1 olur.
2. Giriş Yapın#
tecof loginTecof'a giriş yapılıyor (https://api.tecof.com)…
Doğrulama kodu: KQ7M-4XRT
Tarayıcıda açın ve kodu onaylayın: https://app.tecof.com/cli?code=KQ7M-4XRT
Onay bekleniyor…
✔ Giriş yapıldı: ayse@ornek-ajans.com (Örnek Ajans)
Token deposu: keychain- CLI onay sayfasını tarayıcıda açar. Açamazsa (ör. SSH oturumunda) adresi kendiniz açın;
--no-browsertarayıcıyı hiç denemez. - Panelde oturumunuz açıkken sayfa doğrulama kodunu, CLI'ın adını, IP adresini, istek zamanını ve yetkilendirilecek hesabı gösterir. Kod terminaldekiyle aynıysa Onayla ve giriş yap; isteği siz başlatmadıysanız Reddet.
- Kod 10 dakika geçerlidir. CLI onayı 5 saniyede bir yoklar ve onay gelince token'ı işletim sisteminin anahtarlığına kaydeder (Kimlik bilgisi deposu).
tecof whoamiCihaz oturumu 30 gün geçerlidir; 14 gün kullanılmazsa düşer. Onayladığınız cihazları panelde https://app.tecof.com/cli?tab=tokens (CLI anahtarları) sayfasında görüp iptal edebilirsiniz. tecof logout token'ı sunucuda da iptal eder.
3. Tema Alanınızı Bulun#
tecof theme lsid kind name merchant/app live last rolled-back writable
---------------------------- ----- ----- ------------------ ---- ---- ----------- ------------------
thm_66f1a2b3c4d5e6f7a8b9c0d1 theme Butik Butik Mağaza (BTK) v11 v11 yes
thm_66f1a2b3c4d5e6f7a8b9c0d2 theme Vita Butik Mağaza (BTK) - - no (catalog-theme)Tema ve uygulama alanlarının hepsini tecof spaces ls listeler. Alan kimliğini panelde de bulabilirsiniz: Temalar → tema kartındaki ⋯ menüsü → Sürümler ekranının başlığında, kopyalama düğmesiyle.
4. Kodu İndirin#
tecof theme init butik --space thm_66f1a2b3c4d5e6f7a8b9c0d1Kaynak indiriliyor (main)…
✔ Hazır: butik → Butik (312 dosya)
Sonraki adımlar:
cd butik
npm install
tecof theme devinit klasörü açar, main dalının son hâlini indirir (çalıştırılabilir dosya izinleri korunur) ve iki dosya yazar:
| Dosya | İçerik | Git |
|---|---|---|
.tecof/space.json | Klasörün bağlı olduğu alan: { "space": "thm_…", "kind": "theme" } | Commit'leyin; CI alanı bu dosyadan bulur |
.tecof/state.json | Yerel taban: indirilen main commit'i, dosya özetleri ve bekleyen staged sürüm | Yerel önbellek; CLI'ın yazdığı .tecof/.gitignore onu git dışında tutar |
.tecof/ klasörü Tecof'a hiçbir zaman gönderilmez. Etkileşimli terminalde --space vermezseniz yazılabilir temalar arasından seçim yaparsınız. Klasör boş değilse --force gerekir.
Klasör zaten varsa — örneğin başka bir makinede kendi git deponuzdan geldiyse — .tecof/space.json sizi alana bağlar ama yerel taban (state.json) yoktur. tecof theme pull güncel main dalını indirip tabanı kaydeder; yerelde farklı olan dosyaların üzerine --force olmadan yazmaz. Bağ dosyası hiç yoksa önce tecof theme link --space thm_… çalıştırın.
5. Yerelde Geliştirin#
cd butik
npm install
tecof theme dev✔ .env.local güncellendi (4 değişken: NEXT_PUBLIC_BASE_URL, NEXT_PUBLIC_CDN_URL, NEXT_PUBLIC_MERCHANT_SECRET_KEY, NEXT_PUBLIC_THEME_ID); diğer satırlar korundu.
Başlatılıyor: npm run dev -- --port 3000 (port 3000)tecof theme dev temanın canlıda kullandığı genel ortam değişkenlerini .env.local dosyasına yazar ve temanın dev betiğini başlatır:
| Değişken | Değer |
|---|---|
NEXT_PUBLIC_BASE_URL | Tecof API adresi |
NEXT_PUBLIC_CDN_URL | Tecof CDN adresi |
NEXT_PUBLIC_MERCHANT_SECRET_KEY | Mağazanın vitrin anahtarı (genel bir değerdir; tarayıcı paketine zaten girer) |
NEXT_PUBLIC_THEME_ID | Tema kimliği |
.env.localiçindeki diğer satırlar korunur; dosya0600izinle yazılır ve hiçbir zaman push edilmez.- Paket yöneticisi kilit dosyasından seçilir (
pnpm-lock.yaml,yarn.lock,bun.lock,package-lock.json). Port--portile değişir; varsayılanPORTortam değişkeni ya da3000.
Bulutta Geliştirme#
Yerel ortam kurmadan çalışmak ya da önizlemeyi başkasıyla paylaşmak için:
tecof theme dev --cloudBulut geliştirme oturumu açılıyor (thm_66f1a2b3c4d5e6f7a8b9c0d1)…
✔ İlk eşitleme: 2 dosya yazıldı, 0 silindi.
Önizleme: https://sb-….vercel.run
Değişiklikler izleniyor (Ctrl+C ile çıkış). Sürüme dönüştürmek için: tecof theme pushBulut oturumu Cloud IDE'nin sandbox'ını kullanır: kod main dalından açılır, CLI yerel farkınızı yazar, sonra klasörü izleyip değişiklikleri yaklaşık 300 ms'lik gruplar hâlinde oturuma gönderir. Önizleme adresi sıcak yenilemeyle (HMR) güncellenir.
- Yalnız metin dosyaları eşitlenir; görsel ya da font gibi ikili dosyalar
binary-not-supportedile reddedilir. Onlarıtecof theme pushile gönderin. - Yerel taban
mainile aynıysa yalnız farklı dosyalar gönderilir. Taban eskiyse CLI uyarır ve tüm dosyaları gönderir; projede ikili dosya varsa eşitleme durur. Bu uyarıyı görürseniz öncetecof theme pullile tabanı güncelleyin. - Oturum Cloud IDE ile aynı kredi kurallarına tabidir: açılışta ve açık kaldığı sürece mağazanın kredisinden düşer (MCP → Kredi). Oturum 45 dakika sonra kapanır; CLI süreyi uzatmaz, oturum bitince uyarıp çıkar.
- Bir temada aynı anda tek oturum açık olabilir. Aynı temada başka bir kullanıcının Cloud IDE oturumu açıksa
409 session-busydöner. - Ctrl+C'de CLI oturumu kapatmayı sorar (varsayılan evet);
--keepoturumu açık bırakır. Oturum kapanırken taslak kaydedilmez: kaynak gerçeği sizin klasörünüzdür. - Bulut geliştirme yalnız
tecof loginoturumuyla çalışır; kapsamlı CI token'ı403 token-scope-insufficientalır. - Oturumdaki değişiklikler yalnız
tecof theme pushile sürüme dönüşür.
6. Push Edin#
tecof theme push -m "Yeni ana sayfa"Push: thm_66f1a2b3c4d5e6f7a8b9c0d1 → staged
312 dosya tarandı (4.21 MB).
Plan: 3 yüklenecek, 1 silinecek, 309 aynı.
Yükleniyor 3/3 dosya (17.8 KB / 17.8 KB)
Sürüm açıldı: v12 (staged)
Durum: queued
Durum: building
Durum: ready
✔ v12 hazır: https://tecof-theme-butik-3k9x2a1b7-tecof.vercel.app
Önizleme: tecof theme open v12
Canlıya almak için: tecof theme promote v12- Yalnız depoda olmayan içerik yüklenir; değişmeyen dosyalar ve depoda zaten bulunan içerik (ör. taşınan bir dosya) yeniden gönderilmez. Yerelde sildiğiniz dosyalar depodan da silinir.
- Varsayılan hedef staged: üretim derlemesi yapılır, alan adı atanmaz, canlı site değişmez.
-mvermezseniz son git commit başlığı, yoksatecof theme pushkullanılır. Tecof deposundaki commit mesajıYeni ana sayfa [tecof v12 · Ayşe Yılmaz]biçimindedir.- CLI derleme bitene kadar bekler (varsayılan 900 saniye;
--wait-timeoutile değişir,--no-waitbeklemez). Derleme başarısız olursa son günlük satırlarını basar ve çıkış kodu 1 olur; tüm günlük içintecof theme logs v12. - Değişiklik yoksa sürüm açılmaz: "Değişiklik yok; sürüm açılmadı."
- Gönderilmeyen dosyalar ve sınırlar: CLI Başvurusu → Yok sayma kuralları.
Staged adımını atlayıp doğrudan yayınlamak için:
tecof theme push --prod -m "Acil düzeltme"--prod commit'i doğrudan main dalına hızlı ileri yazar; derleme bitince sürüm canlıya çıkar ve tek derleme yapılır. Önizleme adımı olmadığı için yıkıcı sayılır ve onay ister.
7. Önizleyin#
tecof theme open v12Açılıyor: https://tecof-theme-butik-3k9x2a1b7-tecof.vercel.app/?x-vercel-protection-bypass=***&x-vercel-set-bypass-cookie=true
Bağlantıdaki erişim sırrı maskelendi; tam bağlantı için --show-secret kullanın (yalnız yetkili kişilerle paylaşın).- Sürüm adresleri korumalıdır. CLI erişim sırrı taşıyan bir bağlantı alır ve tarayıcıda tam hâliyle açar; terminalde ve
--jsonmakbuzunda sır maskelenir. Tam bağlantı için--show-secret. - Sürüm vermezseniz (
tecof theme open) canlı adres açılır. - Panelde aynı iş Sürümler ekranındaki Önizle düğmesidir.
Bağlantıyı paylaşmadan önce Önizleme bağlantıları bölümünü okuyun: içindeki sır, alanın bütün sürüm adreslerini açar.
8. Canlıya Alın#
tecof theme promote v12v12 thm_66f1a2b3c4d5e6f7a8b9c0d1 için canlıya alınacak. Devam edilsin mi? (e/H) e
✔ v12 canlıda: https://www.butik-ornek.com- Yeniden derleme yapılmaz; alan adları saniyeler içinde v12'yi gösterir.
maindalı v12'nin commit'ine hızlı ileri alınır; bu klasörün yerel tabanı da v12 olur.- Vercel
maindalının bu commit'ini bir kez daha derler. İçerik aynıdır, canlı site etkilenmez ve yeni sürüm numarası açılmaz. - Vercel isteği sıraya aldıysa sonuç
Aktivasyon: pendingolarak görünür; durumutecof theme versions v12ile izleyin.
9. Gerekirse Geri Alın#
tecof theme rollback # bir önceki canlı sürüme
tecof theme rollback v10 # daha önce canlıda olmuş belirli bir sürümethm_66f1a2b3c4d5e6f7a8b9c0d1 bir önceki canlı sürüme geri alınacak. Devam edilsin mi? (e/H) e
✔ Geri alındı; canlı sürüm: v11
! Yeni değişiklikler canlıda değil; ileri almak için `tecof theme promote vM` ya da yeni yayın.Geri alma yalnız daha önce canlıda olmuş sürümlere yapılır, anlıktır ve main dalına dokunmaz. Geri almadan sonra yeni yayınların nasıl canlıya çıktığını Geri Almadan Sonra Yayınlar anlatır.
Sürüm geçmişi:
tecof theme versionsref status target live source created message url
--- ------ ---------- ---- ------ ---------------- ------------------------------- ----------------------------------------------------
v12 ready staged cli 2026-10-11 09:41 Yeni ana sayfa https://tecof-theme-butik-3k9x2a1b7-tecof.vercel.app
v11 ready production ● ide 2026-10-10 17:05 Footer bağlantıları güncellendi https://tecof-theme-butik-8h2m4q6r1-tecof.vercel.app
v10 ready staged cli 2026-10-09 14:22 Ürün kartı https://tecof-theme-butik-5t7w9y2c4-tecof.vercel.appBaşkası Temayı Değiştirdiyse (base-moved)#
Siz çalışırken main dalına başka bir değişiklik gidebilir: bir Cloud IDE kaydı, bir AI işi, başka bir geliştiricinin push'u ya da CI. Staged push eski tabanınızın üstüne kurulur ve başarılı olur; fark canlıya alma anında ortaya çıkar:
$ tecof theme promote v12
✖ main ilerledi (şu an 9f8e7d6); bu push eski tabana dayanıyor (base-moved).Çıkış kodu 4'tür; --json makbuzunda next.action pull olur. Canlı siteye ve main dalına dokunulmaz. v12'nin tabanı değişmeyeceği için aynı sürümü yeniden denemek işe yaramaz: değişikliklerinizi güncel main üstüne taşıyıp yeni bir sürüm açın.
tecof statusile tabanınızı ve yerel değişikliklerinizi görün.tecof theme pullgüncelmaindalını indirir. Birleştirme yapmaz: yerelde değiştirdiğiniz bir dosyamaindekinden farklıysa hiçbir şey yazmadan durur, dosyaları nedenleriyle listeler ve çıkış kodu 4 olur.- Değişikliklerinizi güncel
mainüstüne uygulayın (aşağıdaki örnek),tecof theme pushile yeni sürümü (ör. v13) açın, önizleyin vetecof theme promote v13ile canlıya alın.
--prod push'ta aynı denetim commit anında yapılır: main ilerlediyse sürüm açılmaz, çözüm aynıdır.
Örnek: yerel git ile güncelleme. Değişiklikleri birleştirmenin en kolay yolu klasörü kendi git deponuz olarak tutmaktır; .git/ hiçbir zaman Tecof'a gönderilmez. Aşağıdaki örnek, klasörü tecof theme init sonrasında git deposu yaptığınızı, her pulldan sonra commit'lediğinizi ve değişikliklerinizin henüz commit'lenmediğini varsayar:
git stash -u # değişikliklerinizi kenara alın; klasör yerel tabana döner
tecof theme pull # güncel main'i indirir
git add -A && git commit -m "tecof: main güncellendi"
git stash pop # değişikliklerinizi yeniden uygulayın; çakışma varsa çözün
tecof theme push -m "Yeni ana sayfa (güncel main üstüne)"Yerel değişikliklerinizi bırakmayı göze alıyorsanız tecof theme pull --force onların üzerine yazar ve uzakta silinmiş dosyaları siler.
Sonraki Adımlar#
- Sürümler, Canlıya Alma ve Geri Alma — durumlar, önizleme bağlantıları, canlıya alma ve geri alma kuralları
- Güvenlik ve CI — CI token'ları ve GitHub Actions ile otomatik yayın
- CLI Başvurusu — tüm komutlar, çıkış kodları ve makbuzlar