Skip to content

Latest commit

 

History

History
157 lines (108 loc) · 4.47 KB

File metadata and controls

157 lines (108 loc) · 4.47 KB

🤝 Contributing to Droid-ify

Thank you for your interest in contributing to Droid-ify! This document provides guidelines for contributors.

🌟 Ways to Contribute

🐛 Bug Reports

  • Search existing issues before creating new ones
  • Use bug report templates when available
  • Include system information and reproduction steps
  • Add screenshots when applicable

💡 Feature Requests

  • Check for existing requests to avoid duplicates
  • Clearly describe the feature and its use case
  • Explain why it would be valuable

🔧 Code Contributions

  • Bug fixes - Fix reported issues
  • New features - Implement requested features
  • Performance improvements - Optimize existing code
  • Code refactoring - Improve code quality

🌐 Translations

Help translate Droid-ify via Weblate

📖 Documentation

Improve README, guides, and code comments

🚀 Getting Started

  1. Fork and clone the repository
  2. Set up environment following Building from Source
  3. Create a branch for your contribution
  4. Make changes following our guidelines
  5. Test thoroughly on different Android versions
  6. Create a pull request

📋 Development Guidelines

Code Style

  • Follow Kotlin Coding Conventions
  • Use meaningful variable and function names
  • Prefer val over var when possible
  • Use Android Studio's default formatting (Ctrl+Alt+L)
  • 4 spaces for indentation, 120 character line limit
  • Organize imports and remove unused ones

Architecture

  • Follow Clean Architecture principles
  • Domain layer: Business logic and models
  • Data layer: Repository implementations and data sources
  • Presentation layer: UI components and ViewModels
  • Use Hilt for dependency injection
  • Write meaningful tests for business logic

Git Workflow

Use Conventional Commits format:

<type>: <description>

Types: feat, fix, docs, style, refactor, chore

Branch naming:

  • feature/description
  • fix/description
  • docs/description

📝 Pull Request Guidelines

Before Submitting

  • Run tests and ensure they pass
  • Update documentation if needed
  • Test on actual devices when possible
  • Rebase on latest main branch

Pull Request Content

  • Clear title summarizing the change
  • Description of what was changed and why
  • Issue reference (e.g., "Fixes #123")
  • Testing notes and screenshots for UI changes

🏷️ Issue Labels

Type Description
bug Something isn't working
enhancement New feature or improvement
documentation Documentation related
help wanted Community help needed
good first issue Good for newcomers
Priority Description
critical Urgent fixes needed
high Important issues
medium Standard priority
low Nice to have

🎯 Project Priorities

Current Focus Areas

  1. Index V2 implementation - Modern repository format support
  2. Performance improvements - Faster sync and better UX
  3. Test coverage - More comprehensive testing
  4. Code quality - Refactoring and modernization

Areas Needing Help

  • Translation updates - Keep all languages current
  • Documentation improvements - Better guides and examples
  • Bug triage - Help categorize and prioritize issues
  • Testing on different devices - Ensure broad compatibility

🔐 Security

Do not report security vulnerabilities through public GitHub issues. Send details to iamlooker@proton.me instead.

📞 Getting Help

  • GitHub Issues - Bug reports and feature requests
  • GitHub Discussions - General questions
  • Weblate - Translation questions

Search existing issues and documentation before asking for help.

📚 Resources

📜 Code of Conduct

This project adheres to a Code of Conduct. By participating, you are expected to uphold this code.


Thank you for contributing to Droid-ify! 🚀