מה יש בפנים
כל היכולת, והקובץ שמאחוריה
זה האינדקס המלא. לצד כל שורה כתוב הקובץ או המסלול שמממש אותה, כי רשימת יכולות בלי הצבעה על קוד היא רשימת כוונות — וכאן אפשר לבדוק כל שורה בעשר שניות.
ומה שלא נבנה מופיע בסוף העמוד באותה בהירות. כמעט הכול פתוח גם בחבילה החינמית.
מתיאור לאפליקציה
מה קורה מרגע שכותבים משפט ועד שיש כתובת שאפשר לשלוח.
תוכנית לפני שורת קוד
התיאור הופך קודם לתוכנית: שם, דפים, טבלאות והכללים שלהן. הבנייה עצמה קוראת את התוכנית, כך שאין דף שנכתב בלי שהוחלט קודם למה הוא שם.
lib/build/run.tsהדפים נכתבים במקביל
אחרי המסגרת המשותפת, כל דף נכתב בבקשה נפרדת שרצה במקביל לאחרות — לא אחד אחרי השני.
lib/build/run.tsשער תקינות שעוצר קוד שבור
כל קובץ נבדק שהוא באמת מתקמפל ושהוא מייבא רק דברים שקיימים. מה שלא עובר — לא נשמר כגרסה, ולא מחויב.
lib/build/validate.tsשינויים בשפה רגילה
«תוסיף עמוד גלריה», «תעביר את הטופס לדף הבית». אותה דלת שבנתה את האפליקציה היא זו שמשנה אותה, ולכן שינוי הוא גרסה חדשה ולא תיקון ידני.
components/editor/Chat.tsxהקוד גלוי, ולא חייבים לגעת בו
כל קובץ שנוצר נקרא מתוך המסך עצמו. אין כאן קופסה שחורה — יש קוד שאפשר לקרוא ולהחליט להתעלם ממנו.
components/editor/CodePanel.tsxכל בנייה היא גרסה, ואפשר לחזור
שחזור מצביע על גרסה קודמת בלי למחוק את מה שאחריה, אז אפשר גם לחזור קדימה. הקוד ומבנה הנתונים חוזרים יחד.
app/api/apps/[appId]/route.tsשכפול פרויקט
הקוד והגדרות הטבלאות עוברים לפרויקט חדש. הרשומות לא — עותק שגורר איתו נתונים של מישהו אחר הוא דליפה, לא נוחות.
app/api/apps/[appId]/remix/route.tsייצוא הפרויקט כקובץ zip
הקוד שלכם, אצלכם, בקובץ שכל מחשב פותח. אין נעילה שכדאי להגן עליה.
app/api/apps/[appId]/export/route.ts
נתונים והרשאות
הטבלאות, מי מורשה לגעת בהן, ומה קורה לשורה אחרי שנכתבה.
טבלאות שנוצרות מהתיאור
שדות, טיפוסים ורשומות שנשמרות באמת — לא מצב זמני שנעלם עם רענון הדף.
app/api/apps/[appId]/entities/route.tsכללי גישה שנאכפים בשרת
«רק מי שיצר רואה» נכנס לתוך השאילתה עצמה. טעות מחזירה אפס שורות, לא שורות של לקוח אחר.
lib/rules.tsשער אחד לנתונים, בלי מפתח בדפדפן
לאפליקציה בנויה אין שום פרטי גישה למסד. כל קריאה וכתיבה עוברת דרך השער הזה, שמעריך את הכללים לפני שהוא נוגע בשורה.
app/api/data/[appId]/[entity]/route.tsייצוא טבלה לקובץ
כל טבלה יורדת כקובץ CSV ממסך הנתונים, בכל רגע.
app/api/apps/[appId]/records/export/route.tsייבוא עם הרצה יבשה
בוחרים איזו עמודה הולכת לאיזה שדה, ורואים כמה שורות ייכנסו — מאותה פונקציה שתעשה את הכתיבה, ולא מהערכה שנייה שמסכימה איתה עד שלא.
app/api/apps/[appId]/records/import/route.tsהיסטוריה לכל רשומה
כל כתיבה משאירה אחריה איך השורה נראתה קודם, אז אפשר לראות מה השתנה ומתי — ולחזור. בלי גיבוי מתוזמן ובלי «בערך אתמול בלילה».
app/api/apps/[appId]/records/history/route.tsמצב בדיקה שאפשר לנקות
מה שנוצר בזמן שהמצב היה דלוק נמחק ברכות בלחיצה — ונשאר ניתן לשחזור, למקרה שנבדק עם נתונים אמיתיים בטעות.
app/api/apps/[appId]/settings/testdata/route.ts
המשתמשים של האתר שלכם
הם נרשמים אליכם, לא אלינו — וההחלטה מי נכנס נשארת שלכם.
חשבונות של האתר שלכם
הרשמה, אימות בדוא"ל וכניסה — למשתמשים של האתר שלכם, לא שלנו. טוקן שנלקח מאתר אחד מוצג באתר אחר כמי שלא מחובר.
lib/appauth.tsהזמנה לכתובת אחת, עם תפקיד ותוקף
הקישור מוצג פעם אחת בלבד ברגע שנוצר; במסד נשמר רק הגיבוב שלו. כל עוד לא נוצל אפשר לבטל.
app/api/apps/[appId]/invites/route.tsמצב אישור לכל הרשמה חדשה
הרשמה נכנסת לתור במקום פנימה, ואי אפשר להנפיק לה סשן עד שמישהו מחליט. מי שכבר בפנים נשאר בפנים.
app/api/apps/[appId]/users/requests/route.tsרשימת המשתמשים, וייצוא שלה
מי נרשם, מתי, ובאיזה מצב — עם ייצוא לקובץ.
app/api/apps/[appId]/users/export/route.ts
הכתובת והפרסום
איפה זה רץ, מי מגיש את זה, ומה רואה מנוע חיפוש.
כתובת ציבורית מהשנייה הראשונה
כל פרויקט מקבל כתובת חינמית משלו, מוצגת למעלה בכל מסך. אפשר לשלוח אותה למישהו באותו יום.
app/serve/[slug]/[[...path]]/route.tsהאפליקציות לא יושבות על המקור שלנו
אתר בנוי רץ על שם מארח אחר לגמרי, אז שום עוגייה שלנו לא נשלחת אליו ושום קוד שבתוכו לא יכול לקרוא סשן של הבונה. זה ניתוב, לא הבטחה.
proxy.tsכתובת תצוגה מקדימה לגרסה שלא פורסמה
אפשר לראות ולשלוח גרסה לבדיקה לפני שהיא הופכת לגרסה החיה.
lib/serve.tsכותרת, תיאור ותמונת שיתוף לכל דף
מה שנשמר כאן הוא בדיוק מה שקורא מנוע חיפוש בבקשה הבאה — אין מה לבנות מחדש ואין מה לפרוס.
app/api/apps/[appId]/seo/route.tsrobots.txt ומפת אתר שנכתבים לבד
נגזרים מהדפים שהאפליקציה באמת מגישה, ומכבדים החלטה לא להיכלל בחיפוש.
lib/seo.tsהפניות מכתובת ישנה לחדשה
אחרי ששינו שם של דף, הקישור שכבר מודפס אצל מישהו ממשיך להגיע.
app/api/apps/[appId]/redirects/route.tsחסימת הטמעה באתרים אחרים
מתג שמשנה את הכותרות בתשובה הבאה של האתר. כבוי הוא לא ברירת המחדל — אפליקציה שהבעלים שלה לא נכנס למסך הזה אינה אפליקציה שהסכימה שימסגרו אותה.
app/api/apps/[appId]/security/route.ts
אחרי ההשקה
המספרים שממשיכים להגיע, והתקרות שמונעות הפתעה בחשבון.
תנועה שמחושבת במסד, לא בדפדפן
כמה נכנסו, מאיפה ולאילו דפים. כל מספר הוא צבירה שרצה ב־Postgres, כי שאילתה שנעצרת ב־1000 שורות מדווחת בחסר בדיוק על האתרים העמוסים.
app/api/apps/[appId]/analytics/route.tsיומן פעולות לכל אפליקציה
פרסום, שחזור, הזמנה, מחיקה — נרשמים ונקראים מהמסך.
app/api/apps/[appId]/logs/route.tsתקרות הוצאה שעוצרות
תקרה לבנייה, ליום ולחודש. כשמגיעים אליהן הבקשה נעצרת לפני שנשרף טוקן אחד — לא ממשיכה ושולחת חשבון.
lib/credits.tsחיוב לפי טוקנים שנמדדו
אחרי שהגרסה נשמרה, ולפי מה שנצרך בפועל. בנייה שנפלה בשער התקינות לא מחויבת — כולל סבבי התיקון שניסו להציל אותה.
lib/pricing.ts
דלתות החוצה
הכול פתוח בכל חבילה, כולל החינמית. הדלת החוצה היא הדבר שכל המתחרים גובים עליו.
מפתחות API
מפתח מזהה משתמש בפלטפורמה, וכל מסלול שהוא מגיע אליו עדיין בודק שהאפליקציה שייכת לו. נשמר רק הגיבוב — מפתח שאפשר לקרוא מהמסד דולף איתו.
lib/apikeys.tsשרת MCP
סוכן — Claude Code, Cursor, כל דבר שמדבר MCP — מפעיל את המערכת מקצה לקצה: רשימת פרויקטים, יצירה, בנייה, קריאת נתונים, קטלוג ותבניות.
mcp/server.mjsמקורות מידע חיים לאתר שנבנה
כניסת שבת, החגים הקרובים, התרעות פעילות ושערי מטבע. האתר לא מחזיק שום פרטי גישה — הוא פונה אלינו ואנחנו פונים למקור.
lib/live/index.tsספריית ידע ישראלי
מיומנויות בקוד פתוח — חשבונית מס ומע"מ, נגישות, פרטיות, עברית ו־RTL — שהבנייה שולפת מהן רק את מה שנוגע לבקשה.
app/api/skills/route.tsקטלוג תבניות פתוח וללא מפתח
אותה רשימה שהאתר מציג, כ־JSON. תבנית נכנסת אליה רק אחרי שדפדפן טען אותה ועבר בין הדפים שלה.
app/api/templates/route.ts
ומה שעדיין לא קיים
ארבעה דברים שהיה נוח לרמוז שהם כאן. הם לא, ולכן הם כתובים באותה גודל אות כמו כל השאר.
כל פרויקט מקבל כתובת חינמית משלו והיא עובדת מהרגע הראשון. חיבור דומיין פרטי אינו זמין, ולא נמכור אותו לפני שהוא באוויר.
אפליקציה בנויה שומרת שדות ורשומות. אין אחסון קבצים ואין העלאת תמונות מתוך אתר שנבנה, אז אל תתכננו סביבו גלריה שמעלים אליה.
אפשר לבנות קטלוג, טופס הזמנה ורשומת הזמנה. חיבור לסליקה אינו קיים בשום מקום בקוד, וטופס תשלום שלא גובה הוא הדבר הגרוע ביותר להבטיח.
אפשר להזמין אנשים לאפליקציה שנבנתה. חשבון בונים משותף לכמה עובדים, עם חיוב לפי מושב, לא נבנה — ולכן גם אין חבילה שמוכרת אותו.
להסתכל על זה עובד
כל תבנית בקטלוג היא אתר שלם שכבר רץ בכתובת משלו, עם הטבלאות וההרשאות שלמעלה. זו הדרך המהירה ביותר לבדוק את הרשימה הזו בלי להאמין לה.
