# Contributing to the Vyla Ecosystem Thank you for your interest in contributing to Vyla! We welcome contributions across all ecosystem repositories: frontend applications, developer tooling, documentation, and scraper modules. ## How to Contribute ### 1. Contributing Source Scrapers (`SDK`) The most common contribution is adding or updating a provider scraper in `@vyla-entertainment/sdk`: - Follow the [Contributing a Source Guide](https://vyla.cc/sdk/vyla-sdk/contributing). - Author modules inside `src/sources/.js`. - Ensure your module exports `async function getStream(args)` returning a valid `StreamResult`. - Register the new source in `src/config.js`. - Test against known movie (TMDB 155) and TV (TMDB 1396) identifiers. ### 2. Contributing to Applications - **Vyla Home**: Native desktop client built on Tauri v2. Review [Home Documentation](https://vyla.cc/products/home). - **Vyla Go**: Native Android mobile client built on Tauri v2 Mobile. Review [Go Documentation](https://vyla.cc/products/go). - **Vyla TV**: Android TV Leanback client built with Jetpack Compose & ExoPlayer. Review [TV Documentation](https://vyla.cc/products/tv). ### 3. Contributing to Documentation - Edit or add markdown files in the `Documentation` repository. - Ensure semantic Markdown formatting, accurate code snippets, and WCAG accessibility standards. - Check that all internal links resolve cleanly. ## Code Standards & Guidelines - **ES Modules**: Write modern, clean ES Module syntax (`import`/`export`). - **No Secrets**: Never commit private API keys, tokens, or personal server endpoints. - **Error Handling**: Throw informative, descriptive errors rather than silently swallowing exceptions. - **Verification**: Ensure all stream candidates pass two-phase verification (`verifyStream` and `verifyPlayable`).