diff --git a/content/contribute/desktop.md b/content/contribute/desktop.md deleted file mode 100644 index 4fd823b..0000000 --- a/content/contribute/desktop.md +++ /dev/null @@ -1,134 +0,0 @@ ---- -title: Getting Started with Desktop Browser Development -draft: false -lastmod: 2024-10-25 ---- - -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**](https://git-scm.com/): Version control system to clone the repository and manage your code. -- [**Node.js**](https://nodejs.org/): Required for building the browser. -- [**npm**](https://www.npmjs.com/): Node package manager, which comes with Node.js. -- [**MozillaBuild**](https://wiki.mozilla.org/MozillaBuild): Meta-installer required to build the browser. -- [**Mercurial/TortoiseHg**](https://www.mercurial-scm.org/downloads): Required by Mozilla scripts, with its install directory added to PATH. -- [**Python**](https://www.python.org/): Required by build scripts, with its install directory added to PATH. - -## Run Locally - -Clone the project - -```bash -git clone --depth 1 https://github.com/zen-browser/desktop.git -cd desktop -git submodule update --init --recursive --depth 1 -``` - -Install dependencies - -```bash -npm i -``` - -Download and bootstrap the browser - -```bash -npm run init -``` - -Run bootstrap to identify and fix potential errors - -```bash -npm run bootstrap -``` - -Copy a language pack -```bash -sh scripts/update-en-US-packs.sh -``` - -Start building the browser - -```bash -npm run build -``` - -Finally, run the browser! - -```bash -npm start -``` - -### Limiting CPU Usage During Build - -On Linux, you can use cpulimit to restrict CPU usage of intensive build processes: - -```bash -# 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: -1. Open Process Lasso/Process Hacker -2. Find rustc.exe or clang.exe processes -3. 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. - -```bash -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 -- [[live-editing | Editing the interface CSS in real-time]] -- [[building| Building the browser]] - -#### 4. Commit Your Changes -Commit your changes with a descriptive message. - -```bash -git commit -m "Add feature: your feature description" -``` - -#### 5. Push Your Changes -Push your branch to your forked repository. - -```bash -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](https://github.com/zen-browser/desktop) -- [[CONTRIBUTING| Contribution Guidelines]] -- [[CODE_OF_CONDUCT | Code of Conduct]] -- [Searchfox](https://searchfox.org/) a source code indexing tool for Mozilla Firefox -- [MDN Web Docs](https://developer.mozilla.org/) 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.