🏗️ המדריך הרביעי במשפחה

איך האתר הזה בנוי

קודם מילון מונחים בשפה פשוטה, ואז המבנה האמיתי — מה יש בכל תיקייה, ומה קורה מרגע שנכתב קוד ועד שהוא באוויר.

שלושת המדריכים הקודמים עסקו בכליםשלושת הכלים של Claude, המדריך ל-Claude Code, וSkills ושגרות. המדריך הזה עוסק בתוצר: האתר שאתם קוראים בו עכשיו, מבפנים.

אין צורך בשום רקע טכני. החלק הראשון הוא מילון — כל מונח בשפה פשוטה, עם דימוי מהחיים. החלק השני הוא המבנה בפועל, כפי שהוא בקוד.

הערה על המקורות: המילון נולד בתרשים שנבנה ב-Cowork. התרשים עצמו נכתב כאן מחדש מקריאה בקוד — כי ל-Cowork אין חיבור ל-GitHub, ולכן הוא שיער את מבנה התיקיות. זו בדיוק הנקודה של המדריך השלישי, והפעם היא קרתה לנו בשידור חי.

חלק א׳ — מילון מונחים

כל מילה שמופיעה בהמשך, בשפה פשוטה. אפשר גם לדלג ולחזור לכאן כשנתקלים במונח.

📦 איפה הקוד חי

ריפו Repository

התיקייה הראשית של הפרויקט — כל הקבצים שמרכיבים את האתר, במקום אחד.

גיט Git

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

גיטהאב GitHub

האתר שבו הריפו מאוחסן בענן. משם הוא זמין מכל מחשב או טלפון, בלי תלות במכשיר אחד.

ענף ראשי main branch

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

דחיפה Push

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

בקשת מיזוג Pull Request

הצעה לשינוי שממתינה לאישור לפני שהיא נכנסת לגרסה הרשמית — הזדמנות לבדוק לפני שמשהו עולה לאוויר.

🚀 איך הקוד הופך לאתר חי

ורסל Vercel

השירות שמאחסן את האתר ומגיש אותו לגולשים. הוא גם מזהה שינוי בקוד ומעלה גרסה חדשה לבד.

בנייה Build

התהליך שממיר את קוד המקור לקבצים שדפדפן יודע להציג. קורה אוטומטית ולוקח כדקה.

פריסה Deploy

הרגע שבו הגרסה החדשה מחליפה את הישנה ועולה לאוויר בפועל.

בדיקה מול חי Preview / Production

Preview היא כתובת זמנית לבדיקה, שרק מי שיש לו הקישור רואה. Production היא הגרסה החיה שכל הגולשים מגיעים אליה.

דומיין ו-DNS Domain / DNS

הדומיין הוא הכתובת שאנשים מקלידים. DNS מתרגמת אותה לשרת שבו האתר באמת יושב.

בדיקות אוטומטיות CI

סדרת בדיקות שרצה על כל שינוי לפני שהוא נכנס. אם משהו נשבר — השינוי נעצר ולא מגיע לאתר.

🧱 מה יש בתוך הקוד

עמוד סטטי Static page

עמוד שכתוב מראש ומוגש לגולש כמו שהוא. מהיר, פשוט, ולא דורש חישוב בזמן אמת.

אפליקציית דפדפן SPA

עמוד אחד שמחליף תוכן בתוך עצמו בלי לטעון מחדש. מתאים למשהו אינטראקטיבי כמו קורס עם התקדמות.

קבצים סטטיים Static files

תמונות, קול, מצגות — כל מה שמוגש לגולש כמו שהוא, בלי שהמחשב צריך לחשב משהו.

הפרדת תוכן מקוד

שמירת הטקסטים בקובץ נתונים נפרד, ולא בתוך הקוד. אז אפשר לתקן ניסוח בלי לגעת בלוגיקה.

🔌 חיבורים לשירותים חיצוניים

ממשק תכנות API

דרך שבה האתר מבקש שירות ממערכת אחרת ומקבל תשובה — למשל לבקש מבינה מלאכותית להקריא טקסט.

פונקציה בענן Serverless function

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

מפתח משלך BYOK

"הבא את המפתח שלך" — גולש שמזין מפתח אישי שנשמר אצלו בדפדפן, כך שהשימוש על חשבונו ולא על חשבון בעל האתר.

שגרה מתוזמנת Scheduled task

משימה שרצה לבד בשעה קבועה בלי שאף אחד לוחץ על כלום — למשל לאסוף חדשות כל בוקר.

חלק ב׳ — הדרך מקוד לאתר

חמישה שלבים, מהמקום שבו נכתב השינוי ועד למסך של הגולש.

  1. איפה העבודה נעשית

    שלושה גורמים כותבים לפרויקט הזה, וכל אחד מגיע ממקום אחר:

    Claude Codeכותב ומשנה קוד — מהמחשב או מהטלפון
    גונןמבקש, מחליט ומאשר מה עולה
    הרמססוכן שמייצר את עדכוני החדשות היומיים
  2. GitHub — מקור האמת

    כל שינוי נדחף לענף צדדי ונפתחת עליו בקשת מיזוג. אי אפשר לדחוף ישירות ל-main — הוא נעול, וזו הגנה מכוונת: שום דבר לא מגיע לאתר בלי לעבור בדיקה.

  3. הבדיקות האוטומטיות

    על כל בקשת מיזוג רצה סדרת בדיקות. אם אחת נכשלת — השינוי נעצר שם ולא ממשיך.

    בנייה ותקינותשהקוד בכלל נבנה ואין בו שגיאות
    בדיקות תוכנה78 בדיקות לוגיקה ו-39 בדיקות בדפדפן אמיתי
    שומרי התוכןשלושה שומרים שמוודאים שחדשות ישנות לא נמחקו
  4. Vercel — בנייה ואירוח

    ברגע שהשינוי מאושר ונכנס ל-main, Vercel בונה את האתר מחדש ומעלה אותו. אף אחד לא "מעלה קבצים" ידנית.

    Previewלכל בקשת מיזוג נוצרת כתובת בדיקה נפרדת
    Productionהגרסה החיה, שאליה מצביע הדומיין דרך DNS
  5. מה שהגולש מקבל

    רוב העמודים מוגשים מוכנים מראש ולכן נטענים מהר. שלושה דברים פונים בזמן אמת לשירות חיצוני, וכולם עוברים דרך פונקציות בענן כדי שהמפתחות לא ייחשפו בדפדפן:

    🗣️ האווטאר המדברמנסח תשובה, מקריא אותה בקול, ומסנכרן את השפתיים
    🎁 הברכה הקוליתכותבים טקסט, בוחרים קול, ומורידים קובץ מוכן
    🎙️ הפודקאסטהופך ידיעת חדשות להקראה מלאה

    האווטאר והברכה חולקים בדיוק את אותו קוד הקראה — api/tts.js. ההבדל הוא רק מה עושים עם התוצאה: אצל האווטאר היא מתנגנת מיד, ואצל הברכה היא יורדת כקובץ.

איפה הבינה המלאכותית נכנסת: האתר משתמש ב-Gemini של גוגל לאווטאר ולהקראה. יש מפתח של האתר, מוגבל ל-15 בקשות בדקה כדי שגולש אחד לא ינצל את המכסה לכולם — ובנוסף כל גולש יכול להזין מפתח משלו, שנשמר רק אצלו בדפדפן ואף פעם לא מגיע לשרת.

חלק ג׳ — מה יש בתוך הריפו

המבנה בפועל, נכון להיום. כל שורה היא תיקייה או קובץ אמיתי בפרויקט.

נתיב
מה זה
index.html
דף הבית — שער הכניסה עם כל הכרטיסים
lomda/
הלומדה: 7 מודולים · 39 שיעורים — אפליקציית דפדפן, לא עמוד רגיל
news/ · tools/ · prompts/
חדשות, ארגז הכלים ומתכוני הפרומפטים — שלושתם ניזונים מאותו קובץ תוכן
guide/ · history/ · agents-guide/
עמודי הלמידה: מדריך פרקטי, ציר הזמן, ועולם הסוכנים
claude-tools/ · claude-code/ · claude-skills/
שלושת מדריכי Claude
how-its-built/
העמוד הזה
lab/
המעבדה + ארבעה כלים קטנים: משימות, פומודורו, טיפ, קניות
finance/ · newsletter/ · about/ · whats-new/
כלכלה אישית, העלון, אודות, ומה חדש
api/
הצד השרתי — תשעה קבצים שרצים בענן (זה מה שאין בעמוד רגיל)
chat.js
המוח של האווטאר — מנסח את התשובה
tts.js
הקול — משרת גם את האווטאר, גם את הברכה הקולית וגם את הפודקאסט
generate-podcast.js · list-podcasts.js · podcast-audio.js
יצירת פודקאסט מידיעה, והגשתו
_rateLimit.js · _cors.js · ...
עוזרים משותפים, כולל הגבלת הקצב על המפתח המשותף
public/
קבצים שמוגשים כמו שהם
data.json
מקור התוכן היחיד25 ידיעות, 18 כלים, 15 פרומפטים
news-archive.json
ארכיון החדשות הישנות, כדי ששום ידיעה לא תיעלם
avatar.html
האווטאר המדבר, כולל סנכרון השפתיים
nav.js
התפריט ומצב לילה — קובץ אחד שמוזרק לכל העמודים
img/ · games/ · slides/
תמונות, המשחקים, והמצגות
src/
הקוד של הלומדה בלבד — שאר האתר לא עובר דרך כאן
e2e/
בדיקות שפותחות דפדפן אמיתי ולוחצות על הדברים
scripts/
כלי תחזוקה: ארכוב חדשות, שומרי התוכן, ויצירת פריימי הפה
.github/workflows/
הבדיקות האוטומטיות והפיכת דחיפה של הרמס לבקשת מיזוג
.claude/skills/
21 כישורים שמלמדים את Claude Code איך עובדים בפרויקט הזה
CLAUDE.md · AGENTS.md
כללי הבית לסוכני ה-AI — מה מותר, מה אסור, ואיך שולחים לאוויר
vite.config.js · vercel.json
רשימת העמודים והגדרות הפריסה — עמוד חדש חייב להירשם בשניהם

נקודה שכדאי להכיר: הפרדת התוכן מהקוד נכונה כאן חלקית. החדשות, הכלים והפרומפטים אכן יושבים בקובץ נפרד — data.json — ואפשר לעדכן אותם בלי לגעת בשום קוד.

אבל טקסט 39 השיעורים של הלומדה נמצא בתוך הקוד עצמו, בקובץ אחד בן כ-2,800 שורות. זה עובד, אבל זה אומר שתיקון ניסוח בשיעור דורש נגיעה בקוד — בניגוד לתיקון ניסוח בידיעת חדשות.

חלק ד׳ — מה שקורה מעצמו

שלושה דברים באתר רצים בלי שאף אחד נוגע בהם.

📰 החדשות מתעדכנות

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

🛡️ הארכיון נשמר

שומר אוטומטי בודק בכל שינוי שאף ידיעה ישנה לא נמחקה. אם משהו נעלם — השינוי נחסם ולא עולה לאוויר.

⏰ שגרה יומית שומרת

כשגיטהאב דורש אישור ידני והמיזוג נתקע בשקט, שגרה יומית מזהה, משחררת ומדווחת.

⭐ שלוש נקודות לזכור

  1. הריפו הוא המקור. האתר החי הוא רק תוצר של מה שיושב בגיטהאב. שינוי שלא נדחף לשם — לא קיים.
  2. לא מעלים קבצים — דוחפים קוד. הבנייה והפריסה קורות לבד, וכל מה שנכנס עובר קודם דרך בקשת מיזוג ובדיקות.
  3. רוב האתר מוכן מראש. רק האווטאר, הברכה הקולית והפודקאסט פונים לשירות חיצוני בזמן אמת — ולכן שאר האתר מהיר, וממשיך לעבוד גם אם שירות חיצוני נופל.