Contributing - beqare/RustTube GitHub Wiki

Contributing

Thanks for your interest in contributing to RustTube.

This project is a Windows-focused Rust GUI for yt-dlp, and contributions are welcome.

Ways to Contribute

You can help by:

  • reporting bugs
  • suggesting new features
  • improving the UI
  • improving documentation
  • fixing code issues
  • improving the build and release workflow

Before You Start

Please keep these general goals in mind:

  • simple user experience
  • stable downloads
  • clear and practical UI
  • Windows-first behavior
  • maintainable Rust code

Development Setup

  1. Clone the repository
  2. Open it in your editor
  3. Make sure Rust is installed
  4. Run the app locally:
cargo run

Build Workflow

RustTube includes a build script for packaging and installer creation:

.\scripts\build.ps1

You can also use:

scripts\build.bat

Code Style

When contributing code:

  • keep changes focused
  • avoid unnecessary complexity
  • prefer clear and readable Rust
  • follow the existing project structure
  • keep Windows behavior in mind
  • avoid breaking the simple workflow of the app

UI Changes

For UI contributions:

  • keep the interface easy to understand
  • avoid clutter
  • keep layout practical for smaller window sizes
  • make sure the sidebar and log area remain usable

Build and Installer Changes

If you change build or installer behavior:

  • keep the setup process simple
  • avoid unnecessary admin requirements
  • keep per-user installation behavior in mind
  • make sure the generated installer still works with the current release flow

Documentation Contributions

Documentation improvements are very welcome, especially for:

  • installation steps
  • usage explanations
  • tool management
  • troubleshooting
  • build and release workflow

Pull Requests

If you submit a pull request:

  • keep it focused on one main topic
  • explain what changed
  • mention any user-visible behavior changes
  • mention build or installer changes if relevant

Bug Reports

Good bug reports usually include:

  • what you tried to do
  • what happened instead
  • log output if relevant
  • screenshots if helpful
  • Windows version if relevant
  • RustTube version

Feature Requests

Feature requests are easiest to evaluate when they explain:

  • what problem you want to solve
  • why the current behavior is not enough
  • what kind of user experience you expect

Notes

RustTube depends heavily on yt-dlp, so some issues may come from:

  • upstream site changes
  • runtime/tool issues
  • ffmpeg or deno requirements
  • yt-dlp extraction behavior

In those cases, logs and reproduction steps are especially helpful.