Repomix'e Katkıda Bulunma
**Repomix**'e gösterdiğiniz ilgi için teşekkürler! Projeyi daha da iyi hale getirmenize yardımcı olmaktan memnuniyet duyarız. Bu kılavuz, projeye katkıda bulunmaya başlamanız için gereken bilgileri sunar.
Overview
Repomix'e Katkıda Bulunma
Repomix'e gösterdiğiniz ilgi için teşekkürler! Projeyi daha da iyi hale getirmenize yardımcı olmaktan memnuniyet duyarız. Bu kılavuz, projeye katkıda bulunmaya başlamanız için gereken bilgileri sunar.
Nasıl Katkıda Bulunabilirsiniz
- Depoyu Yıldızlayın: Depoyu yıldızlayarak destek gösterin!
- Konu Açın: Bir hata mı buldunuz? Yeni bir özellik fikriniz mi var? Konu açarak bize bildirin.
- Pull Request Gönderin: Düzeltilmesi veya iyileştirilmesi gereken bir şey mi gördünüz? Hemen bir PR gönderin!
- Duyurun: Repomix deneyiminizi sosyal medyada, bloglarda veya teknoloji topluluğunuzda paylaşın.
- Repomix'i Kullanın: En değerli geri bildirimler gerçek kullanımdan gelir; Repomix'i kendi projelerinize entegre etmekten çekinmeyin!
- Sponsor Olun: Sponsor olarak Repomix'in gelişimine destek verin.
Geliştirme Ortamı Kurulumu
Ön Koşullar
- Node.js ≥ 20.0.0
- Git
- npm
- Docker (isteğe bağlı; web sitesini çalıştırmak veya konteyner içinde geliştirme için)
Yerel Geliştirme
Repomix'i yerel geliştirme için kurmak üzere:
# Clone repository
git clone https://github.com/yamadashy/repomix.git
cd repomix
# Install dependencies
npm install
# Run CLI
npm run repomix
Docker ile Geliştirme
Repomix'i Docker kullanarak da çalıştırabilirsiniz:
# Build image
docker build -t repomix .
# Run container
docker run -v ./:/app -it --rm repomix
Proje Yapısı
Proje aşağıdaki dizinlere göre organize edilmiştir:
src/
├── cli/ # CLI implementation
├── config/ # Configuration handling
├── core/ # Core functionality
│ ├── file/ # File handling
│ ├── metrics/ # Metrics calculation
│ ├── output/ # Output generation
│ ├── security/ # Security checks
├── mcp/ # MCP server integration
└── shared/ # Shared utilities
tests/ # Tests mirroring src/ structure
website/ # Documentation website
├── client/ # Frontend (VitePress)
└── server/ # Backend API
Geliştirme Komutları
# Run CLI
npm run repomix
# Run tests
npm run test
npm run test-coverage
# Lint code
npm run lint
Test
Test için Vitest kullanıyoruz. Testleri çalıştırmak için:
# Run tests
npm run test
# Test coverage
npm run test-coverage
# Linting
npm run lint-biome
npm run lint-ts
npm run lint-secretlint
Kod Stili
- Linting ve biçimlendirme için Biome kullanın
- Test edilebilirlik için bağımlılık enjeksiyonu uygulayın
- Dosyaları 250 satırın altında tutun
- Yeni özellikler için test ekleyin
Linting ve biçimlendirme için Biome kullanıyoruz. Kodunuzun stil kılavuzuna uygunluğunu aşağıdaki komutla doğrulayın:
npm run lint
Pull Request Kılavuzu
Pull Request göndermeden önce şunları sağlayın:
- Kodunuz tüm testleri geçiyor:
npm run testkomutunu çalıştırın - Kodunuz linting standartlarımıza uyuyor:
npm run lintkomutunu çalıştırın - İlgili belgeleri güncellediniz
- Mevcut kod stilini takip ettiniz
Web Sitesi Geliştirme
Repomix web sitesi VitePress ile oluşturulmuştur. Web sitesini yerel olarak çalıştırmak için:
# Prerequisites: Docker must be installed on your system
# Start the website development server
npm run website
# Access the website at http://localhost:5173/
Belgeleri güncellerken yalnızca İngilizce sürümü güncellemeniz yeterlidir. Diğer dillere çeviriler, proje sorumluları tarafından yapılacaktır.
Sürüm Yayınlama Süreci
Proje sorumluları ve sürüm süreciyle ilgilenen katkıda bulunanlar için:
- Sürümü güncelleyin
npm version patch # or minor/major
- Testleri çalıştırın ve derleyin
npm run test-coverage
npm run build
- Yayınlayın
npm publish
Yeni sürümler proje sorumlusu tarafından yönetilmektedir. Bir sürüme ihtiyaç duyulduğunu düşünüyorsanız, bunu tartışmak için bir konu açın.