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 repomixDocker 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 repomixProje 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 APIGeliştirme Komutları
# Run CLI
npm run repomix
# Run tests
npm run test
npm run test-coverage
# Lint code
npm run lintTest
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-secretlintKod 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 lintPull 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 publishYeni 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.