๐ค Contributing to Droid-ify
October 3, 2025 ยท View on GitHub
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
- Fork and clone the repository
- Set up environment following Building from Source
- Create a branch for your contribution
- Make changes following our guidelines
- Test thoroughly on different Android versions
- Create a pull request
๐ Development Guidelines
Code Style
- Follow Kotlin Coding Conventions
- Use meaningful variable and function names
- Prefer
valovervarwhen 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/descriptionfix/descriptiondocs/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
- Index V2 implementation - Modern repository format support
- Performance improvements - Faster sync and better UX
- Test coverage - More comprehensive testing
- 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! ๐