Files
Diablo/CONTRIBUTING.md
Aภl๏miuภuຮ 614afe4c15 🚀 feat: Add complete RepoCraft framework structure
📦 מה הוספנו:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

🏗️ GitHub Configuration & Automation:
   • Issue Templates (Bug Report, Feature Request)
   • Pull Request Template
   • CI/CD Workflow (ci.yml)
   • Code Quality Workflow (lint.yml)
   • Security Scanning Workflow (security-scan.yml)
   • Release Workflow (release.yml)
   • Dependabot configuration
   • Funding configuration

📚 Comprehensive Documentation:
   • docs/INDEX.md - Documentation portal
   • docs/GETTING_STARTED.md - Quick start guide
   • docs/ARCHITECTURE.md - Project architecture
   • docs/USAGE.md - Complete usage guide
   • docs/BEST_PRACTICES.md - Best practices
   • docs/SECURITY_MODEL.md - Security model
   • docs/FAQ.md - Frequently asked questions

⚙️ Configuration Files:
   • LICENSE - MIT License
   • SECURITY.md - Security policy
   • CODE_OF_CONDUCT.md - Community guidelines
   • CONTRIBUTING.md - Contribution guide
   • CHANGELOG.md - Version history
   • CODEOWNERS - Code ownership
   • .gitignore - Git ignore rules
   • .gitattributes - Git attributes
   • .editorconfig - Editor configuration

 Enhanced README:
   • Professional structure with badges
   • Complete table of contents
   • Links to all documentation
   • Updated formatting
   • Better organization

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

📊 Statistics:
   • 25+ new files
   • 796+ documentation lines
   • Full RepoCraft framework compliance
   • Zero linter errors
   • Backward compatible

🇮🇱 Made with ❤️ in Israel

> בס״ד - מגדל בסייעתא דשמיא
2025-11-01 18:33:19 +02:00

6.2 KiB
Raw Permalink Blame History

בס״ד

🤝 מדריך תרומה ל-Diablo

תודה על העניין שלך בתרומה ל-Diablo! מסמך זה מתאר כיצד תוכל לתרום לפרויקט.

📋 תוכן עניינים

👥 קוד התנהגות

פרויקט זה מציית ל-CODE_OF_CONDUCT.md. על ידי השתתפות, אתה מצפה לקוד התנהגות זה.

🚀 איך לתרום?

דרכים לתרום

  1. 🐛 דיווח על באגים - פתח Issues לבעיות שזיהית
  2. 💡 הצעת תכונות - שתף רעיונות לשיפור
  3. 📚 שיפור תיעוד - עזור לנו לשפר את המדריכים
  4. 💻 כתיבת קוד - תיקן באגים או הוסף תכונות
  5. ביקורת קוד - בדוק Pull Requests של אחרים
  6. 🌍 תרגום - תרגם תיעוד לשפות אחרות

🔧 תהליך פיתוח

1 Fork והכנה

# Fork את הפרויקט ב-GitHub
# Clone המקומי
git clone https://github.com/[YOUR_USERNAME]/Diablo.git
cd Diablo

# הוסף remote של המקור
git remote add upstream https://github.com/Anlominus/Diablo.git

2 יצירת Branch

# צור branch חדש לתכונה/תיקון
git checkout -b feature/your-feature-name
# או
git checkout -b fix/your-bug-fix

3 כתיבת קוד

  • עקוב אחר הנחיות הקוד
  • בדוק את הקוד שלך
  • כתוב בדיקות אם רלוונטי

4 Commit

# עשה commit עם הודעה ברורה
git add .
git commit -m "feat: add new scanning feature"
# או
git commit -m "fix: resolve syntax error in menu loop"

Conventional Commits:

  • feat: - תכונה חדשה
  • fix: - תיקון באג
  • docs: - שינוי תיעוד
  • style: - שינוי פורמט
  • refactor: - שינוי קוד ללא שינוי פונקציונליות
  • test: - הוספת בדיקות
  • chore: - משימות תחזוקה

5 Push ו-Pull Request

# Push את ה-branch שלך
git push origin feature/your-feature-name

# לאחר מכן פתח Pull Request ב-GitHub

💻 הנחיות קוד

סגנון Bash

# ✅ טוב
function my_function() {
    local var_name="value"
    if [ condition ]; then
        echo "Success"
    fi
}

# ❌ לא טוב
my_function(){
local var=value
if [ condition ]
then
echo Success
fi
}

כללים

  1. השתמש במיקרו מקומי - local ל-variables פנימיים
  2. צבעים עקביים - שימוש בפונקציית DiabloColors()
  3. הודעות ברורות - הודעות שגיאה בעברית או אנגלית ברורה
  4. הערות קוד - הסבר לוגיקה מורכבת
  5. זיהוי מערכת - בדוק package manager נכון

דוגמה מלאה

#!/bin/bash
# Name: Feature Name
# Description: What this feature does

###############################################
# Example function with best practices
###############################################
run_example_scan() {
    local target_ip="$1"
    
    # Check if target is provided
    if [ -z "$target_ip" ]; then
        echo "${BRed}[!]${Color_Off} Target IP is required"
        return 1
    fi
    
    echo "${BGreen}[+]${Color_Off} Running scan on $target_ip"
    # ... actual scan command
    
    return 0
}

🐛 פתיחת Issues

דיווח על באגים

כאשר מדווחים על באג, כלול:

  1. תיאור - מה הבעיה?
  2. שחזור - צעדים לשחזור
  3. התנהגות צפויה - מה היה אמור לקרות?
  4. התנהגות בפועל - מה קרה בפועל?
  5. סביבה - OS, גרסה, כלים מותקנים
  6. צילומי מסך - אם רלוונטי

השתמש בתבנית BUG_REPORT.md.

בקשת תכונות

כאשר מבקשים תכונה:

  1. בעיה - איזה בעיה זה פותר?
  2. פתרון - מה אתה מציע?
  3. חלופות - מה שקלת?
  4. דוגמאות - דוגמאות מ-tools אחרים?

השתמש בתבנית FEATURE_REQUEST.md.

🔄 יצירת Pull Requests

הכנה

# ודא שאתה מעודכן עם main
git checkout main
git pull upstream main

# Merge את השינויים שלך
git checkout feature/your-feature-name
git rebase main  # או merge

תיאור ה-PR

כתוב תיאור ברור הכולל:

  1. מה - מה השינוי?
  2. למה - למה זה נחוץ?
  3. איך - איך זה עובד?
  4. בדיקות - איך לבדוק?

השתמש בתבנית PULL_REQUEST_TEMPLATE.md.

ביקורת קוד

  • נענה לפידבק במהירות
  • ערוך על פי הערות המבקרים
  • שאל אם משהו לא ברור

📝 שיפור תיעוד

עזרה בתיעוד מוערכת מאוד!

קבצים רלוונטיים

  • README.md - מסמך עיקרי
  • docs/ - כל התיעוד
  • CONTRIBUTING.md - זה
  • תגובות בקוד Bash

טיפים

  • השתמש בעברית או אנגלית ברורה
  • כלול דוגמאות
  • בדוק קישורים
  • עקוב אחר פורמט Markdown

בדיקות

לפני PR:

# בדיקת syntax
bash -n Diablo

# בדיקת styles
shellcheck Diablo

# ריץ manual tests
./Diablo
# נסה את התכונה החדשה

🏆 הכרה

תורמים פעילים יוכרו ב:

  • CONTRIBUTORS.md (עתידי)
  • Release notes
  • README (אם רלוונטי)

שאלות?

  • פתח Issue
  • ודא תבנית Issue מתאימה
  • השתמש בתוויות נכונות

תודה על התרומה שלך! יחד נבנה כלי PenTesting מעולה 🚀


בס״ד - מגדל בסייעתא דשמיא