Biten bir hifi tasarım paketini çalışan, CMS'ten yönetilebilir, yayında bir siteye otonom olarak çeviren loop. open-spek/loop sözleşmesine uyar; Astro (SSG) + Sveltia CMS + Bun'a özelleşmiştir.
Bu iş bir sohbette baştan sona yapıldığında inşa etmek ucuz, keşfetmek pahalıdır.
Gerçek bir üretim build'inde harcanan zamanın çoğu, aracın belgelenmemiş davranışlarına
canlı hatalarla çarpmaya gitti: Sveltia'nın boş alanlara null yazması, [hidden]'ın
display:flex tarafından ezilmesi, backdrop-filter'ın sabit konumlu çocuklar için
containing block yaratması…
Bu şablonun değeri kodda değil, o tuzakların teste dönüştürülmüş hâlindedir.
docs/PITFALLS.md |
Gerçek hatalardan doğmuş tuzak kataloğu — her biri bir koruyucu teste bağlı |
starter/ |
Kapısı geçen Astro + Sveltia iskeleti (250 test yeşil) |
loop/ |
Faz planı, iterasyon direktifi, kabul kriterleri, runner |
skill/ |
Claude Code orkestrasyon skill'i |
Starter'ın içindekiler: 17 tipli bölüm sözlüğü (sayfa = sıralı bölüm listesi), zod şemaları + CMS aynası sözleşme testi, içerik bütünlüğü testi, alan adı drift testi, dist duman testleri, kapı (typecheck · format · lint · knip · test), git hook'ları, SHA-pinned CI/CD, Dependabot.
# 1. Yeni proje
./loop/scripts/init.sh ~/sites/acme "Acme" acme.com.tr acmeagency/acmeagency.github.io
# 2. Tabanı doğrula — YEŞİL olmalı
cd ~/sites/acme && bun install && bun run gate
# 3. Tasarım paketini koy
cp -R ~/tasarim/acme_handoff design_handoff
# 4. site.config.json > routes ve serviceSlugs doldur
# 5. Loop'u çalıştır
./loop/scripts/loop.sh 40Loop her iterasyonda taze context ile başlar; durumu loop/IMPLEMENTATION_PLAN.md,
loop/PROGRESS.md ve git'ten yeniden türetir. Kapı kırmızıysa commit yok, deploy yok.
Taze starter'da içerik yoktur, dolayısıyla site-seviyesi testler kapsam dışıdır
(skip, "geçici yeşil" değil). site.config.json > routes doldurulur doldurulmaz
duman testlerinin tamamı bağlayıcı hâle gelir. Aynı şekilde hizmet sayısı, referans
logoları ve ayarlar dosyası da beklendikleri anda kontrol edilmeye başlar.
skill/SKILL.md dosyasını Claude Code skill dizinine bağlayın:
mkdir -p ~/.claude/skills/website-loop
ln -sf "$PWD/skill/SKILL.md" ~/.claude/skills/website-loop/SKILL.mdSonra: /website-loop ya da "tasarım hazır, siteyi kur".
- Durum dosyalarda yaşar, context'te değil.
- Her tuzağın bir testi vardır — yeni tuzakta önce test, sonra
PITFALLS.md. - Testi silerek yeşile boyamak yasaktır.
- Tasarım metni birebir taşınır; özetlenmez.
- Erişilebilirlik tasarımla çatışırsa kazanır — ve tasarımcıya bildirilir.
- Paylaşılan şema tek sahiplidir; paralel ajanlar rapor eder, düzenlemez.
docs/DESIGN.md kilitlidir. Genelleştirmek şablonun değerini yok ederdi: buradaki
testlerin neredeyse tamamı Astro ve Sveltia'nın belirli davranışlarına bağlıdır.
Stack-agnostik bir sürüm elde prose bırakırdı; prose okunmaz, test okunur.