Summary
The Arvio repository currently lacks a dedicated contributor guide (CONTRIBUTING.md). While README.md provides clear instructions for setting up secrets and building the Android application, new contributors currently have no central guidance regarding repository branching conventions, commit standards, monorepo directory structure, local pre-PR verification steps (such as unit tests and Detekt static analysis), or pull request submission procedures.
Adding a root CONTRIBUTING.md file will establish clear onboarding guidelines, streamline PR reviews, and ensure local code quality checks are executed prior to CI submission.
Current Documentation State & Gaps
- Fragmented Monorepo Scope: The repository contains multiple sub-projects (
app/, web/, iosApp/, netlify-auth-site/, resolver-worker/, supabase/). Sub-project READMEs exist for web/ and resolver-worker/, but there is no top-level index guiding contributors on component ownership.
- Undocumented Quality & Test Commands: Local commands for Android unit testing (
./gradlew :app:testPlayDebugUnitTest), Detekt linting (./gradlew detekt), web linting (npm run lint), worker type-checking (npm run typecheck), and auth backend testing (npm test) are configured in package files but omitted from documentation.
- Missing Workflow Guidelines: Git branch naming patterns, commit message guidelines, and PR verification expectations are currently undocumented.
Proposed Solution
Create a standard CONTRIBUTING.md file in the root directory that provides:
- Contribution Overview: General contribution rules and repository expectations.
- Monorepo Directory Map: A high-level guide mapping repository subdirectories (
app/, web/, iosApp/, etc.) to their respective roles.
- Workflow Guidelines: Conventions for branching (
feature/, fix/), commit messages, and PR descriptions.
- Pre-PR Verification Checklist: Commands to run local builds, unit tests, and linting checks for Android and web sub-projects.
- Submitting PRs & CI Expectations: Explanation of automated checks in
.github/workflows/build-check.yml and pre-submission checklist.
- References to Existing Documentation: Direct links to
README.md for Android setup, secrets management, and content policies, ensuring zero redundant duplication.
Proposed Content Sections for CONTRIBUTING.md
- Welcome & Code of Conduct Overview
- Monorepo Structure & Component Map
- Prerequisites & Development Setup (linking to
README.md, web/README.md, and resolver-worker/README.md)
- Development Workflow (Forking, Branching conventions, Commit guidelines)
- Local Quality Verification
- Android:
./gradlew assembleSideloadDebug, ./gradlew :app:testPlayDebugUnitTest, ./gradlew detekt
- Web:
npm run lint, npm run build
- Worker & Auth:
npm run typecheck, npm test
- Content & Anti-Piracy Policy (referencing
README.md)
- Pull Request Submission & CI Expectations
- Issue Reporting & Vulnerability Disclosure
Acceptance Criteria
CONTRIBUTING.md is created in the repository root.
- All build, secret configuration, and legal policy references point directly to existing sections in
README.md.
- Local quality check commands (Detekt, unit tests, build checks) are documented accurately with exact Gradle and NPM invocations.
- No existing files or documentation files are overwritten.
Summary
The Arvio repository currently lacks a dedicated contributor guide (
CONTRIBUTING.md). WhileREADME.mdprovides clear instructions for setting up secrets and building the Android application, new contributors currently have no central guidance regarding repository branching conventions, commit standards, monorepo directory structure, local pre-PR verification steps (such as unit tests and Detekt static analysis), or pull request submission procedures.Adding a root
CONTRIBUTING.mdfile will establish clear onboarding guidelines, streamline PR reviews, and ensure local code quality checks are executed prior to CI submission.Current Documentation State & Gaps
app/,web/,iosApp/,netlify-auth-site/,resolver-worker/,supabase/). Sub-project READMEs exist forweb/andresolver-worker/, but there is no top-level index guiding contributors on component ownership../gradlew :app:testPlayDebugUnitTest), Detekt linting (./gradlew detekt), web linting (npm run lint), worker type-checking (npm run typecheck), and auth backend testing (npm test) are configured in package files but omitted from documentation.Proposed Solution
Create a standard
CONTRIBUTING.mdfile in the root directory that provides:app/,web/,iosApp/, etc.) to their respective roles.feature/,fix/), commit messages, and PR descriptions..github/workflows/build-check.ymland pre-submission checklist.README.mdfor Android setup, secrets management, and content policies, ensuring zero redundant duplication.Proposed Content Sections for
CONTRIBUTING.mdREADME.md,web/README.md, andresolver-worker/README.md)./gradlew assembleSideloadDebug,./gradlew :app:testPlayDebugUnitTest,./gradlew detektnpm run lint,npm run buildnpm run typecheck,npm testREADME.md)Acceptance Criteria
CONTRIBUTING.mdis created in the repository root.README.md.