Base44 CLI
צור ונהל אפליקציות Base44 (פרויקטים) באמצעות כלי Base44 CLI.⚡ פעולה מיידית נדרשת - קרא זאת תחילה
מיומנות זו מופעלת בכל אזכור של “base44” או כאשר קיימת תיקייתbase44/. אל תקרא קבצי תיעוד או תחפש באינטרנט לפני פעולה.
הפעולה הראשונה שלך חייבת להיות:
- בדוק אם
base44/config.jsoncקיים בתיקייה הנוכחית - אם כן (תרחיש פרויקט קיים):
- העבר למיומנות base44-sdk ליישום
- מיומנות זו מטפלת רק בפקודות CLI (login, deploy, entities push)
- אם לא, החלט בין שני נתיבי אתחול:
- אפליקציה מוקצית — אפליקציית Base44 כבר קיימת כי הוקצתה זה עתה דרך זרימת Stripe Projects / projects.dev, או
BASE44_APP_ID(אוBASE44_PROJECTS_BASE44_APP_ID) קיים בסביבה או בקובץ.env/.env.local:- הרץ
npx base44 scaffoldלהגדרת קבצים מקומיים לאותה אפליקציה קיימת - אל תריץ
npx base44 create— זה יוצר אפליקציה שנייה, כפולה. ראה scaffold.md.
- הרץ
- פרויקט חדש — אין אפליקציה עדיין ואין אחת שהוקצתה:
- מיומנות זו (base44-cli) מטפלת בבקשה; הנחה את המשתמש דרך
npx base44 create - אל תפעיל את base44-sdk עדיין
- מיומנות זו (base44-cli) מטפלת בבקשה; הנחה את המשתמש דרך
- אפליקציה מוקצית — אפליקציית Base44 כבר קיימת כי הוקצתה זה עתה דרך זרימת Stripe Projects / projects.dev, או
קריטי: התקנה מקומית בלבד
לעולם אל תקראbase44 ישירות. ה-CLI מותקן מקומית כתלות dev וחייב להיות נגיש דרך package manager:
npx base44 <command>(npm - מומלץ)yarn base44 <command>(yarn)pnpm base44 <command>(pnpm)
base44 login
RIGHT: npx base44 login
חובה: בדיקת אימות בתחילת סשן
קריטי: בתחילת כל סשן AI כאשר מיומנות זו מופעלת, אתה חייב:-
בדוק סטטוס אימות על ידי הרצת:
-
אם המשתמש מחובר (הפקודה מצליחה ומציגה אימייל):
- המשך במשימה המבוקשת
-
אם המשתמש אינו מחובר (הפקודה נכשלת או מציגה שגיאה):
- עצור מיד
- אל תמשיך עם פעולות CLI כלשהן
- בקש מהמשתמש להתחבר ידנית על ידי הרצת:
BASE44_ACCESS_TOKEN / BASE44_REFRESH_TOKEN שהוא מזריק (השמות עם קידומת BASE44_PROJECTS_* מנורמלים אוטומטית). במקרה כזה npx base44 whoami כבר מצליח ואינך צריך npx base44 login אינטראקטיבי.
סקירה כללית
Base44 CLI מספק כלים של שורת פקודה לאימות, יצירת פרויקטים, ניהול entities ופריסת אפליקציות Base44. הוא אינו תלוי בפריימוורק ועובד עם פריימוורקים פופולריים של frontend כמו Vite, Next.js, ו-Create React App, Svelte, Vue ועוד.מתי להשתמש במיומנות זו לעומת base44-sdk
השתמש ב-base44-cli כאשר:- יוצר פרויקט Base44 חדש מאפס
- מאתחל פרויקט בתיקייה ריקה
- מגדיר קבצים מקומיים לאפליקציה קיימת שהוקצתה חיצונית (למשל, דרך זרימת Stripe Projects / projects.dev) → השתמש ב-
scaffold - תיקייה חסרה
base44/config.jsonc - המשתמש מזכיר: “create a new project”, “initialize project”, “setup a project”, “start a new Base44 app”
- פורס, דוחף entities, או מזדהה דרך CLI
- עובד עם פקודות CLI (
npx base44 ...)
- בונה תכונות בפרויקט Base44 קיים
base44/config.jsoncכבר קיים- כותב קוד JavaScript/TypeScript באמצעות Base44 SDK
- מיישם פונקציונליות, רכיבים או תכונות
- המשתמש מזכיר: “implement”, “build a feature”, “add functionality”, “write code”
base44-cliהוא תנאי מקדים ל-base44-sdkבפרויקטים חדשים- אם המשתמש רוצה “create an app” ואין פרויקט Base44, השתמש תחילה ב-
base44-cli base44-sdkמניח שפרויקט Base44 כבר מאותחל
- IF (המשתמש מזכיר “create/build app” OR “make a project”):
- IF (
base44/config.jsoncקיים): → השתמש ב-base44-sdk (הפרויקט קיים, בנה תכונות) - ELSE IF (האפליקציה הוקצתה חיצונית —
BASE44_APP_ID/BASE44_PROJECTS_BASE44_APP_IDמוגדר, או זרימת Stripe Projects / projects.dev רצה זה עתה): → השתמש ב-base44-cli →npx base44 scaffold(הגדר קבצים מקומיים לאפליקציה הקיימת; אלcreate) - ELSE:
→ השתמש ב-base44-cli →
npx base44 create(נדרש אתחול פרויקט חדש)
- IF (
מבנה פרויקט
פרויקט Base44 משלב פרויקט frontend סטנדרטי עם תיקיית תצורתbase44/:
base44/config.jsonc- שם פרויקט, תיאור, הגדרות site buildbase44/entities/*.jsonc- סכמות מודל נתונים (ראה סעיף Entity Schema)base44/functions/*/entry.ts- נקודת כניסה של פונקציית backendbase44/agents/*.jsonc- תצורות סוכן (אופציונלי)base44/.types/types.d.ts- סוגי TypeScript שנוצרים אוטומטית עבור entities, functions, ו-agents (נוצר על ידיnpx base44 types generate)base44/connectors/*.jsonc- תצורות OAuth connector (אופציונלי)src/api/base44Client.js- SDK client מוגדר מראש לשימוש ב-frontend
| מאפיין | תיאור | ברירת מחדל |
|---|---|---|
name | שם פרויקט (נדרש) | - |
description | תיאור פרויקט | - |
entitiesDir | תיקייה לסכמות entity | "entities" |
functionsDir | תיקייה לפונקציות backend | "functions" |
agentsDir | תיקייה לתצורות agent | "agents" |
connectorsDir | תיקייה לתצורות connector | "connectors" |
site.installCommand | פקודה להתקנת תלויות | - |
site.buildCommand | פקודה לבניית הפרויקט | - |
site.serveCommand | פקודה להרצת שרת dev | - |
site.outputDirectory | תיקיית פלט build לפריסה | - |
התקנה
התקן את Base44 CLI כתלות dev בפרויקט שלך:base44. תמיד התקן בלי מציין גרסה כדי לקבל את הגרסה האחרונה.
ואז הרץ פקודות באמצעות npx:
npx base44. ניתן גם להשתמש ב-yarn base44, או pnpm base44 אם מועדף.
אפשרות --app-id גלובלית
ל-CLI יש אפשרות גלובלית --app-id <id> עבור פקודות שצריכות רק הקשר של אפליקציה, לא קבצי פרויקט מקומיים.
סדר פתרון: דגל --app-id → משתנה סביבה BASE44_APP_ID → base44/.app.jsonc מקומי
זה שימושי כשאתה רוצה לבדוק או לפעול על אפליקציה מבלי לעבור לתיקיית פרויקט מקושרת. דוגמאות נפוצות:
--app-id לפקודות ברמת אפליקציה כמו exec ו-logs.
אל תשתמש ב---app-id לפקודות שצריכות קבצי פרויקט מקומיים:
base44 createיוצר אפליקציה חדשה, אז הוא דוחה--app-idbase44 devרץ מפרויקט מקומי מקושר, אז הוא דוחה--app-idbase44 deployעדיין דורש תיקיית פרויקט מקומית כי הוא קורא משאבים מקומיים
פקודות זמינות
אימות
| פקודה | תיאור | הפניה |
|---|---|---|
base44 login | אמת עם Base44 באמצעות device code flow | auth-login.md |
base44 logout | התנתק מהמכשיר הנוכחי | auth-logout.md |
base44 whoami | הצג את המשתמש המאומת הנוכחי | auth-whoami.md |
ניהול פרויקט
| פקודה | תיאור | הפניה |
|---|---|---|
base44 create | צור פרויקט Base44 חדש מתבנית | create.md ⚠️ חובה לקרוא |
base44 scaffold | הקם פרויקט מקומי לאפליקציית Base44 קיימת (לפי app ID) | scaffold.md |
base44 link | קשר פרויקט מקומי קיים ל-Base44 | link.md |
base44 eject | הורד את הקוד לפרויקט Base44 קיים | eject.md |
base44 dashboard open | פתח את לוח האפליקציה בדפדפן שלך | dashboard.md |
פיתוח
| פקודה | תיאור | הפניה |
|---|---|---|
base44 dev | התחל פיתוח מקומי ל-Base44 backend שלך, וגם ל-frontend שלך כאשר site.serveCommand מוגדר | dev.md |
פריסה
| פקודה | תיאור | הפניה |
|---|---|---|
base44 deploy | פרוס את כל המשאבים (entities, functions, agents, connectors, auth config, ו-site) | deploy.md |
ניהול Entity
| פעולה / פקודה | תיאור | הפניה |
|---|---|---|
| Create Entities | הגדר entities בתיקיית base44/entities | entities-create.md |
base44 entities push | דחוף entities מקומיים ל-Base44 | entities-push.md |
| RLS Patterns | דוגמאות ואופרטורים של אבטחת רמת שורה | rls-examples.md ⚠️ קרא ל-RLS |
סכמת Entity (הפניה מהירה)
תמיד עקוב אחר המבנה המדויק הזה בעת יצירת קבצי entity: מתן שם לקבצים:base44/entities/{kebab-case-name}.jsonc (למשל, team-member.jsonc עבור TeamMember)
תבנית סכמה:
string, number, integer, boolean, array, object, binary
פורמטי string: date, date-time, time, email, uri, hostname, ipv4, ipv6, uuid, file, regex, richtext
עבור enums: הוסף "enum": ["value1", "value2"] ואופציונלית "default": "value1"
שמות entity: חייבים להיות אלפאנומריים בלבד (תבנית: /^[a-zA-Z0-9]+$/)
לתיעוד מלא, ראה entities-create.md.
ניהול Function
| פעולה / פקודה | תיאור | הפניה |
|---|---|---|
| Create Functions | הגדר פונקציות ב-base44/functions | functions-create.md |
base44 functions deploy [names...] [--force] | פרוס פונקציות מקומיות ל-Base44; אופציונלית מכוון לפונקציות ספציפיות או מנקה פונקציות שהוסרו | functions-deploy.md |
base44 functions delete <names...> | מחק פונקציה אחת או יותר שנפרסו מ-Base44 | functions-delete.md |
base44 functions list | פרט את כל הפונקציות שנפרסו ב-Base44 מרחוק | functions-list.md |
base44 functions pull [name] | משוך פונקציות שנפרסו מ-Base44 לקבצים מקומיים | functions-pull.md |
ניהול Agent
Agents הם עוזרי AI שיחתיים שיכולים לתקשר עם משתמשים, לגשת ל-entities של האפליקציה שלך, ולקרוא לפונקציות backend. השתמש בפקודות אלה לניהול תצורות agent.| פעולה / פקודה | תיאור | הפניה |
|---|---|---|
| Create Agents | הגדר agents בתיקיית base44/agents | ראה Agent Schema למטה |
base44 agents pull | משוך agents מרוחקים לקבצים מקומיים | agents-pull.md |
base44 agents push | דחוף agents מקומיים ל-Base44 | agents-push.md |
סכמת Agent (הפניה מהירה)
מתן שם לקבצים:base44/agents/{agent_name}.jsonc (למשל, support_agent.jsonc)
תבנית סכמה:
- שמות agent חייבים להתאים לתבנית:
/^[a-z0-9_]+$/(אלפאנומרי באותיות קטנות עם קווים תחתונים, 1-100 תווים) - תקף:
support_agent,order_bot - לא תקף:
Support-Agent,OrderBot
name, description, instructions
שדות אופציונליים: tool_configs (ברירת מחדל []), whatsapp_greeting
סוגי tool config:
- Entity tools:
entity_name+allowed_operations(מערך של:read,create,update,delete) - Backend function tools:
function_name+description
ניהול Connector
Connectors מאפשרים לאפליקציה שלך להתחבר לשירותים חיצוניים (Google Calendar, Slack, Stripe וכו’). רוב ה-connectors משתמשים ב-OAuth כדי לספק access tokens לפונקציות backend לקרוא ל-APIs חיצוניים. Stripe הוא החריג — הוא מוקצה אוטומטית בצד השרת ללא זרימת OAuth בדפדפן.| פעולה / פקודה | תיאור | הפניה |
|---|---|---|
| Create Connectors | הגדר connectors בתיקיית base44/connectors | connectors-create.md |
base44 connectors list-available | פרט את כל סוגי האינטגרציה הזמינים מ-Base44 | connectors-list-available.md |
base44 connectors pull | משוך connectors מרוחקים לקבצים מקומיים | connectors-pull.md |
base44 connectors push | דחוף connectors מקומיים ל-Base44 | connectors-push.md |
סכמת Connector (הפניה מהירה)
מתן שם לקבצים:base44/connectors/{type}.jsonc (למשל, googlecalendar.jsonc, slack.jsonc)
תבנית סכמה:
type
שדות אופציונליים: scopes (ברירת מחדל [])
סוגי connector זמינים: הרץ npx base44 connectors list-available כדי לראות את כל סוגי האינטגרציה הנתמכים.
הערה: stripe הוא גם סוג connector תקף אך לא מוחזר על ידי list-available. התייחס אליו כסוג נתמך — הוא מוקצה אוטומטית על ידי Base44 ללא זרימת OAuth בדפדפן. ראה connectors-create.md לפרטים.
לתיעוד מלא, ראה connectors-create.md.
תצורת Auth
נהל את הגדרות האימות של האפליקציה שלך (למשל, כניסה עם שם משתמש וסיסמה). תצורת Auth מאוחסנת ב-base44/auth/ ומסונכרנת עם Base44 דרך auth push/auth pull.
| פקודה | תיאור | הפניה |
|---|---|---|
base44 auth password-login <enable|disable> | הפעל או השבת אימות שם משתמש וסיסמה | auth-password-login.md |
base44 auth social-login <provider> <enable|disable> | הפעל או השבת social login (google, microsoft, facebook, apple) | auth-social-login.md |
base44 auth sso <enable|disable> | הגדר ספק זהות SSO (google, microsoft, github, okta, custom) | auth-sso.md |
base44 auth pull | משוך תצורת auth מ-Base44 לקבצים מקומיים | auth-pull.md |
base44 auth push | דחוף תצורת auth מקומית ל-Base44 | auth-push.md |
base44 deploy.
ניהול Secrets
נהל סודות פרויקט (משתני סביבה מאוחסנים בבטחה ב-Base44). פקודות אלה מוסתרות מפלט--help אך מלאות פונקציונליות.
| פקודה | תיאור | הפניה |
|---|---|---|
base44 secrets list | פרט את השמות של כל הסודות | secrets-list.md |
base44 secrets set | הגדר סוד אחד או יותר (KEY=VALUE או —env-file) | secrets-set.md |
base44 secrets delete <key> | מחק סוד לפי שם | secrets-delete.md |
הרצת סקריפט
הרץ סקריפטים חד-פעמיים מול האפליקציה שלך עם Base44 SDK מאומת מראש. השתמש בו לביצוע פעולות CRUD על entities (base44.entities.MyEntity.list/create/update/delete), לקרוא לפונקציות backend (base44.functions.invoke("myFunction", args)), להפעיל agents, או לגשת לכל משאב אחר שנחשף על ידי ה-SDK — מבלי לפרוס פונקציה מלאה. שימושי להעברת נתונים, פעולות בכמות, ניפוי באגים וזרימות עבודה מסוגלות סקריפט.
| פקודה | תיאור | הפניה |
|---|---|---|
base44 exec | הרץ סקריפט (דרך stdin) עם Base44 SDK מאומת מראש | exec.md |
יצירת סוגים
| פקודה | תיאור | הפניה |
|---|---|---|
base44 types generate | צור סוגי TypeScript (types.d.ts) מ-entities, functions, agents, ו-connectors | types-generate.md |
base44/.types/types.d.ts — מרחיב את מודול @base44/sdk עם רישומים מוקלדים (EntityTypeRegistry, FunctionNameRegistry, AgentNameRegistry, ConnectorTypeRegistry).
לא נדרש אימות. רץ כולו מקומית. מעדכן אוטומטית את tsconfig.json לכלול את הסוגים שנוצרו.
ניהול Site
| פקודה | תיאור | הפניה |
|---|---|---|
base44 site deploy | פרוס קבצי site בנויים לאירוח Base44 | site-deploy.md |
base44 site open | פתח את ה-site הפרוס בדפדפן שלך | site-open.md |
index.html. כל הנתיבים מוגשים מ-index.html (client-side routing).
התחלה מהירה
-
התקן את ה-CLI בפרויקט שלך:
-
אמת עם Base44:
-
צור פרויקט חדש (תמיד ספק שם ודגל
--path): -
הרץ פיתוח מקומי:
-
בנה ופרוס הכל:
npx base44 entities push- דחוף entities בלבדnpx base44 functions deploy- פרוס functions בלבדnpx base44 functions delete <name>- מחק פונקציה שנפרסהnpx base44 functions list- פרט את כל הפונקציות שנפרסוnpx base44 functions pull- משוך פונקציות שנפרסו לקבצים מקומייםnpx base44 agents push- דחוף agents בלבדnpx base44 connectors pull- משוך connectors מ-Base44npx base44 connectors push- דחוף connectors בלבדnpx base44 auth pull- משוך תצורת auth מ-Base44npx base44 auth push- דחוף תצורת auth בלבדnpx base44 site deploy -y- פרוס site בלבד
זרימות עבודה נפוצות
יצירת פרויקט חדש
⚠️ חובה: לפני הרצתbase44 create, אתה חייב לקרוא את create.md עבור:
- בחירת תבנית - בחר את התבנית הנכונה (
backend-and-clientלעומתbackend-only) - זרימת עבודה נכונה - תבניות שונות דורשות שלבי הגדרה שונים
- מכשולים נפוצים - הימנע משגיאות יצירת תיקייה שגורמות לכישלונות
קישור פרויקט קיים
הרצת פיתוח מקומי
base44 dev יריץ גם את ה-frontend שלך, אמת ש-base44/config.jsonc כולל site.serveCommand מוגדר נכון (לדוגמה, "serveCommand": "npm run dev"). כאשר שדה זה קיים, base44 dev מריץ הן את ה-backend והן את ה-frontend יחד.
פריסת כל השינויים
יצירת סוגי TypeScript
base44/.types/types.d.ts עם רישומים מוקלדים עבור מודול @base44/sdk. הרץ זאת לאחר שינוי entities, functions, agents, או connectors כדי לשמור את הסוגים שלך מסונכרנים. אין צורך באימות.
פריסת משאבים בודדים
פתיחת לוח
אימות
רוב הפקודות דורשות אימות. אם אינך מחובר, ה-CLI יבקש ממך אוטומטית להתחבר. הסשן שלך נשמר מקומית ונמשך בין סשני CLI.פתרון בעיות
| שגיאה | פתרון |
|---|---|
| Not authenticated | הרץ תחילה npx base44 login |
| No entities found | ודא ש-entities קיימים בתיקיית base44/entities/ |
| Entity not recognized | ודא שהקובץ משתמש במתן שם kebab-case (למשל, team-member.jsonc לא TeamMember.jsonc) |
| No functions found | ודא שפונקציות קיימות ב-base44/functions/ עם entry.ts או entry.js |
| No agents found | ודא ש-agents קיימים בתיקיית base44/agents/ עם תצורות .jsonc תקפות |
| Invalid agent name | שמות agent חייבים להיות אלפאנומרי באותיות קטנות עם קווים תחתונים בלבד |
| No connectors found | ודא ש-connectors קיימים בתיקיית base44/connectors/ עם תצורות .jsonc תקפות |
| Invalid connector type | הרץ npx base44 connectors list-available כדי לראות סוגים תקפים |
| Duplicate connector type | כל סוג connector יכול להיות מוגדר רק פעם אחת לפרויקט |
| Connector authorization timeout | הרץ מחדש npx base44 connectors push והשלם את זרימת ה-OAuth בדפדפן שלך |
| No site configuration found | בדוק ש-site.outputDirectory מוגדר בתצורת הפרויקט |
| Site deployment fails | ודא שהרצת npm run build תחילה וה-build הצליח |
| Update available message | אם תתבקש לעדכן, הרץ npm install -g base44@latest (או השתמש ב-npx להתקנות מקומיות) |
דף זה תורגם באמצעות בינה מלאכותית. למידע המדויק והעדכני ביותר, עיין בגרסה האנגלית.

