Files
Freedom-Loader/CONTRIBUTING.md
2026-06-28 21:34:00 +02:00

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.



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:

  1. Fork the repository
  2. Create a feature branch: git checkout -b feature/your-feature-name
  3. Make your changes
  4. Test thoroughly on Windows 10/11
  5. Commit with clear messages: git commit -m "Add feature X"
  6. Push to your fork: git push origin feature/your-feature-name
  7. 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)
└── resources/       # 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

  1. Submission: Open PR with clear description using the template
  2. Review: Maintainers review code and provide feedback
  3. Updates: Address feedback and push updates
  4. Approval: Once approved, PR will be merged
  5. 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?


Credits

Thanks to Zakaria for the website icon design.
Check out his work: IG @designmark_studio


Thank you for contributing to Freedom Loader!