Faebryk bileşen kütüphanesinin nasıl yapılandırıldığını, `_F.py` dosyasının nasıl oluşturulduğunu ve yeni kütüphane modülleri eklerken uyulması gereken kuralları ve değişmezleri açıklar. Library bileşenleri, traits veya module tanımlamalarını eklerken veya değiştirirken kullanılır.
cd ~/.claude/skills
git clone https://github.com/atopile/atopile.git atopile mkdir -p ~/.claude/skills/library
curl -fsSL https://raw.githubusercontent.com/atopile/atopile/HEAD/.claude/skills/library/SKILL.md \
-o ~/.claude/skills/library/SKILL.md library modülü (src/faebryk/library/ dizininde yer alır), donanım tasarım dilinin "standart kütüphanesini" oluşturan yeniden kullanılabilir bileşenlerin, özelliklerin ve arayüzlerin koleksiyonunu içerir.
import faebryk.core.faebrykpy as fbrk
import faebryk.core.graph as graph
import faebryk.library._F as F
g = graph.GraphView.create()
tg = fbrk.TypeGraph.create(g=g)
resistor = F.Resistor.bind_typegraph(tg=tg).create_instance(g=g)
src/faebryk/library/_F.py
import faebryk.library._F as F deseni için hevesle içeri aktarır ve yeniden dışa aktarır.tools/library/gen_F.py
src/faebryk/library/*.py taraması yapar, dosyanın aynı adlı bir sınıf içerip içermediğini algılar ve _F.py yazar.F.<Name> referanslarının topolojik sıralaması aracılığıyla dışa aktarımları sıralar ve import-order döngülerini önler.src/faebryk/library/ spesifik bileşen tanımlarını içerir (örn. Resistor.py, Capacitor.py, LED.py).can_bridge.py, is_power.py).faebryk.library._F kütüphanesinden (takma ad olarak F) yoğun bir şekilde import eder.ato yerleşiklerini bu sınıflara eşler.can_bridge gibi yapabilir şeyler) ve fiziksel şeyler için Bileşenleri kullanın (Resistor gibi nedir şeyler)._F.py oluşturulmuş bir "barrel" modülüdür; içini aktarmak kasıtlı olarak uygundur ancak ağır olabilir.src/faebryk/library/ dizininde yeni bir MyComponent.py dosyası oluşturun. Node (veya daha spesifik bir taban) sınıfından devralın._F.py Yeniden Oluşturun: python tools/library/gen_F.py çalıştırın ve güncellenmiş src/faebryk/library/_F.py commit edin.test/library/ altında yaşar (test/library/nodes/ dahil).ato dev test --llm test/library/test_instance_library_modules.py -qis_atomic_part trait ile işaretleyin.resistance, capacitance gibi fiziksel özellikleri tanımlamak için F.Parameters kullanın.2 veya daha fazla bağımsız görevin paralel olarak yürütülebileceği ve aralarında state paylaşımı ya da sıralı bağımlılık olmadığı durumlarda kullanın.
Ayrı bir oturumda inceleme kontrol noktaları ile yürütülecek yazılı bir uygulama planınız olduğunda kullanın.
Mevcut oturumda bağımsız görevlerle uygulama planlarını yürütürken kullanın
Herhangi bir hata, test başarısızlığı veya beklenmeyen davranışla karşılaştığınızda, çözüm önerisi sunmadan önce kullanın.
Herhangi bir feature ya da bugfix uygulamaya başlamadan önce kullanın.
Yeni beceriler oluştururken, mevcut becerileri düzenlerken veya dağıtımdan önce becerileri doğrularken kullanın.