מה יש בפנים

כל היכולת, והקובץ שמאחוריה

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

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

מתיאור לאפליקציה

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

  • תוכנית לפני שורת קוד

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

    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.ts
  • robots.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

ומה שעדיין לא קיים

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

דומיין משלכם — עדיין לא

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

העלאת קבצים — לא קיימת

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

גבייה מתוך אתר בנוי — לא קיימת

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

צוות ומושבים — לא קיימים

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

להסתכל על זה עובד

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

VIXTURכל יכולת ברשימה למעלה קיימת בכל חבילה, כולל החינמית