Thank you for taking the time to contribute! Every lab, fix, diagram, or documentation improvement makes this resource better for the entire networking community.
Code of Conduct • Ways to Contribute • Prerequisites • Getting Started • Lab Standards • Naming Conventions • Pull Request Process • Issue Reporting • Checklist
By participating in this project, you agree to maintain a respectful and inclusive environment. All contributors are expected to:
- Use welcoming and inclusive language
- Respect differing viewpoints and experience levels
- Accept constructive criticism gracefully
- Focus on what is best for the community
- Show empathy toward other contributors
Violations may result in your contribution being rejected or your access being revoked.
There are many ways you can add value to this project — you don't have to be an expert:
| Contribution Type | Description |
|---|---|
| 🆕 New Lab | Submit a brand-new Cisco Packet Tracer scenario not already covered |
| 🐛 Bug Fix | Fix broken links, incorrect configs, or misconfigured topologies |
| 📄 Documentation | Improve or add README/documentation for existing labs |
| 🖼️ Topology Diagrams | Add missing or higher-quality network topology images |
| 🔧 Config Improvement | Optimize or correct existing .pkt configurations |
| 💬 Issue Reporting | Report broken links, outdated content, or unclear documentation |
| ⭐ Star & Share | Help others discover the repo by starring and sharing it |
Before contributing, make sure you have the following ready:
✅ Cisco Packet Tracer → Version 8.0 or above (recommended: latest stable)
✅ Git → For cloning, branching, and submitting pull requests
✅ GitHub Account → For forking and submitting contributions
✅ Text Editor → VS Code, Notepad++, or any Markdown-capable editor
✅ Basic understanding of Cisco IOS CLI commands
✅ Familiarity with network protocols (IP, DHCP, RIP, EIGRP, VoIP, etc.)
✅ Ability to write clear and simple English documentation
✅ Basic understanding of GitHub workflow (fork → branch → PR)
💡 Note: You can download Cisco Packet Tracer for free from the Cisco Networking Academy.
Follow these steps to set up your environment and submit a contribution:
Click the Fork button on the top-right of the repo page to create your own copy:
https://github.com/hackThacker/network-practical
git clone https://github.com/<your-username>/network-practical.git
cd network-practicalAlways work on a dedicated branch — never commit directly to main:
git checkout -b feature/your-lab-nameBranch naming examples:
feature/university-network-design
fix/soho-dhcp-config
docs/update-hospital-readme
improvement/eigrp-topology-diagramFollow the Lab Submission Standards and Naming Conventions below before adding files.
Write clear, meaningful commit messages:
git add .
git commit -m "feat: add University Network Design lab with OSPF routing"Commit message prefixes:
| Prefix | Use For |
|---|---|
feat: |
Adding a new lab or feature |
fix: |
Fixing a broken config, link, or topology |
docs: |
Documentation changes only |
improve: |
Enhancing an existing lab or diagram |
chore: |
Maintenance tasks (renaming files, cleanup) |
git push origin feature/your-lab-nameThen go to your fork on GitHub and click "Compare & pull request".
Every lab submitted to this repository must include all three of the following components:
Each lab must live inside its own numbered and named folder:
<number> <Lab Name>/
├── README.md ← Documentation (required)
├── <Lab Name>.png ← Topology diagram image (required)
└── <Lab Name>.pkt ← Cisco Packet Tracer file (required)
Example:
9 University Network Design/
├── README.md
├── 9 University Network Design.png
└── 9 University Network Design.pkt
Every lab folder must contain a README.md with the following sections:
# <Lab Name>
## Overview
A brief description of what this lab covers and what the learner will achieve.
## Network Topology
Describe the network topology — number of routers, switches, PCs, VLANs, etc.
## IP Addressing Table
| Device | Interface | IP Address | Subnet Mask | Gateway |
|------------|-----------|----------------|-----------------|---------------|
| Router0 | Fa0/0 | 192.168.1.1 | 255.255.255.0 | — |
| PC0 | NIC | 192.168.1.10 | 255.255.255.0 | 192.168.1.1 |
## Configuration Steps
Step-by-step CLI commands or configuration instructions.
## Verification Commands
Commands to verify the configuration is working correctly.
## Learning Outcomes
What concepts does this lab reinforce?
⚠️ Labs submitted without proper documentation will not be merged.
The topology image must meet the following standards:
✅ Format → PNG or JPG (PNG preferred for clarity)
✅ Resolution → Minimum 800 x 600 pixels
✅ Content → Must show all devices, connections, and IP labels
✅ Source → Screenshot directly from Cisco Packet Tracer (Logical View)
✅ Naming → Must match the folder name exactly
✅ Version → Saved in Packet Tracer 8.0 or above
✅ Completion → All devices must be fully configured and tested
✅ Connectivity → All nodes must be able to ping each other (where applicable)
✅ Naming → File name must match the folder name
✅ No errors → No red/orange connection indicators on final save
Consistent naming keeps the repository clean and navigable. Follow these rules strictly:
Format : <number> <Lab Name>
Example: 9 University Network Design
- Use the next available number in sequence
- Capitalize each word (Title Case)
- No underscores — use spaces only
- No special characters except hyphens where necessary
README.md → Always lowercase, always README.md
Image file → Must exactly match the folder name (e.g. 9 University Network Design.png)
Packet Tracer file → Must exactly match the folder name (e.g. 9 University Network Design.pkt)
feature/<short-lab-name> → New lab addition
fix/<what-is-being-fixed> → Bug or config fix
docs/<lab-name-being-updated> → Documentation update
improve/<what-is-improved> → Enhancement to existing content
When opening a Pull Request, please follow this checklist to speed up the review process:
[TYPE] Short description of what was added or changed
Examples:
[NEW LAB] University Network Design with OSPF
[FIX] Correct IP addressing in Banking Network Design
[DOCS] Add IP table to Hospital Network README
[IMPROVE] Replace low-res SOHO topology image
When opening your PR, fill in the following:
## What does this PR do?
<!-- Briefly describe what you've added or changed -->
## Type of Contribution
- [ ] New Lab
- [ ] Bug Fix
- [ ] Documentation Update
- [ ] Topology Diagram Improvement
- [ ] Config Improvement
## Lab Details (if new lab)
- Lab Name:
- Lab Number:
- Protocols Used:
- Devices Included:
## Checklist
- [ ] Folder follows naming convention
- [ ] README.md included with all required sections
- [ ] Topology diagram included (PNG/JPG, 800x600+)
- [ ] .pkt file included and saved in Packet Tracer 8.0+
- [ ] All devices ping successfully in the lab
- [ ] No red connection indicators on final save
- [ ] Main README.md updated to include the new lab entry| Stage | Expected Time |
|---|---|
| Initial review | Within 3–5 days |
| Feedback / revision requests | Within 2–3 days of response |
| Merge after approval | Within 1–2 days |
PRs that do not follow the standards above will be labelled
needs-revisionand returned for corrections before review.
Found a broken link, misconfigured topology, or unclear documentation? Open an issue!
| Label | Use When |
|---|---|
bug |
A .pkt file is broken, a link is dead, or a config doesn't work |
documentation |
A README is missing, incomplete, or unclear |
enhancement |
You have a suggestion to improve an existing lab |
new-lab-request |
You'd like to request a new lab topic |
question |
You need help understanding a lab |
When creating an issue, please include:
## Issue Type
<!-- bug / documentation / enhancement / new-lab-request / question -->
## Affected Lab
<!-- Which lab or file is this related to? -->
## Description
<!-- Clear and concise description of the issue -->
## Steps to Reproduce (for bugs)
1. Open file '...'
2. Navigate to '...'
3. See error / issue
## Expected Behavior
<!-- What should happen? -->
## Actual Behavior
<!-- What actually happens? -->
## Screenshots (if applicable)
<!-- Attach screenshots if helpful -->Before submitting your PR, run through this complete checklist:
FOLDER & FILES
──────────────────────────────────────────────────────
[ ] Folder is named correctly (<number> <Lab Name>)
[ ] README.md is present inside the lab folder
[ ] Topology image (.png or .jpg) is present
[ ] Packet Tracer file (.pkt) is present
[ ] All file names match the folder name exactly
DOCUMENTATION (README.md)
──────────────────────────────────────────────────────
[ ] Overview section is written
[ ] Network topology is described
[ ] IP addressing table is included
[ ] Configuration steps are documented
[ ] Verification commands are listed
[ ] Learning outcomes are stated
PACKET TRACER FILE (.pkt)
──────────────────────────────────────────────────────
[ ] Saved in Packet Tracer 8.0 or above
[ ] All devices are fully configured
[ ] All nodes can communicate (ping test passed)
[ ] No red or orange link indicators
[ ] VLANs, routing, DHCP, etc. verified as applicable
TOPOLOGY IMAGE
──────────────────────────────────────────────────────
[ ] Image is PNG or JPG format
[ ] Resolution is at least 800 x 600 pixels
[ ] All devices and IP labels are visible
[ ] Taken from Packet Tracer Logical View
MAIN REPOSITORY README
──────────────────────────────────────────────────────
[ ] New lab entry added to the main README.md
[ ] View Documentation link is correct
[ ] View Images link is correct
[ ] Download link is correct
PULL REQUEST
──────────────────────────────────────────────────────
[ ] Branch name follows naming convention
[ ] PR title follows [TYPE] format
[ ] PR description template is filled out
[ ] No direct commits to main branch
Every contribution — big or small — helps build a better learning resource for networking students and professionals worldwide. Your efforts are genuinely appreciated.
If you have any questions before contributing, feel free to open a Discussion or reach out via hackthacker.blogspot.com.
Made with ❤️ by hackthacker