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
- Clone the repository
- Open it in your editor
- Make sure Rust is installed
- 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-dlpextraction behavior
In those cases, logs and reproduction steps are especially helpful.