---
toc: true
---
## Contributing Code
### Before You Start
- Keep each pull request focused on a single feature or fix.
- Avoid unnecessary formatting changes or large unrelated edits.
- Document what changed and why in your PR description.
---
## Basic Git Workflow
### 1. Fork the Repository
Go to the ChrisTitusTech/winutil repository on GitHub and click the Fork button in the top right corner.
---
### 2. Clone Your Fork
```bash
git clone https://github.com/YOUR_USERNAME/winutil.git
cd winutil
```
---
### 3. Create a Branch
Never work directly on `main`.
Create a branch related to your change:
```bash
git checkout -b feature-name
```
Example:
```bash
git checkout -b add-firefox-tweak
```
---
### 4. Edit the Code
Open the project in your preferred text editor and make your changes.
Keep changes small and focused.
---
### 5. Test Your Changes
Open PowerShell as Administrator.
Go to the project folder:
```powershell
cd path\to\winutil
```
Run:
```powershell
.\Compile.ps1 -Run
```
Verify:
- WinUtil launches correctly
- Your feature works
- Nothing else breaks
If something fails, fix it before committing.
---
### 6. Review Your Changes
Check what changed:
```bash
git status
```
Review the diff:
```bash
git diff
```
Make sure you did not accidentally modify unrelated files.
---
### 7. Commit Your Changes
Stage files:
```bash
git add .
```
Commit them:
```bash
git commit -m "Add feature description"
```
Example:
```bash
git commit -m "Add Firefox package tweak"
```
---
### 8. Push Your Branch
```bash
git push origin branch-name
```
Example:
```bash
git push origin add-firefox-tweak
```
---
### 9. Open a Pull Request
Go to your fork on GitHub.
GitHub will show a button to create a pull request.
Before submitting:
- Explain what changed
- Explain why you changed it
- Make sure unrelated files are not included
Once submitted, maintainers will review your PR.