Skip to content

[Feature Request]: Add CONTRIBUTING.md with contributor setup guide, code style guidelines, and PR process documentation #544

Description

@prince-pokharna

Summary

ARVIO is a mature Android TV application with 544 stars, 73 forks, 1043 commits, 77 open issues, and 22 open PRs. Despite this significant contributor interest, the repository has no CONTRIBUTING.md file. Contributors must infer setup instructions, code style, and PR expectations entirely from the README and existing code, leading to inconsistent contributions and increased review burden on maintainers.

Problem

  • There is no CONTRIBUTING.md in the repository (confirmed by the file tree — only README.md, PRIVACY.md, CHANGELOG.md, and LICENSE exist at the root).
  • The README documents build steps and release checks, but does not specify: branch naming conventions, commit message format, what makes a good PR, how to run Detekt/lint before submitting, or how to add a new language/feature.
  • The config/detekt/ directory suggests code style is enforced via Detekt, but contributors don't know this without reading the Gradle config.
  • 77 open issues suggest high engagement — a CONTRIBUTING guide would help triage and direct that energy more effectively.

Proposed Solution

Create CONTRIBUTING.md covering:

# Contributing to ARVIO

## Getting Started
- Prerequisites: Android Studio, JDK 17, Android SDK 35
- Clone: `git clone https://github.com/ProdigyV21/ARVIO.git`
- Build: `./gradlew :app:assemblePlayDebug`

## Branch Naming
- `feature/short-description`
- `fix/issue-number-description`
- `docs/update-area`

## Code Style
- Kotlin: follow Detekt rules in `config/detekt/`
- Run before every PR: `./gradlew detekt`
- Format with: `./gradlew ktlintFormat`

## Commit Messages
Follow Conventional Commits:
- `feat: add subtitle language filter`
- `fix: resolve crash on IPTV category switch`
- `docs: update build instructions`

## PR Process
1. Reference the issue number in the PR description
2. Run `./gradlew :app:compilePlayDebugKotlin` — zero errors required
3. Smoke-test on at least one Android TV emulator
4. Screenshots required for UI changes

## What Not to Contribute
- Bundled playlists, IPTV credentials, or third-party media links
- Features that require modifying the cloud backend without prior discussion

## First-Time Contributors
Look for issues tagged `good first issue`.

Additional Notes

  • I will also add a GitHub Issue template for bug reports (device type, Android version, build variant) and feature requests.
  • A PR template with a checklist (Detekt passed, smoke tested, no hardcoded secrets) will be included.

I am happy to implement this. Could you assign this issue to me?

Labels: documentation, good first issue, contributor-experience, GSSoC 2026

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions