Skill'in Kendi İfadeleriyle
Skill, JSON şemalarını veri bağlama, görünürlük, eylemler ve dinamik prop'lara sahip etkileşimli terminal bileşen ağaçlarına dönüştüren bir Ink terminal renderer'ı olan @json-render/ink'i kapsar. Ink şemasından zod ile bir katalog tanımlamayı, kayıt defterine yalnızca özel bileşenleri kaydetmeyi ve JSONUIProvider içinde Renderer ile veya daha üst seviyeli createRenderer ve standardComponents ile render yapmayı adım adım anlatır.
Okuyucular; kök anahtara sahip düz eleman haritası şema biçimini, standart layout, içerik ve etkileşimli bileşen kümelerini, state ve bağlama ifadelerini, olay sistemini ve yerleşik setState, pushState ve removeState eylemlerini, repeat listelerini, useUIStream aracılığıyla JSONL akışını, provider rollerini, temel export'ları ve 80-120 sütun genişliği gibi terminal tasarım kurallarını öğrenir.
Neler üretir
- JSON şemasından render edilen etkileşimli bir terminal bileşen ağacı.
- Spec yazımı için katalogdan üretilen bir AI sistem prompt'u.
- Yeniden render'ları yöneten, framework'ten bağımsız, bellek içi bir StateStore.
Nasıl Çalışır
- 01Ink Şemasından Bir Katalog Tanımlayın
@json-render/core'dan defineCatalog'u içe aktarın ve Ink şemasını, izin vermek istediğiniz bileşen ve eylem tanımlarıyla birlikte geçirin.
- 02Yalnızca Özel Bileşenlerinizi Kaydedin
defineRegistry katalogu alır, ancak standart bileşen implementasyonları zaten yerleşik olduğundan yalnızca özel olanlar Ink elemanlarına eşlenir.
- 03Renderer'ı Provider'larla Sarın
JSONUIProvider, spec ve registry'yi alan Renderer'a state, görünürlük, eylem ve odak bağlamlarını sağlar.
- 04Spec'leri Düz Bir Eleman Haritası Olarak Yazın
Spec, ilk elemanı adlandıran bir root anahtarı ve prop'lara, alt öğelere ve isteğe bağlı olay bağlamalarına sahip tiplenmiş düğümlerden oluşan bir elements haritası taşır.
- 05Prop'ları İfadelerle Bağlayın
Herhangi bir prop değeri, sabit kodlanmak yerine render sırasında state, repeat öğeleri, koşullar veya string şablonlarından çözümlenebilir.
- 06Spec'leri Aşamalı Olarak Akıtın
useUIStream, bir API endpoint'inden JSONL patch akışlarını tüketir ve çağırana spec, send ve isStreaming sunar.