4.5 KiB
Contributing to Freedom Loader
Welcome! Thanks for your interest in Freedom Loader. Your contributions—bug reports, feature ideas, or code improvements—are always appreciated. Every contribution makes Freedom Loader better.
Quick Links
Ways to Contribute
1. Report a Bug
Found a bug or unexpected behavior? Open an issue using the Bug Report template.
Please include:
- Clear description of the bug
- Steps to reproduce
- App version and environment (Windows version, Firefox version if relevant)
- Logs from:
C:\Users\[USERNAME]\AppData\Local\FreedomLoader\logs\LOGS-YYYY-MM-DD.log - Screenshots if applicable
2. Request a Feature
Have an idea to improve Freedom Loader? Open a Feature Request.
Tips:
- Describe the problem it solves
- Explain your proposed solution
- Include use cases and examples
3. Submit Code Changes
Before starting:
- Check existing issues and PRs to avoid duplicates
- For major changes, open an issue first to discuss
- Follow the project's code style and conventions
Process:
- Fork the repository
- Create a feature branch:
git checkout -b feature/your-feature-name - Make your changes
- Test thoroughly on Windows 10/11
- Commit with clear messages:
git commit -m "Add feature X" - Push to your fork:
git push origin feature/your-feature-name - Open a Pull Request using the appropriate template
Code Guidelines:
- Use camelCase for variables and functions
- Comment complex logic
- Keep commits focused and atomic
- Update documentation if needed
- Don't modify version numbers (done during release)
4. Improve Documentation
Documentation improvements are always welcome:
- Fix typos or unclear sections
- Add missing examples
- Update outdated information
- Improve README, wiki, or guides
Small contributions matter—don't hesitate to submit documentation PRs.
Development Setup
Prerequisites
- Node.js 16.x or higher
- npm or yarn
- Git
- Windows 10/11 (for testing)
Setup
# Clone your fork
git clone https://github.com/YOUR-USERNAME/Freedom-Loader.git
cd Freedom-Loader
# Install dependencies
npm install
# Run in development mode
npm start
# Build for production
npm run build
Project Structure
Freedom-Loader/
├── main.js # Electron main process
├── preload.js # Electron preload script
├── config.js # Global configuration
├── server/ # Express backend
│ ├── routes/ # API routes
│ ├── controller/ # Business logic
│ └── helpers/ # Utility functions
├── public/ # Frontend (HTML, CSS, JS)
└── ressources/ # Binaries (yt-dlp, ffmpeg, etc.)
Testing
Before submitting a PR, verify:
- Download functionality works (video/audio)
- Playlist downloads work
- Settings panel functions correctly
- Custom path selection works
- No errors in application logs
- UI changes work on all themes (if applicable)
- Tested on Windows 10 and/or Windows 11
Pull Request Review Process
- Submission: Open PR with clear description using the template
- Review: Maintainers review code and provide feedback
- Updates: Address feedback and push updates
- Approval: Once approved, PR will be merged
- Release: Changes included in next release
Response times:
- Bug fixes: Usually reviewed within 2-3 days
- Features: May take longer depending on complexity
- Documentation: Often reviewed quickly
Code of Conduct
Be respectful and constructive in all interactions. We welcome everyone as long as discussions remain polite and productive.
See CODE_OF_CONDUCT.md for details.
Questions?
- Check the FAQ
- Review the Wiki
- Open a Question issue
Credits
Thanks to Zakaria for the website icon design.
Check out his work: IG @designmark_studio
Thank you for contributing to Freedom Loader!