מדריך תרומה

מטרה

לתת מסלול ברור לתרומות קוד, עם דגש על סוכני AI ו-CI.

כללים כלליים

  • Conventional Commits: feat|fix|docs|test|refactor|chore|perf

  • הודעת קומיט ב-HEREDOC

  • ללא סודות/PII בקוד ובדיפים

  • טסטים ירוקים לפני PR

  • כל כלי/פקודה חדשה מחייבת עדכון ל-webapp/static/data/commands.json (ראו תחזוקת קטלוג הפקודות (commands.json))

Workflow בסיסי

  1. עדכון docstrings בקוד

  2. הרצת טסטים: pytest (ב-tmp בלבד ל-IO)

  3. בניית תיעוד: sphinx-build -b html docs docs/_build/html -W --keep-going

  4. פתיחת PR עם תיאור What/Why/Tests ורולבק

Pre-commit

התקנה והרצה:

pre-commit install
pre-commit run --all-files

Hooks הכלולים (עיקריים): Black, isort, Flake8, MyPy, Bandit.

Conventional Commits

  • שימוש: feat|fix|docs|test|refactor|chore|perf

  • מומלץ לקומפלס הודעת קומיט ב-HEREDOC עבור ריבוי שורות.

דוגמאות שימושיות

HEREDOC לקומיט:

git commit -m "$(cat <<'EOF'
docs: update contributing guide

- Clarify tmp_path usage in tests
- Add docs build step

EOF
)"

טסטים – עבודה ב-tmp בלבד:

def test_file_operations(tmp_path):
    f = tmp_path / "test.py"
    f.write_text("print('ok')")

בדיקות איכות:

black --check .
mypy .

קישורים