Contributing he - msupino/NavigationApp GitHub Wiki

🇬🇧 English

תרומה לפרויקט

NavAid הוא יישום HTML/CSS/JavaScript ללא build step. התרומות צריכות להיות ממוקדות, דו־לשוניות ומכוסות בבדיקות.

כללים

  • אין להוסיף תלויות runtime ללא אישור מפורש. הרשימה העדכנית נמצאת ב־docs/index.html.
  • ברירות המחדל באנגלית נמצאות ב־docs/app/core.js; הדריסות בעברית נמצאות ב־docs/i18n/he/strings.js. הקובץ האנגלי ב־docs/i18n/en/strings.js ריק בכוונה.
  • שמירת מצב מותרת רק במפתחות navaid.*; יש לעדכן את רישום הסנכרון/המכשיר ב־tests/settings-sync-allowlist.spec.js ואת התיעוד.
  • כל ערכי ?v= ב־docs/index.html חייבים להיות זהים. תהליך הפריסה מחליף אותם ב־SHA.

תהליך עבודה מחייב

כל שינוי מתחיל ב־Issue, ממשיך בענף תכונה שנוצר מ־dev מעודכן, ונכנס דרך Pull Request אל dev. אין לבצע commit או push ישירות ל־main או ל־dev.

git fetch origin --prune
git switch dev
git pull --ff-only origin dev
git merge-base --is-ancestor origin/main dev || exit 1
git switch -c feature/<topic>
# עריכה ובדיקות
git push -u origin feature/<topic>
gh pr create --base dev --head feature/<topic> \
  --title "<title>" --body "Fixes #<issue>"

אם בדיקת ההיסטוריה נכשלת, יש להשתמש ב־PR תחזוקה שנבדק ולא לדחוף תיקון ישירות לענף מוגן. פתחו PR כטיוטה כברירת מחדל. הריצו בדיקות ממוקדות מקומית ואת הסוויטה המלאה ב־CI. לפני דחיפה נוספת ודאו שה־PR עדיין פתוח.

כיום PR מאותו מאגר מקבל גם תצוגה מקדימה מפורסמת תחת מקור הייצור. מרחב השמות הנפרד לאחסון אינו גבול אבטחה; ראו פריסה. לאחר המיזוג ל־dev השינוי מופיע ב־staging. קידום ל־main נעשה ב־PR נפרד.

הריצו node --check לכל JavaScript ששונה והוסיפו בדיקת tests/*.spec.js לכל שינוי התנהגות.

פתיחת Issue

⚠️ **GitHub.com Fallback** ⚠️