Contributing to the Zen Browser Desktop project is a great way to get involved with open-source software development. This guide will walk you through the steps to clone the project, set up your development environment, make contributions, and submit pull requests.
Prerequisites
Before you begin, ensure you have the following tools installed:
- Git: Version control system to clone the repository and manage your code.
- Node.js: Required for building the browser.
- npm: Node package manager, which comes with Node.js.
- MozillaBuild: Meta-installer required to build the browser.
- Mercurial/TortoiseHg: Required by Mozilla scripts, with its install directory added to PATH.
- Python: Required by build scripts, with its install directory added to PATH.
Run Locally
Clone the project
Install dependencies
Download and bootstrap the browser
Run bootstrap to identify and fix potential errors
Copy a language pack
Start building the browser
Finally, run the browser!
Limiting CPU Usage During Build
On Linux, you can use cpulimit to restrict CPU usage of intensive build processes:
On Windows, use Process Lasso or Process Hacker to set CPU affinity and priority:
- Open Process Lasso/Process Hacker
- Find rustc.exe or clang.exe processes
- Right click β Set CPU Affinity/Priority
Making a Contribution
1. Fork the Repository
2. Create a New Branch
Itβs a good practice to create a new branch for each feature or bug fix.
3. Make Your Changes
Edit the code in your local repository.
- Ensure that your changes do not break existing functionality.
- Write tests if applicable.
You can test your changes by
4. Commit Your Changes
Commit your changes with a descriptive message.
5. Push Your Changes
Push your branch to your forked repository.
6. Submit a Pull Request
Go to the original Zen Browser repository and submit a pull request from your forked repository.
- Provide a clear title and description of your changes.
- Reference any relevant issues in the pull request.
Additional Resources
- Zen Browser Repository
- Contribution Guidelines
- Code of Conduct
- Searchfox a source code indexing tool for Mozilla Firefox
- MDN Web Docs a documentation repository and learning resource for web developers
Thank you for contributing to Zen Browser! Your contributions are valuable and help make the project better for everyone.