מדריך תרומה
מטרה
לתת מסלול ברור לתרומות קוד, עם דגש על סוכני AI ו-CI.
כללים כלליים
Conventional Commits:
feat|fix|docs|test|refactor|chore|perfהודעת קומיט ב-HEREDOC
ללא סודות/PII בקוד ובדיפים
טסטים ירוקים לפני PR
כל כלי/פקודה חדשה מחייבת עדכון ל-
webapp/static/data/commands.json(ראו תחזוקת קטלוג הפקודות (commands.json))
Workflow בסיסי
עדכון docstrings בקוד
הרצת טסטים:
pytest(ב-tmp בלבד ל-IO)בניית תיעוד:
sphinx-build -b html docs docs/_build/html -W --keep-goingפתיחת 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 .