איך בונים אתר בעצמכם עם Claude Code, GitHub, Vercel ו-Supabase
לפני כמה שנים, כדי לבנות אתר היה צריך ללמוד HTML, CSS, JavaScript, מסדי נתונים ואחסון, או לשלם למתכנת. היום מתארים במילים פשוטות את האתר שרוצים, ועוזר קוד מבוסס AI כותב את הקוד. אתם נשארים הבוסים: אתם מחליטים מה כתוב באתר, איך הוא נראה ומתי הוא עולה לאוויר.
זמן קריאה: 16 דקותזמן: בערך 2-3 שעות בפעם הראשונה
4 הכלים ומה כל אחד עושה
- VS Code + Claude Codeהסדנה והבנאי שלכם. VS Code הוא עורך קוד חינמי. Claude Code הוא עוזר AI שעובד בתוכו, כותב את הקוד ומשנה דברים כשמבקשים.
- GitHubכספת אונליין עם היסטוריית ביטולים. שומרת את הקוד ואת כל הגרסאות שלו.
- Vercelחלון הראווה. לוקח את הקוד מ-GitHub ומעלה את האתר לאינטרנט.
- Supabaseארון התיקים. מסד נתונים ששומר מידע מהאתר, למשל הודעות מטופס יצירת קשר.
מה תבנו
- אתר מודרנידף בית, אודות, שירותים ויצירת קשר, שנראה טוב בטלפון ובמחשב
- טופס יצירת קשר שעובדשומר כל הודעה ב-Supabase
- הקוד שמור בבטחה ב-GitHub
- כתובת ציבוריתלמשל my-site.vercel.app, שמתעדכנת לבד בכל פעם ששומרים שינויים
את אותם שלבים אפשר להפעיל על כל אתר: תיק עבודות, דף נחיתה, עסק מקומי או פרויקט ללקוח.
איך הכול מתחבר
- אתם מתארים מה אתם רוצים
- Claude Code (בתוך VS Code) כותב את הקוד במחשב שלכם
- אתם שומרים אותו ב-GitHub
- Vercel רואה את השינוי ומעלה את האתר לאוויר
- מבקרים ממלאים את טופס יצירת הקשר
- ההודעות נשמרות ב-Supabase
לפני שמתחילים
חשבונות (פותחים קודם):
- Claudeב-claude.ai. ל-Claude Code צריך מנוי בתשלום (Pro, Max, Team או Enterprise) או חשבון Claude Console. המנוי החינמי לא כולל את Claude Code.
- GitHubב-github.com. חינם.
- Vercelב-vercel.com. המסלול החינמי Hobby מספיק לאתר אישי.
- Supabaseב-supabase.com. המסלול החינמי מספיק כדי להתחיל.
תוכנות (חינמיות, מתקינים בשלב 1):
- VS Codeעורך הקוד
- Node.jsמאפשר למחשב להריץ ולהציג אתר מודרני
- Gitשומר גרסאות של הקוד ושולח אותן ל-GitHub
שלב 1: מתקינים את הכלים הבסיסיים
מתקינים VS Code
נכנסים ל-code.visualstudio.com ולוחצים Download. פותחים את הקובץ שירד וממשיכים לפי ההוראות. ב-Windows משאירים את ברירת המחדל, ומסמנים Add "Open with Code" action אם מופיע. פותחים את VS Code. אפשר לסגור את לשונית Welcome.
מתקינים Node.js
נכנסים ל-nodejs.org. מורידים את הגרסה שמסומנת LTS (הגרסה היציבה). מריצים את ההתקנה עם ברירות המחדל.
מתקינים Git
Windows: מורידים את Git for Windows מ-git-scm.com/downloads/win ומתקינים עם ברירות המחדל. גם Claude Code עובד טוב יותר ב-Windows כש-Git מותקן. Mac: בדרך כלל Git כבר מותקן. אם לא, הבדיקה למטה תציע להתקין אותו.
בודקים שהכול עובד
ב-VS Code יש טרמינל מובנה: חלון שבו מקלידים פקודות. פותחים אותו מהתפריט למעלה: Terminal ← New Terminal. מקלידים כל שורה ולוחצים Enter:
node --versionnpm --versiongit --versionכל פקודה צריכה להדפיס מספר גרסה, למשל v22.x.x. אם מופיע "not recognized" או "command not found", סוגרים את VS Code לגמרי ופותחים מחדש. תוכנות שהותקנו כש-VS Code היה פתוח מופיעות רק אחרי פתיחה מחדש.
שלב 2: מגדירים את Claude Code ב-VS Code
מתקינים את התוסף Claude Code
ב-VS Code פותחים את מסך התוספים: לוחצים על אייקון ארבעת הריבועים משמאל, או Ctrl+Shift+X (ב-Mac: Cmd+Shift+X). מחפשים Claude Code. בוחרים את התוסף של Anthropic ולוחצים Install. אם הוא לא מופיע, פותחים מחדש את VS Code.
פותחים תיקיית פרויקט
יוצרים תיקייה ריקה חדשה, למשל my-website בתוך Documents. ב-VS Code: File ← Open Folder… ובוחרים בה. אם VS Code שואל "Do you trust the authors of the files in this folder?", לוחצים Yes, I trust the authors. זו התיקייה שלכם.
כל מה ש-Claude בונה נשמר בתיקייה הזו.
פותחים את Claude Code ומתחברים
לוחצים על אייקון ה-Spark (כוכב קטן) מעל העורך בצד ימין, או על ✻ Claude Code למטה בצד ימין. אפשר גם ללחוץ Ctrl+Shift+P (ב-Mac: Cmd+Shift+P), להקליד Claude Code ולבחור Open in New Tab. בפעם הראשונה לוחצים Sign in. הדפדפן נפתח, מתחברים עם חשבון ה-Claude ומאשרים. חוזרים ל-VS Code ורואים את הצ'אט של Claude Code, עם תיבה למטה לבקשות שלכם.
מצבי הרשאות
מתחת לתיבת הכתיבה רואים את המצב הנוכחי. לוחצים עליו כדי לשנות:
- Plan
- Claude מסביר מה הוא הולך לעשות ומחכה לאישור. מתאים לתחילת משימה גדולה.
- Manual
- Claude שואל לפני כל שינוי ורוב הפקודות, ומראה ישן מול חדש. מעולה ללמידה.
- Edit automatically / Auto
- Claude משנה בלי לשאול כל פעם. מתאים כשסומכים על המשימה ורוצים להתקדם מהר.
טיפ: באתר הראשון, מתחילים ב-Plan לבקשה הגדולה הראשונה, ואז עוברים ל-Manual כדי לראות מה Claude משנה. כשמרגישים בנוח, Auto חוסך הרבה קליקים.
הפרומפט הראשון
היי Claude. אני מתחיל מוחלט. תסביר לי במילים פשוטות מה אתה יכול לעשות בתיקייה הזו, ותבדוק ש-Node.js, npm ו-Git מותקנים אצלי.Claude מריץ כמה בדיקות ומספר לכם אם משהו חסר.
שלב 3: מתכננים את האתר
Claude עובד הכי טוב כשהוא יודע בדיוק מה רוצים. לפני שבונים, כותבים תדריך קצר.
תדריך לאתר
כמה שורות על כל נקודה:
- למי האתר?
- שם העסק, מה הוא עושה ואיפה
- מי המבקרים?
- למשל: בעלי בתים באזור שמחפשים שרברב
- מה המבקרים צריכים לעשות?
- להתקשר, לקבוע תור, לשלוח הודעה או לקנות
- עמודים וחלקים
- בית, אודות, שירותים, המלצות, יצירת קשר
- עיצוב
- צבעים, אווירה (מודרני, חברותי, יוקרתי), אתר שאתם אוהבים את העיצוב שלו
- תוכן
- הטקסט האמיתי שלכם, טלפון, מייל, שעות פעילות ותמונות
מבקשים מ-Claude תוכנית קודם
עוברים למצב Plan ושולחים משהו כזה (עם התדריך שלכם):
אני רוצה לבנות אתר פשוט ומודרני. הנה התדריך:
עסק: מרפאת שיניים משפחתית ברחובות.
מבקרים: משפחות באזור שמחפשות רופא שיניים נעים.
מטרה: שהמבקרים ישלחו הודעה בטופס או יתקשרו.
חלקים: כותרת ראשית ברורה עם כפתור, אודות, שירותים, למה אנחנו, טופס יצירת קשר, פוטר עם טלפון, מייל וכתובת.
עיצוב: נקי ורגוע, תכלת בהיר ולבן, מותאם לטלפון. האתר בעברית, מימין לשמאל.
תשתמש ב-Next.js עם Tailwind CSS. עדיין לא לחבר מסד נתונים, רק לעצב את הטופס.
תסביר לי את התוכנית במילים פשוטות לפני שאתה מתחיל.קוראים את התוכנית. אם משהו חסר, אומרים במילים פשוטות: "תוסיף חלק של המלצות מטופלים" או "תשתמש בירוק במקום כחול". כשמרוצים, מאשרים.
שלב 4: בונים את האתר עם Claude Code
נותנים ל-Claude לבנות
אחרי שמאשרים את התוכנית, Claude יוצר את הפרויקט. הוא עשוי לבקש להריץ פקודות, למשל להתקין חבילות. לוחצים Allow כשזה מתאים למה שהוא אמר שיעשה. זה לוקח כמה דקות.
רואים את האתר במחשב
תפעיל את שרת הפיתוח כדי שאוכל לראות את האתר, ותגיד לי איזו כתובת לפתוח בדפדפן.Claude מריץ משהו כמו npm run dev. פותחים את הכתובת שהוא נותן, בדרך כלל http://localhost:3000. התצוגה הזו פרטית ועובדת רק במחשב שלכם.
משפרים את העיצוב, שינוי אחד בכל פעם
בודקים את האתר במחשב ובחלון בגודל טלפון. בקשות קצרות ומדויקות עובדות הכי טוב. שולחים אחת בכל פעם:
תגדיל את הכותרת הראשית ותוסיף מתחתיה שורת טקסט קצרה.חלק השירותים צפוף בטלפון. תציג שירות אחד בכל שורה במסכים קטנים.תחליף את טקסט הדוגמה בחלק האודות בזה: [הדביקו את הטקסט שלכם].תוסיף בראש האתר כפתור חיוג למספר 050-0000000.כדי להוסיף תמונות משלכם, מעתיקים אותן לתיקיית public של הפרויקט (Claude יראה לכם איפה היא), ומבקשים: "תשתמש ב-public/team.jpg כתמונה בחלק האודות."
מבקשים מ-Claude לבדוק את עצמו
תעבור על כל האתר ותחפש שגיאות כתיב, לינקים שבורים, בעיות תצוגה בטלפון ובעיות נגישות (כמו תמונות בלי תיאור). תכתוב מה מצאת ואז תתקן.שומרים הערות פרויקט ל-Claude (לא חובה, אבל שווה)
Claude Code קורא קובץ בשם CLAUDE.md בתחילת כל שיחה. שומרים שם את התדריך והכללים, ובפעם הבאה Claude כבר יודע את מה שחשוב:
תיצור קובץ CLAUDE.md לפרויקט עם פרטי העסק, כללי העיצוב (צבעים, פונטים, טון) והבחירות הטכניות שעשינו.שלב 5: מוסיפים מסד נתונים עם Supabase
כרגע הטופס נראה טוב אבל לא עושה כלום. כאן מחברים אותו ל-Supabase, כדי שכל הודעה תישמר.
פותחים פרויקט ב-Supabase
נכנסים ל-supabase.com עם Continue with GitHub. לוחצים New project. נותנים שם (למשל my-website), יוצרים סיסמה חזקה למסד הנתונים ושומרים אותה במקום בטוח, ובוחרים אזור קרוב למבקרים. לוחצים Create new project ומחכים דקה-שתיים.
יוצרים טבלה להודעות
טבלה היא כמו גיליון בתוך מסד הנתונים. כל הודעה היא שורה. בפרויקט פותחים את SQL Editor מהתפריט השמאלי, פותחים שאילתה חדשה, מדביקים את הקוד למטה ולוחצים Run.
-- Create a table to store contact form messages
create table contact_messages (
id bigint primary key generated always as identity,
created_at timestamptz not null default now(),
name text not null,
email text not null,
message text not null
);
-- Let website visitors ADD a message (but not read others)
grant insert on public.contact_messages to anon;
-- Turn on security rules for this table
alter table contact_messages enable row level security;
-- Rule: anyone can send a message
create policy "visitors can send messages"
on public.contact_messages
for insert to anon
with check (true);במילים פשוטות: זה יוצר טבלה בשם contact_messages עם כלל אבטחה. מבקרים יכולים לשלוח הודעה, אבל לא לקרוא הודעות של אחרים. רק אתם קוראים אותן, מלוח הבקרה של Supabase.
מעתיקים את המפתחות של הפרויקט
ב-Supabase לוחצים על כפתור Connect בראש הדף. מעתיקים שני ערכים: Project URL ו-publishable key (מתחיל ב-sb_publishable_). בפרויקטים ישנים יופיע במקום זה anon key, וזה עובד אותו דבר.
מחברים את הטופס עם Claude Code
חוזרים ל-VS Code:
תחבר את טופס יצירת הקשר ל-Supabase.
הטבלה נקראת contact_messages עם העמודות name, email ו-message.
תשתמש בחבילה @supabase/supabase-js.
תיצור קובץ .env.local עם NEXT_PUBLIC_SUPABASE_URL ו-NEXT_PUBLIC_SUPABASE_PUBLISHABLE_KEY, ותשאיר את הערכים ריקים שאמלא בעצמי.
תוודא ש-.env.local נמצא ב-.gitignore כדי שלעולם לא יעלה ל-GitHub.
תציג הודעת הצלחה נעימה אחרי שליחה, והודעת שגיאה ברורה אם משהו נכשל. תבדוק גם שהמייל תקין לפני השליחה.כש-Claude מסיים, פותחים את הקובץ .env.local (ברשימת הקבצים משמאל) ומדביקים את הערכים אחרי סימן ה-=:
NEXT_PUBLIC_SUPABASE_URL=https://your-project-id.supabase.co
NEXT_PUBLIC_SUPABASE_PUBLISHABLE_KEY=sb_publishable_xxxxxxxxxxxxשומרים (Ctrl+S / Cmd+S), ומבקשים מ-Claude להפעיל מחדש את התצוגה כדי שיקלוט את הערכים.
בודקים
פותחים את http://localhost:3000, ממלאים את הטופס ושולחים. ב-Supabase פותחים את Table Editor ולוחצים על contact_messages. ההודעה צריכה להופיע שם כשורה חדשה.
לא עובד? מעתיקים את השגיאה מהדף או מהטרמינל ומדביקים ל-Claude: "טופס יצירת הקשר מחזיר את השגיאה הזו. תמצא ותתקן את הבעיה."
שלב 6: שומרים את הקוד ב-GitHub
GitHub שומר את הקוד בבטחה והוא הגשר ל-Vercel. כל גרסה שמורה נקראת commit, ושליחה שלה ל-GitHub נקראת push.
שומרים גרסה (commit)
תגדיר Git לפרויקט אם עדיין לא מוגדר. תוודא ש-.env.local ו-node_modules נמצאים ב-.gitignore. ואז תעשה את ה-commit הראשון עם הודעה ברורה.אם Git מבקש שם ומייל בפעם הראשונה, משתמשים באותו מייל של חשבון ה-GitHub.
מעלים ל-GitHub
לוחצים על אייקון Source Control משמאל (ענף עם שלוש נקודות), או Ctrl+Shift+G (ב-Mac: Cmd+Shift+G). לוחצים Publish Branch (או Publish to GitHub). בפעם הראשונה VS Code מבקש להתחבר ל-GitHub. לוחצים Allow, מאשרים בדפדפן וחוזרים. בוחרים Publish to GitHub private repository. פרטי אומר שרק אתם רואים את הקוד. האתר עצמו יהיה ציבורי ב-Vercel.
ב-github.com לוחצים על תמונת הפרופיל ← Your repositories ורואים שם את הפרויקט.
שלב 7: מעלים את האתר לאוויר עם Vercel
מייבאים את הפרויקט
נכנסים ל-vercel.com עם Continue with GitHub. לוחצים Add New… ← Project. אם מתבקש, מאשרים ל-Vercel גישה ל-GitHub (אפשר לבחור רק את הפרויקט הזה). מוצאים את הפרויקט ולוחצים Import. Vercel מזהה לבד שזה אתר Next.js. אין צורך לשנות הגדרות.
מוסיפים את מפתחות ה-Supabase
הקובץ .env.local לא ב-GitHub (וזה טוב), אז Vercel עדיין לא מכיר את המפתחות. לפני ההעלאה, פותחים באותו דף את Environment Variables ומוסיפים:
- NEXT_PUBLIC_SUPABASE_URL
- ה-Project URL שלכם
- NEXT_PUBLIC_SUPABASE_PUBLISHABLE_KEY
- ה-publishable key שלכם
שכחתם? ב-Vercel נכנסים לפרויקט ← Settings ← Environment Variables, מוסיפים, ואז ב-Deployments לוחצים Redeploy על האחרון.
מעלים
לוחצים Deploy ומחכים בערך דקה. במסך הברכות לוחצים על התצוגה ופותחים את האתר החי. הכתובת נראית כמו my-website.vercel.app. בודקים את הטופס באתר החי, ושההודעה מופיעה ב-Supabase.
האתר שלכם באינטרנט. אפשר לשתף את הלינק עם כולם.
שלב 8: מעדכנים את האתר מתי שרוצים
שגרת העבודה הקבועה, אותו דבר כל פעם:
פותחים את הפרויקט
פותחים את תיקיית הפרויקט ב-VS Code ואת Claude Code.
מבקשים את השינוי
למשל: "תוסיף שירות חדש בשם הלבנת שיניים עם תיאור קצר."
בודקים בתצוגה
ב-localhost:3000.
שומרים ומעלים
מבקשים מ-Claude: "תעשה commit לשינויים עם הודעה ברורה ו-push ל-GitHub." (או Commit and Sync Changes ב-Source Control.)
Vercel מעדכן את האתר
Vercel רואה את ה-commit החדש ומעדכן את האתר החי תוך דקה-שתיים.
פתרון בעיות
"node", "npm" או "git" לא מזוהים
פותחים מחדש את VS Code (או את המחשב) אחרי ההתקנה. עדיין לא עובד? מתקינים שוב עם ברירות המחדל.
הפאנל של Claude Code או אייקון ה-Spark לא מופיעים
פותחים מחדש את VS Code, או Ctrl+Shift+P ומריצים Developer: Reload Window. מוודאים ש-VS Code מעודכן (Help ← Check for Updates).
Claude מבקש להתחבר שוב ("Not logged in")
לוחצים Sign in ומסיימים בדפדפן. מוודאים שהמנוי כולל את Claude Code.
הטופס מציג "Something went wrong"
בודקים את שני הערכים ב-.env.local (בלי רווחים ובלי מרכאות), מפעילים מחדש את התצוגה ומוודאים שהרצתם את ה-SQL משלב 5.2. מדביקים את השגיאה המדויקת ל-Claude.
הטופס עובד במחשב אבל לא באתר החי
חסרים המפתחות ב-Vercel. מוסיפים ב-Settings ← Environment Variables ומעלים מחדש.
ההעלאה ל-Vercel נכשלה
פותחים את ההעלאה שנכשלה, מעתיקים את השגיאה מה-build log ומדביקים ל-Claude: "ההעלאה ל-Vercel נכשלה עם השגיאה הזו. תתקן." ואז commit ו-push שוב.
לא הבנתי מה Claude עשה
שואלים: "תסביר את השינוי שעשית במילים פשוטות, כאילו אני מתחיל."
פרומפטים שימושיים
תסביר איך הפרויקט מסודר ומה כל קובץ עיקרי עושה, במילים פשוטות.לפני שאתה משנה משהו, תסביר את התוכנית שלב אחרי שלב ותחכה לאישור שלי.תוסיף חלק המלצות אחרי השירותים עם שלוש המלצות. אותו עיצוב.תבדוק כל חלק בגודל טלפון ותתקן כל מה שנראה שבור או צפוף.תוסיף כותרת עמוד, תיאור מטא וטקסט חלופי לתמונות, מותאמים למרפאת שיניים ברחובות.קיבלתי את השגיאה: [הדביקו]. תמצא את הסיבה, תתקן ותסביר מה היה לא בסדר.תעשה commit לכל השינויים עם הודעה ברורה ו-push ל-GitHub."תבטל את השינוי האחרון" או "תחזיר את האתר ל-commit הקודם."הרגלים טובים וכללי בטיחות
- סודות נשארים סודייםלעולם לא שמים סיסמאות, את ה-secret key של Supabase או פרטי בנק בקוד או ב-GitHub.
- קוראים לפני שמאשריםכש-Claude מבקש להריץ פקודה או לשנות קובץ, קוראים רגע מה זה.
- שינוי אחד בכל פעםבודקים בתצוגה לפני שמבקשים את הבא.
- שומרים הרבהגרסאות קטנות מקלות לחזור אחורה.
- בודקים את התוכן בעצמכםאתם אחראים למחירים, למספרי טלפון, להבטחות ולמידע המשפטי באתר.
- אוספים רק מה שצריךבטפסים, ומוסיפים הערת פרטיות קצרה אם אוספים פרטים אישיים.
לינקים שימושיים
רוצים שנעשה את זה בשבילכם או ללמוד לבד?
מעדיפים שנבנה את זה בשבילכם?
GrowWithU בונה אתרי עסק ממירים, דפי נחיתה וחנויות אונליין, מוכנים להביא לכם פניות.
לבניית אתרלומדים איתנו, בלייב.
בשיעור זום אישי 1 על 1 בונים יחד את האתר שלכם שלב אחרי שלב, עונים על שאלות ועוברים על הפרויקט.
לקביעת שיעור זום


