# 🤝 Nova AI'ya Katkıda Bulunma Rehberi **Teknova Nova AI** projesine katkıda bulunmak istediğiniz için teşekkürler! Bu rehber, katkı sürecini kolaylaştırmak için hazırlanmıştır. ## 🎯 Katkı Türleri ### 🐛 **Bug Reports (Hata Bildirimi)** - Detaylı hata açıklaması - Tekrar edilebilir adımlar - Sistem bilgileri (OS, Python version) - Error logs ve screenshots ### ✨ **Feature Requests (Özellik İstekleri)** - Özelliğin amacını açıklayın - Kullanım senaryolarını belirtin - Mevcut alternatiflerle karşılaştırın ### 🔧 **Code Contributions (Kod Katkıları)** - Bug fixes - Performance improvements - New features - Documentation updates ### 📚 **Documentation** - README improvements - Code comments - Tutorial yazıları - API documentation ## 🚀 Başlangıç Adımları ### 1️⃣ **Repository'yi Fork Edin** ```bash # GitHub'da Fork butonuna tıklayın # Sonra local'e clone edin: git clone https://github.com/YOUR-USERNAME/novaai.git cd novaai ``` ### 2️⃣ **Development Environment Kurun** ```bash # Virtual environment oluşturun python -m venv venv source venv/bin/activate # Linux/Mac # venv\Scripts\activate # Windows # Dependencies yükleyin pip install -r requirements.txt pip install -r requirements-dev.txt # Dev dependencies ``` ### 3️⃣ **Model Dosyalarını Hazırlayın** ```bash # MODEL_SETUP.md rehberini takip edin mkdir nova-ai-model # Model dosyalarınızı bu klasöre yerleştirin ``` ## 📋 Development Workflow ### 🌿 **Branch Oluşturma** ```bash # Main branch'ten yeni branch oluşturun git checkout main git pull origin main git checkout -b feature/amazing-feature # Veya bug fix için: git checkout -b fix/bug-description ``` ### 💻 **Code Style** ```python # Python kod standartları: # - PEP 8 compliance # - Type hints kullanın # - Docstrings ekleyin def nova_chat(message: str, history: List[Dict]) -> str: """ Nova AI ile sohbet fonksiyonu. Args: message: Kullanıcı mesajı history: Sohbet geçmişi Returns: Nova AI yanıtı """ # Implementation here pass ``` ### 🧪 **Testing** ```bash # Testleri çalıştırın python -m pytest tests/ # Linting kontrolleri flake8 . black --check . mypy . # Security check bandit -r . ``` ### 📝 **Commit Messages** ```bash # Anlamlı commit messages yazın: git commit -m "✨ Add: Nova AI temperature control feature - Add temperature parameter to chat function - Update Gradio interface with slider - Add tests for temperature validation - Update documentation Fixes #123" ``` ## 🔍 Code Review Süreci ### 📋 **Pull Request Checklist** - [ ] Code changes test edildi - [ ] Yeni features için testler eklendi - [ ] Documentation güncellendi - [ ] Commit messages açıklayıcı - [ ] Code style check'leri geçiyor - [ ] No breaking changes (veya belirtildi) ### 🎯 **Pull Request Template** ```markdown ## 📝 Description Brief description of changes ## 🔧 Type of Change - [ ] Bug fix - [ ] New feature - [ ] Breaking change - [ ] Documentation update ## 🧪 Testing - [ ] Tests pass locally - [ ] Added tests for new features - [ ] Manual testing completed ## 📋 Checklist - [ ] Code follows style guidelines - [ ] Self-review completed - [ ] Documentation updated - [ ] No conflicts with main branch ``` ## 🛠️ Development Guidelines ### 🎯 **Nova AI Specific Guidelines** #### 🧠 **Model Integration** ```python # Model loading best practices: def load_nova_model(model_path: str) -> Tuple[Any, Any]: """Load Nova AI model with error handling.""" try: tokenizer = AutoTokenizer.from_pretrained(model_path) model = AutoModelForCausalLM.from_pretrained( model_path, torch_dtype=torch.float16, device_map="auto" ) return model, tokenizer except Exception as e: logger.error(f"Model loading failed: {e}") raise ``` #### 🌐 **API Design** ```python # FastAPI endpoint conventions: @app.post("/chat", response_model=ChatResponse) async def chat_endpoint(request: ChatRequest) -> ChatResponse: """Nova AI chat endpoint with proper error handling.""" try: # Validate input if not request.message.strip(): raise HTTPException(400, "Message cannot be empty") # Process with Nova AI response = await nova_chat(request.message, request.history) return ChatResponse( response=response, model="Teknova Nova AI", timestamp=datetime.utcnow() ) except Exception as e: logger.error(f"Chat error: {e}") raise HTTPException(500, "Internal server error") ``` #### 🎨 **UI/UX Standards** ```python # Gradio interface guidelines: with gr.Blocks(theme=gr.themes.Soft()) as demo: gr.HTML("""

🚀 Teknova Nova AI

Özgün yapay zeka teknolojisi

""") # Always include: # - Clear labeling # - Error handling # - Loading states # - Responsive design ``` ## 🏗️ Project Structure ``` novaai/ ├── 📁 .github/ │ ├── workflows/ # GitHub Actions │ ├── ISSUE_TEMPLATE/ # Issue templates │ └── PULL_REQUEST_TEMPLATE.md ├── 📁 src/ │ ├── nova_ai/ # Main package │ ├── api/ # API endpoints │ ├── ui/ # User interfaces │ └── utils/ # Utilities ├── 📁 tests/ # Test files ├── 📁 docs/ # Documentation ├── 📁 scripts/ # Build/deploy scripts ├── 🔧 requirements.txt ├── 🔧 requirements-dev.txt ├── 📋 pyproject.toml └── 📖 README.md ``` ## 🎯 Öncelikli Katkı Alanları ### 🔥 **High Priority** - [ ] **Performance optimization** - Model inference speed - [ ] **Memory management** - RAM kullanımı iyileştirmeleri - [ ] **Error handling** - Robust error recovery - [ ] **Testing coverage** - Unit ve integration testler ### 🌟 **Medium Priority** - [ ] **New UI features** - Advanced chat options - [ ] **API extensions** - Batch processing - [ ] **Documentation** - Tutorial videos - [ ] **Localization** - Multi-language support ### 💡 **Nice to Have** - [ ] **Mobile optimization** - Responsive design - [ ] **Plugin system** - Extensible architecture - [ ] **Analytics** - Usage metrics - [ ] **Deployment tools** - Docker, K8s support ## 🤔 Sorularınız mı Var? ### 💬 **İletişim Kanalları** - **GitHub Discussions**: Genel sorular için - **GitHub Issues**: Bug reports ve feature requests - **Email**: teknova@example.com (teknik destek) - **Discord**: Nova AI Community Server ### 📚 **Yararlı Kaynaklar** - [Python Style Guide](https://pep8.org/) - [Transformers Documentation](https://huggingface.co/docs/transformers) - [FastAPI Best Practices](https://fastapi.tiangolo.com/tutorial/) - [Gradio Documentation](https://gradio.app/docs/) ## 🙏 Teşekkürler Nova AI projesine katkıda bulunan herkese teşekkür ederiz! Sizin katkılarınız Nova AI'yi daha da güçlü kılıyor. ### 🏆 **Katkıda Bulunanlar** - **Teknova Team** - Proje kurucu ekibi - **Community Contributors** - Açık kaynak katkıları --- 🚀 **Teknova Nova AI** - Birlikte daha güçlüyüz! *Bu rehber sürekli güncellenmektedir. Önerilerinizi GitHub Discussions'ta paylaşabilirsiniz.*