Design ★ 3,412

domain-layer

Elektronik tasarıma özgü mantık ve derleme süreçleri için talimatlar: netlistler, PCB'ler, derleme adımları ve exporterlar. Derleme adımlarını, exporterları, PCB üretimini veya BOM/netlist çıktısını uygularken veya değiştirirken kullanın.

cd ~/.claude/skills
git clone https://github.com/atopile/atopile.git atopile

Domain Layer Modülü

domain layer (öncelikle src/atopile/build_steps.py ve src/faebryk/exporters/) elektronik donanım mühendisliğine özgü mantık ve işlemleri kapsar. Buna derlenmiş bir grafiği üretim yapıtlarına (Gerber, BOM, Pick & Place) dönüştüren build pipeline'ı dahildir.

Hızlı Başlangıç

Bir proje dizininden (burada ato.yaml bulunur) standart build pipeline'ını çalıştırın:

ato build

İlgili Dosyalar

  • Build Orchestration: src/atopile/build_steps.py
    • Muster sınıfını tanımlar (DAG tabanlı bir görev çalıştırıcı).
    • Standart build hedeflerini kaydeder: generate_bom, generate_manufacturing_data, update_pcb, vb.
  • Build entry / app init: src/atopile/build.py (.ato veya .py dosyasından app grafiği oluşturur, unit inference'ı çalıştırır)
  • Exporters: src/faebryk/exporters/
    • pcb/: KiCad PCB üretimi ve layout senkronizasyonu (layout_sync.py).
    • bom/: Bill of Materials üretimi (jlcpcb.py, vb.).
    • netlist/: Netlist formatlaması.
    • documentation/: Datasheetler, şemalar.
  • Layout sync girdileri:
    • src/atopile/layout.py (.layouts.json modülü→layout eşlemesi üretir)
    • src/atopile/kicad_plugin/README.md (plugin iş akışı özeti)

Bağımlılar (Çağrı Siteleri)

  • CLI (src/atopile/cli/build.py): ato build komutu doğrudan build_steps.muster'ı çağırarak pipeline'ı yürütür.
  • IDE/Extension: Önizlemeler için belirli build adımlarını çağırabilir (örn. generate_3d_render).

Nasıl Çalışılır / Geliştirilebilir / Test Edilir

Temel Konseptler

  • Muster: Görev çalıştırıcısı. Hedefler bağımlılıkları bildirir (örn. generate_bom, build_design'a bağlıdır).
  • Layout Sync: Manuel PCB layout değişikliklerini korurken netlist/bileşenleri koddan güncellemek işlemidir (update_pcb).
  • Artifacts: Build işlemi tarafından üretilen dosyalar, build dizininde depolanır.

Geliştirme İş Akışı

  1. Config Seçeneği Ekleme: Yeni bir build adımının konfigürasyon gerektirmesi durumunda, atopile.config'e ekleyin (burada kapsanmamıştır, ancak ilgilidir).
  2. Yeni Exporters: src/faebryk/exporters/ içinde yeni bir modül oluşturun ve build_steps.py'de @muster.register kullanarak bir sarmalayıcı fonksiyon kaydettirin.

Test Etme

  • Integration Tests: Bu katman tüm akışı düzenledığinden, test/end_to_end/ veya test/integration/ içindeki end-to-end veya integration testler aracılığıyla en iyi şekilde test edilir.
  • Manuel Doğrulama: Örnek bir proje üzerinde ato build çalıştırın ve üretilen yapıtları kontrol edin (Gerbers, BOM csv).
  • Muster unit testleri: ato dev test --llm test/test_muster.py -q

En İyi Uygulamalar

  • İdempotency: Build adımları genel olarak idempotent olmalıdır.
  • Virtual Targets: Yalnızca diğer hedefleri gruplandıran hedefler için virtual=True kullanın (örn. all veya default).
  • Layout Koruması: Kullanıcının manuel PCB yönlendirmesinin veri kaybı riskini ortadan kaldırmak için update_pcb veya layout_sync mantığını değiştirirken çok dikkatli olun.

Benzer skill'ler

brainstorming Design

Herhangi bir yaratıcı çalışmaya başlamadan önce bunu mutlaka kullanın - feature oluştururken, component inşa ederken, functionality eklerken veya davranış değiştirirken. Kullanıcı niyetini, gereksinimleri ve tasarımı implementation öncesinde araştırır.

obra/superpowers ★ 235,495
finishing-a-development-branch Design

Uygulama tamamlandığında, tüm testler geçtiğinde ve çalışmanızı nasıl entegre edeceğinize karar vermeniz gerektiğinde kullanın - merge, PR veya cleanup seçeneklerini sunarak geliştirme sürecinin tamamlanmasını rehberlik eder.

obra/superpowers ★ 235,495
receiving-code-review Design

Kod incelemesi geri bildirimi alırken, önerileri uygulamadan önce kullanın; özellikle geri bildirim belirsiz veya teknik olarak şüpheli görünüyorsa - performatif anlaşmadan veya körü körüne uygulamadan ziyade teknik titizlik ve doğrulama gerekir.

obra/superpowers ★ 235,495
requesting-code-review Design

Görevleri tamamlarken, büyük özellikleri hayata geçirirken veya merge etmeden önce çalışmanın gereksinimleri karşıladığını doğrulamak için kullanın.

obra/superpowers ★ 235,495
using-git-worktrees Design

Yeni bir feature üzerinde çalışmaya başlarken veya implementasyon planını yürütmeden önce kullanın - native araçlar veya git worktree fallback aracılığıyla izole edilmiş bir workspace sağlar.

obra/superpowers ★ 235,495
using-superpowers Design

Herhangi bir konuşma başlatırken kullanın - skill'lerin nasıl bulunacağını ve kullanılacağını belirler, clarification soruları da dahil olmak üzere HERHANGİ bir yanıt vermeden önce skill invocation gerektirir.

obra/superpowers ★ 235,495
Daha fazla: Design →