# Contributing to this Documentation
Thank you for your interest in contributing to the **Docs** repository! 🎉 This guide will help you get started with Git, GitHub, and our workflow so you can submit your first Pull Request (PR) with confidence.
---
## Table of Contents
- [[#Your First Contribution|Your First Contribution]]
- [[#Prerequisites|Prerequisites]]
- [[#Fork & Clone the Repository|Fork & Clone the Repository]]
- [[#Working on a Branch|Working on a Branch]]
- [[#Making Changes|Making Changes]]
- [[#Stage your changes:|Stage your changes:]]
- [[#Commit Changes|Commit Changes]]
- [[#Commit Messages|Commit Messages]]
- [[#Opening a Pull Request|Opening a Pull Request]]
- [[#Push your branch to your fork:|Push your branch to your fork:]]
- [[#Fill out the PR template:|Fill out the PR template:]]
- [[#Review Process|Review Process]]
- [[#Getting Help|Getting Help]]
---
## Your First Contribution
If this is your first time contributing to an open-source project or to Git, welcome! The simplest way to start is:
1. Look for an [existing issue](https://github.com/HuckleberryLovesYou/Docs/issues) you’d like to work on.
2. Comment on the issue to let us know you’re taking it.
3. Follow the steps below to set up your environment.
4. Make your changes, test locally (if applicable), and submit a PR.
Don’t see an issue you like? Feel free to [open a new issue](https://github.com/HuckleberryLovesYou/Docs/issues/new) with your feature idea or typo fix!
---
## Prerequisites
- **Git** installed on your computer.
- Download & instructions: https://git-scm.com/downloads
- A **GitHub account** (free).
- Sign up: https://github.com/join
- (Optional but recommended) [Obsidian](https://obsidian.md/download)
---
## Fork & Clone the Repository
1. **Fork** the official repo to your own GitHub account by clicking the “Fork” button at the top-right:
`https://github.com/HuckleberryLovesYou/Docs` → `https://github.com/<your-username>/Docs`
2. **Clone** your fork locally:
```bash
git clone https://github.com/<your-username>/Docs.git
cd Docs
```
3. Add the upstream remote (the original repo) so you can stay in sync:
```bash
git remote add upstream https://github.com/HuckleberryLovesYou/Docs.git
git fetch upstream
```
4. Configure Git
Set your name and email so your commits are attributed properly:
```bash
git config --global user.name "Your Name"
git config --global user.email "
[email protected]"
```
5. Check your settings:
```bash
git config --list
```
## Working on a Branch
Always create a new branch for each logical change:
```bash
# Update your local main
git checkout main
git pull upstream main
# Create a feature branch
git checkout -b fix-typo-module1
```
Branch naming suggestions:
- fix/... for typos or small fixes
- feature/... for new content or modules
- docs/... for substantial documentation changes
## Making Changes
Edit or add Markdown (.md) files in the appropriate folder.
Preview your changes locally in your editor or in Obsidian.
#### Stage your changes:
```bash
git add path/to/your-file.md
```
#### Commit Changes
```bash
git commit -m <commit_message>
```
#### Commit Messages
Clear commit messages make review easier. Use this template:
```
<type> (<scope>): <short summary>
[optional longer description]
```
type:
feat, fix, add, style, refactor
scope:
directory or file name, e.g. _IPv4 or Home
short summary:
less than 50 characters
## Opening a Pull Request
#### Push your branch to your fork:
```bash
git push origin fix-typo-module1
```
Go to your fork on GitHub. You’ll see a “Compare & pull request” button—click it.
#### Fill out the PR template:
Title: same as your commit summary or following the [[CONTRIBUTING#Commit Messages|Commit Messages Template]].
Description: What did you change? Why? Screenshots or examples are welcome.
Submit the PR against HuckleberryLovesYou/Docs:main.
## Review Process
The repo maintainer (Tim Matheis) will review your changes, request modifications if needed, and merge once everything looks good.
You may be asked to rebase or update your branch if main has moved ahead.
## Getting Help
If you run into any issues:
Ask questions in an issue on GitHub and Ping @timmatheis in the issue or PR thread.
We’re happy to help you get started!
Code of Conduct & License
All contributions fall under the project’s MIT License.
---
Thank you for helping making our Documentation better!