Katkı Vermek
Çalışma tarzı, branch hijyeni ve değişiklikleri güvenli ve okunabilir tutan beklentiler.
Çalışma tarzı
Bu repo şunları tercih eder:
- kodlamadan önce okumak
- küçük ve hedefli diff'ler
- açık sahiplik sınırları
- minimum abstraction
- görünür fail durumları
En önemli katkı kuralları
- Çalışan sistemleri gelişigüzel yeniden yazmayın.
- Spekülatif yeniden mimari yerine eklemeli hardening yap.
- Proje yönü açıkça değişmeden local-first ve paper-first varsayımlarını koru.
- Frontend kabuklarını Python runtime etrafında ince tut.
Önerilen katkı akışı
- en küçük sahip modülü oku
- eşleşen docs ve
.ainotlarını oku - minimum ama gerçek faydalı değişikliği yap
- önce hedefli testleri çalıştır
- davranış değiştiyse daha geniş doğrulamaya çık
- varsayımlar değiştiyse docs ve
.ainotlarını da güncelle
Commit tarzı
Conventional commit tarzı tercih edilir; çünkü release otomasyonu ve tarihçe daha okunabilir kalır. Örnekler:
feat: add locale-aware docs routingdocs: expand runtime and onboarding guidancefix: clarify docs feedback forwarding state
Release otomasyonu main üzerindeki conventional commit'leri okur.
Feature commit'leri minor release, fix/perf/docs/build/ci/chore commit'leri patch release üretir; ! veya BREAKING CHANGE: major release anlamına gelir.
Sadece main otomatik olarak pyproject.toml, workspace package sürümleri ve CHANGELOG.md değiştirir. Diğer branch'ler version preview çalıştırır ve test binary'leri için prerelease tag/release kayıtları yayınlayabilir:
main:v0.9.5gibi stabil SemVer tag'leriV1,V2gibi integration branch'leri:v0.9.6-next.9870+gabc1234gibinextprerelease'leri- feature branch'leri:
v0.9.6-beta.9870+gabc1234gibibetaprerelease'leri
v0.9.5.9870 gibi dördüncü SemVer core segment kullanma; CI build kimliği prerelease ya da build metadata içinde yaşamalı.
CI ve release kontrolleri
Pull request'ler ve korunan branch'lerde şu kontroller yeşil kalmalı:
- Python core: uv sync, Ruff, Pyright, Pytest ve PyInstaller smoke build
- Web GUI: pnpm workspace install, lint, typecheck ve production build
- Docs: pnpm workspace install, lint, typecheck ve static export
- TUI: pnpm workspace install ve Ink entrypoint syntax check
- Version Check: semantic-release preview ve SemVer uyumlu branch artifact kimliği
- Binaries: branch testleri için macOS ve Windows PyInstaller artifact'leri;
v*tag'lerinde stabil GitHub Release'e, branch push'larında prerelease GitHub Release'e eklenir
Docs güncellemesi ne zaman işin parçasıdır
Şu durumlarda docs aynı branch içinde güncellenmeli:
- komut ya da workflow değiştiyse
- frontend ile runtime sınırı değiştiyse
- yeni bir guardrail ya da tasarım kuralı geldiyse
- onboarding beklentileri hareket ettiyse
Bu repo için iyi PR neye benzer
- diff odaklı kalır
- operatöre görünen davranış doğrulanır
- docs implementasyonla eşleşir
- gelecek katkı veren aynı kuralı yeniden keşfetmek zorunda kalmaz