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
git clone --depth 1 https://github.com/zen-browser/desktop.git
cd desktop
git submodule update --init --recursive --depth 1
Install dependencies
npm i
Download and bootstrap the browser
npm run init
Run bootstrap to identify and fix potential errors
npm run bootstrap
Copy a language pack
sh scripts/update-en-US-packs.sh
Start building the browser
npm run build
Finally, run the browser!
npm start
Limiting CPU Usage During Build
On Linux, you can use cpulimit to restrict CPU usage of intensive build processes:
# Limit by process name
cpulimit -e rustc -l 50 # Limits rustc to 50% CPU
cpulimit -e clang -l 50 # Limits clang to 50% CPU
# Or limit by PID
cpulimit -p PID -l 50
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.
git checkout -b feature/your-feature-name
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.
git commit -m "Add feature: your feature description"
5. Push Your Changes
Push your branch to your forked repository.
git push origin feature/your-feature-name
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.