LLM odaklı iş akışı: bu repo'da Zig derleyin, düzenlenmiş test runner'ı çalıştırın, test-report.json/html artifact'lerini tüketin ve ConfigFlags'i keşfedin/debug edin.
cd ~/.claude/skills
git clone https://github.com/atopile/atopile.git atopile mkdir -p ~/.claude/skills/dev
curl -fsSL https://raw.githubusercontent.com/atopile/atopile/HEAD/.claude/skills/dev/SKILL.md \
-o ~/.claude/skills/dev/SKILL.md Bu beceri bu depo içinde çalışan LLM'ler için yazılmıştır. En hızlı, en güvenilir iç döngüye odaklanır:
ato dev test --llm, ham test çıktısı değil)artifacts/test-report.json, artifacts/test-report.html, artifacts/test-report.llm.json)ConfigFlag'ları doğru şekilde keşfet ve kullan (ve depo genelinde envanterini tut)source .venv/bin/activate
ato dev compile
ato dev test --llm -k solver
ato dev test --llm --view HEAD --open
ato dev test --reuse --baseline HEAD~1
ato dev flags
src/atopile/cli/dev.py
ato dev compile (import faebryk.core.zig aracılığıyla Zig derlemesini tetikler)ato dev test --llm (test/runner/main.py dosyasını argümanlarla çalıştırır; baseline/CI rapor yardımcılarını destekler)src/faebryk/core/zig/__init__.py (ZIG_NORECOMPILE, ZIG_RELEASEMODE)src/faebryk/libs/util.py (ConfigFlag, ConfigFlagInt, …)test/runner/main.py (artifacts/test-report.json, artifacts/test-report.html, artifacts/test-report.llm.json).github/workflows/pytest.yml (test-report.json, test-report.html)dev komutları GitHub Actions workflow'ları için birincil arayüzdür.ato dev compile kullanırlar.ato dev compile: native uzantıları derle (graph/typegraph/sexp bağlamaları).ato dev test --llm: düzenlenmiş test çalıştırıcısını çalıştırır (varsayılan olarak -p test -p src); destekler:
-k filtresi (-- -k ... de geçiş argümanları aracılığıyla çalışır)--baseline karşılaştırmaları (commit hash'i veya HEAD~N stili)--view / --open GitHub Actions'tan test-report.html artefaktını getir ve aç (gerekli: gh CLI)--ci CI marker ifadesini uygula (not not_in_ci and not regression and not slow)--direct -k <testname> tek testi test/runtest.py aracılığıyla çalıştır (dar kapsamlı tek-test döngüleri)Yerel test çalıştırmaları yazar:
artifacts/test-report.json (tek gerçek kaynağı; sonuçlar/süreler/hafıza/baseline karşılaştırma durumu + stdout/stderr/loglar/traceback'ler; bkz. tests[].output_full)artifacts/test-report.html (insan panosu; JSON'dan türetilmiş; FBRK_TEST_GENERATE_HTML=1 tarafından kontrol edilir)artifacts/test-report.llm.json (LLM-dostu; JSON'dan türetilmiş; ANSI kodları kaldırılmış loglar)CI her iki artefaktı da yükler (bkz. .github/workflows/pytest.yml):
test-report.jsontest-report.htmlLLM hata ayıklaması için notlar:
artifacts/test-report.json veya artifacts/test-report.llm.json tercih edin; bunlar yapılandırılmış başarısızlıklar, loglar, baseline karşılaştırma ve koleksiyon hatalarını içerir.Uzak/baseline davranışı:
ato dev test --llm --baseline <commit> CI test-report.json artefaktını baseline olarak kullanır (gerekli: gh CLI).ato dev test --llm --view <commit> --open şu anda yalnızca HTML artefaktını getirir/açar; JSON için gh run download aracılığıyla test-report.json artefaktını indirin.ato dev test --reuse --baseline <commit> testleri yeniden çalıştırmadan baseline'a karşı JSON/HTML/LLM'yi yeniden oluşturur.ato dev test --keep-open testler bittikten sonra canlı rapor sunucusunu çalışır durumda tutar.Kullanışlı test-çalıştırıcı ortam değişkenleri (bkz. test/runner/main.py):
FBRK_TEST_REPORT_INTERVAL (saniye; rapor yenileme hızı)FBRK_TEST_LONG_THRESHOLD (saniye; "uzun test" eşiği)FBRK_TEST_WORKERS (0 = cpu sayısı, negatif işçi sayısını ölçeklendirir)FBRK_TEST_GENERATE_HTML (1/0)FBRK_TEST_PERIODIC_HTML (1/0)FBRK_TEST_OUTPUT_MAX_BYTES (HTML tarafından kullanılan önizleme çıktısını kısalt; tests[].output_full tam kalır)FBRK_TEST_OUTPUT_TRUNCATE_MODE (head veya tail)FBRK_TEST_BIND_HOST (orchestrator bağlama host'u; varsayılan 0.0.0.0)FBRK_TEST_REPORT_HOST (yazdırılan rapor URL'sinde kullanılan host; varsayılan bağlama host'u)FBRK_TEST_PERF_THRESHOLD_PERCENT (varsayılan 0.30)FBRK_TEST_PERF_MIN_TIME_DIFF_S (varsayılan 1.0)FBRK_TEST_PERF_MIN_MEMORY_DIFF_MB (varsayılan 50.0)LLM hızlı kullanımı:
artifacts/test-report.llm.json her zaman oluşturulur (ANSI kaldırılmış, tam testler + loglar).ato dev test --llm özlü bir özet + şema + jq ipuçları yazdırır (yalnızca stdout).llm.jq_recipes altında gömülüdür.ato dev test claude-code/codex-cli/cursor altında çalıştırırken özeti otomatik olarak etkinleştirir.FBRK_TEST_LLM=1 veya FBRK_TEST_LLM=0 aracılığıyla açın/kapatın.ConfigFlag deponun "ortam değişkenine göre aç-kapat" mekanizmasıdır. Ortam değişkeni adı ConfigFlag(...) parametresinin ilk argümanıdır.
Kullanım:
export SOME_FLAG=1
Depo içindeki tüm ConfigFlags'ları envanter tutun (manuel bir liste tutmaya çalışmak yerine tercih edilir):
ato dev flags
Tam resmi elde etmek istediğinizde ato dev flags kullanmayı tercih edin (türler/varsayılanlar/açıklamalar + çağrı sitesi sayıları bir yerde).
Sık sık kullanacağınız yüksek etkili flaglar:
ZIG_NORECOMPILE, ZIG_RELEASEMODESLOG, SVERBOSE_TABLE, SPRINT_START, SMAX_ITERATIONS, SSHOW_SS_ISCOLOR_LOGS, LOG_TIME, LOG_FILEINFOsrc/faebryk/core/zig/src/ altındaki dosyaları düzenle -> ato dev compile çalıştır.ato dev profile <command> kullan.ato dev test --llm.test/ altına test ekleyin/ayarlayın.ConfigFlag kullan.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.
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.
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.
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.
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.
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.