npx skills add https://github.com/base44/skills --skill base44-cli使用 Base44 CLI 工具创建和管理 Base44 应用(项目)。
此技能在任何提及 "base44" 或存在 base44/ 文件夹时激活。在行动前,请勿阅读文档文件或搜索网络。
您的首要行动必须是:
base44/config.jsonc切勿直接调用 base44。CLI 作为开发依赖项安装在本地,必须通过包管理器访问:
npx base44 <command> (npm - 推荐)广告位招租
在这里展示您的产品或服务
触达数万 AI 开发者,精准高效
yarn base44 <command> (yarn)pnpm base44 <command> (pnpm)错误:base44 login 正确:npx base44 login
关键:在每次 AI 会话开始时,当此技能被激活时,您必须:
检查身份验证状态,运行:
npx base44 whoami
如果用户已登录(命令成功并显示电子邮件):
如果用户未登录(命令失败或显示错误):
立即停止
不要继续执行任何 CLI 操作
要求用户手动登录,运行:
npx base44 login
- 等待用户确认已登录后再继续
此检查是强制性的,必须在执行任何其他 Base44 CLI 命令之前进行。
Base44 CLI 提供了用于身份验证、创建项目、管理实体和部署 Base44 应用程序的命令行工具。它与框架无关,可与流行的前端框架(如 Vite、Next.js、Create React App、Svelte、Vue 等)配合使用。
在以下情况下使用 base44-cli:
base44/config.jsoncnpx base44 ...)在以下情况下使用 base44-sdk:
base44/config.jsonc 已存在技能依赖关系:
base44-cli 是 base44-sdk 的先决条件base44-clibase44-sdk 假定 Base44 项目已初始化状态检查逻辑: 在选择技能之前,请检查:
base44/config.jsonc):→ 使用 base44-cli(需要项目初始化)Base44 项目将标准前端项目与 base44/ 配置文件夹相结合:
my-app/
├── base44/ # Base44 配置(由 CLI 创建)
│ ├── config.jsonc # 项目设置,站点配置
│ ├── .types/ # 自动生成的 TypeScript 类型(由 `types generate` 创建)
│ │ └── types.d.ts # @base44/sdk 的模块增强
│ ├── entities/ # 实体模式定义
│ │ ├── task.jsonc
│ │ └── board.jsonc
│ ├── functions/ # 后端函数(可选);自动化功能位于 function.jsonc 中
│ │ └── my-function/
│ │ ├── function.jsonc
│ │ └── index.ts
│ ├── agents/ # 代理配置(可选)
│ │ └── support_agent.jsonc
│ └── connectors/ # OAuth 连接器配置(可选)
│ └── googlecalendar.jsonc
├── src/ # 前端源代码
│ ├── api/
│ │ └── base44Client.js # Base44 SDK 客户端
│ ├── pages/
│ ├── components/
│ └── main.jsx
├── index.html # SPA 入口点
├── package.json
└── vite.config.js # 或您的框架配置
关键文件:
base44/config.jsonc - 项目名称、描述、站点构建设置base44/entities/*.jsonc - 数据模型模式(参见实体模式部分)base44/functions/*/function.jsonc - 函数配置和可选的 automations(CRON、简单触发器、实体钩子)base44/agents/*.jsonc - 代理配置(可选)base44/.types/types.d.ts - 实体、函数和代理的自动生成 TypeScript 类型(由 npx base44 types generate 创建)base44/connectors/*.jsonc - OAuth 连接器配置(可选)src/api/base44Client.js - 预配置的 SDK 客户端,供前端使用config.jsonc 示例:
{
"name": "My App", // 必需:项目名称
"description": "App description", // 可选:项目描述
"entitiesDir": "./entities", // 可选:默认为 "entities"
"functionsDir": "./functions", // 可选:默认为 "functions"
"agentsDir": "./agents", // 可选:默认为 "agents"
"connectorsDir": "./connectors", // 可选:默认为 "connectors"
"site": { // 可选:站点部署配置
"installCommand": "npm install", // 可选:安装依赖项
"buildCommand": "npm run build", // 可选:构建命令
"serveCommand": "npm run dev", // 可选:本地开发服务器
"outputDirectory": "./dist" // 可选:构建输出目录
}
}
配置属性:
| 属性 | 描述 | 默认值 |
|---|---|---|
name | 项目名称(必需) | - |
description | 项目描述 | - |
entitiesDir | 实体模式目录 | "entities" |
functionsDir | 后端函数目录 | "functions" |
agentsDir | 代理配置目录 | "agents" |
connectorsDir | 连接器配置目录 | "connectors" |
site.installCommand | 安装依赖项的命令 | - |
site.buildCommand | 构建项目的命令 | - |
site.serveCommand | 运行开发服务器的命令 | - |
site.outputDirectory | 部署的构建输出目录 | - |
在您的项目中将 Base44 CLI 作为开发依赖项安装:
npm install --save-dev base44
重要: 切勿假设或硬编码 base44 包的版本。始终在不指定版本的情况下安装以获取最新版本。
然后使用 npx 运行命令:
npx base44 <command>
注意: 本文档中的所有命令都使用 npx base44。您也可以使用 yarn base44 或 pnpm base44(如果偏好)。
| 命令 | 描述 | 参考 |
|---|---|---|
base44 login | 使用设备代码流与 Base44 进行身份验证 | auth-login.md |
base44 logout | 从当前设备注销 | auth-logout.md |
base44 whoami | 显示当前已认证的用户 | auth-whoami.md |
| 命令 | 描述 | 参考 |
|---|---|---|
base44 create | 从模板创建新的 Base44 项目 | create.md ⚠️ 必须阅读 |
base44 link | 将现有本地项目链接到 Base44 | link.md |
base44 eject | 下载现有 Base44 项目的代码 | eject.md |
base44 dashboard open | 在浏览器中打开应用仪表板 | dashboard.md |
| 命令 | 描述 | 参考 |
|---|---|---|
base44 deploy | 部署所有资源(实体、函数、代理、连接器和站点) | deploy.md |
| 操作 / 命令 | 描述 | 参考 |
|---|---|---|
| 创建实体 | 在 base44/entities 文件夹中定义实体 | entities-create.md |
base44 entities push | 将本地实体推送到 Base44 | entities-push.md |
| RLS 模式 | 行级安全示例和操作符 | rls-examples.md ⚠️ 阅读 RLS 部分 |
创建实体文件时,请始终遵循此确切结构:
文件命名: base44/entities/{kebab-case-name}.jsonc(例如,TeamMember 对应 team-member.jsonc)
模式模板:
{
"name": "EntityName",
"type": "object",
"properties": {
"field_name": {
"type": "string",
"description": "Field description"
}
},
"required": ["field_name"]
}
字段类型: string, number, integer, boolean, array, object, binary 字符串格式: date, date-time, time, email, uri, hostname, ipv4, ipv6, uuid, file, regex, richtext 对于枚举: 添加 "enum": ["value1", "value2"] 和可选的 "default": "value1" 实体名称: 必须仅为字母数字(模式:/^[a-zA-Z0-9]+$/)
完整文档请参阅 entities-create.md。
| 操作 / 命令 | 描述 | 参考 |
|---|---|---|
| 创建函数 | 在 base44/functions 文件夹中定义函数 | functions-create.md |
| 配置自动化 | 在 function.jsonc 中配置 CRON、简单触发器、实体钩子 | automations.md |
base44 functions deploy | 将本地函数(和自动化)部署到 Base44 | functions-deploy.md |
代理是可以与用户交互、访问您的应用实体并调用后端函数的对话式 AI 助手。使用这些命令来管理代理配置。
| 操作 / 命令 | 描述 | 参考 |
|---|---|---|
| 创建代理 | 在 base44/agents 文件夹中定义代理 | 参见下面的代理模式 |
base44 agents pull | 将远程代理拉取到本地文件 | agents-pull.md |
base44 agents push | 将本地代理推送到 Base44 | agents-push.md |
注意: 代理命令执行完全同步 - 推送会将所有远程代理替换为本地代理,拉取会将所有本地代理替换为远程代理。
文件命名: base44/agents/{agent_name}.jsonc(例如,support_agent.jsonc)
模式模板:
{
"name": "agent_name",
"description": "此代理功能的简要描述",
"instructions": "代理行为的详细说明",
"tool_configs": [
// 实体工具 - 授予代理访问实体操作的权限
{ "entity_name": "tasks", "allowed_operations": ["read", "create", "update", "delete"] },
// 后端函数工具 - 授予代理访问函数的权限
{ "function_name": "send_email", "description": "发送电子邮件通知" }
],
"whatsapp_greeting": "Hello! How can I help you today?"
}
命名规则:
/^[a-z0-9_]+$/(小写字母数字加下划线,1-100 个字符)support_agent, order_botSupport-Agent, OrderBot必需字段: name, description, instructions 可选字段: tool_configs(默认为 []), whatsapp_greeting
工具配置类型:
entity_name + allowed_operations(数组,可选值:read, create, update, delete)function_name + description连接器是 OAuth 集成,允许您的应用连接到外部服务(Google Calendar、Slack、Notion 等)。它们提供访问令牌,您可以在后端函数中使用这些令牌来调用外部 API。
| 操作 / 命令 | 描述 | 参考 |
|---|---|---|
| 创建连接器 | 在 base44/connectors 文件夹中定义连接器 | connectors-create.md |
base44 connectors pull | 将远程连接器拉取到本地文件 | connectors-pull.md |
base44 connectors push | 将本地连接器推送到 Base44 | connectors-push.md |
注意: 连接器命令执行完全同步 - 推送会将所有远程连接器替换为本地连接器(并为新的连接器触发 OAuth),拉取会将所有本地连接器替换为远程连接器。
文件命名: base44/connectors/{type}.jsonc(例如,googlecalendar.jsonc, slack.jsonc)
模式模板:
{
"type": "googlecalendar",
"scopes": [
"https://www.googleapis.com/auth/calendar.readonly",
"https://www.googleapis.com/auth/calendar.events"
]
}
必需字段: type 可选字段: scopes(默认为 [])
支持的连接器类型:
| 服务 | 类型 |
|---|---|
| Google Calendar | googlecalendar |
| Google Drive | googledrive |
| Google Sheets | googlesheets |
| Google Docs | googledocs |
| Google Slides | googleslides |
| Gmail | gmail |
| Slack | slack |
| Notion | notion |
| Salesforce | salesforce |
| HubSpot | hubspot |
linkedin | |
| TikTok | tiktok |
完整文档请参阅 connectors-create.md。
自动化是在 function.jsonc 内的 automations 数组中定义的触发器。它们通过 base44 functions deploy 与函数一起部署。有四种类型:
公共字段(所有类型): name(必需), description, function_args, is_active(默认:true)
计划一次性: type: "scheduled", schedule_mode: "one-time", one_time_date(ISO 字符串)
计划 CRON: type: "scheduled", schedule_mode: "recurring", schedule_type: "cron", cron_expression, 可选的 ends_type / ends_on_date / ends_after_count
计划简单: type: "scheduled", schedule_mode: "recurring", schedule_type: "simple", repeat_unit ("minutes" | "hours" | "days" | "weeks" | "months"), 可选的 repeat_interval, start_time, repeat_on_days (0–6), repeat_on_day_of_month (1–31), ends_type / ends_on_date / ends_after_count
实体钩子: type: "entity", entity_name(匹配实体模式名称), event_types: 数组,包含 "create" | "update" | "delete"(至少一个)
完整模式和示例请参阅 automations.md。
管理项目密钥(安全存储在 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 types generate | 从实体、函数、代理和连接器生成 TypeScript 类型 (types.d.ts) | types-generate.md |
输出: base44/.types/types.d.ts — 使用类型化注册表(EntityTypeRegistry, FunctionNameRegistry, AgentNameRegistry, ConnectorTypeRegistry)增强 @base44/sdk 模块。
无需身份验证。 完全在本地运行。自动更新 tsconfig.json 以包含生成的类型。
| 命令 | 描述 | 参考 |
|---|---|---|
base44 site deploy | 将构建的站点文件部署到 Base44 托管 | site-deploy.md |
base44 site open | 在浏览器中打开已部署的站点 | site-open.md |
仅限 SPA:Base44 托管支持具有单个 index.html 入口点的单页应用程序。所有路由都从 index.html 提供服务(客户端路由)。
在您的项目中安装 CLI:
npm install --save-dev base44
与 Base44 进行身份验证:
npx base44 login
创建新项目(始终提供名称和 --path 标志):
npx base44 create my-app -p .
构建并部署所有内容:
npm run build
npx base44 deploy -y
或者部署单个资源:
npx base44 entities push - 仅推送实体npx base44 functions deploy - 仅部署函数npx base44 agents push - 仅推送代理npx base44 connectors pull - 从 Base44 拉取连接器npx base44 connectors push - 仅推送连接器npx base44 site deploy -y - 仅部署站点⚠️ 强制:在运行 base44 create 之前,您必须阅读 create.md 以了解:
backend-and-client 与 backend-only)不遵循 create.md 中的说明将导致项目脚手架损坏。
# 如果您有 base44/config.jsonc 但没有 .app.jsonc
npx base44 link --create --name my-app
# 生成类型(可选,适用于 TypeScript 项目)
npx base44 types generate
# 首先构建您的项目
npm run build
# 部署所有内容(实体、函数和站点)
npx base44 deploy -y
# 从实体、函数、代理和连接器生成类型
npx base44 types generate
这将创建 base44/.types/types.d.ts,其中包含 @base44/sdk 模块的类型化注册表。在更改实体、函数、代理或连接器后运行此命令以保持类型同步。无需身份验证。
# 仅推送实体
npx base44 entities push
# 仅部署函数
npx base44 functions deploy
# 仅推送代理
npx base44 agents push
# 从 Base44 拉取连接器
npx base44 connectors pull
# 仅推送连接器
npx base44 connectors push
# 仅部署站点
npx base44 site deploy -y
# 在浏览器中打开应用仪表板
npx base44 dashboard
大多数命令需要身份验证。如果您未登录,CLI 将自动提示您登录。您的会话存储在本地,并在 CLI 会话之间持续存在。
| 错误 | 解决方案 |
|---|---|
| 未认证 | 首先运行 npx base44 login |
| 未找到实体 | 确保实体存在于 base44/entities/ 目录中 |
| 实体未被识别 | 确保文件使用 kebab-case 命名(例如,team-member.jsonc 而不是 TeamMember.jsonc) |
| 未找到函数 | 确保函数存在于 base44/functions/ 中,并具有有效的 function.jsonc 配置 |
| 未找到代理 | 确保代理存在于 base44/agents/ 目录中,并具有有效的 .jsonc 配置 |
| 无效的代理名称 | 代理名称必须仅为小写字母数字加下划线 |
| 未找到连接器 | 确保连接器存在于 base44/connectors/ 目录中,并具有有效的 .jsonc 配置 |
| 无效的连接器类型 | 连接器 type 必须是受支持的服务之一(googlecalendar、slack 等) |
| 重复的连接器类型 | 每种连接器类型在每个项目中只能定义一次 |
| 连接器授权超时 | 重新运行 npx base44 connectors push 并在浏览器中完成 OAuth 流程 |
| 未找到站点配置 | 检查项目配置中是否配置了 site.outputDirectory |
| 站点部署失败 | 确保您首先运行了 npm run build 并且构建成功 |
| 有可用更新消息 | 如果提示更新,请运行 npm install -g base44@latest(或对于本地安装使用 npx) |
每周安装次数
752
仓库
GitHub 星标数
64
首次出现
2026年1月20日
安全审计
安装于
cursor653
claude-code581
gemini-cli541
codex495
opencode491
github-copilot424
Create and manage Base44 apps (projects) using the Base44 CLI tool.
This skill activates on ANY mention of "base44" or when a base44/ folder exists. DO NOT read documentation files or search the web before acting.
Your first action MUST be:
base44/config.jsonc exists in the current directoryNEVER call base44 directly. The CLI is installed locally as a dev dependency and must be accessed via a package manager:
npx base44 <command> (npm - recommended)yarn base44 <command> (yarn)pnpm base44 <command> (pnpm)WRONG: base44 login RIGHT: npx base44 login
CRITICAL : At the very start of every AI session when this skill is activated, you MUST:
Check authentication status by running:
npx base44 whoami
If the user is logged in (command succeeds and shows an email):
If the user is NOT logged in (command fails or shows an error):
STOP immediately
DO NOT proceed with any CLI operations
Ask the user to login manually by running:
npx base44 login
- Wait for the user to confirm they have logged in before continuing
This check is mandatory and must happen before executing any other Base44 CLI commands.
The Base44 CLI provides command-line tools for authentication, creating projects, managing entities, and deploying Base44 applications. It is framework-agnostic and works with popular frontend frameworks like Vite, Next.js, and Create React App, Svelte, Vue, and more.
Use base44-cli when:
base44/config.jsoncnpx base44 ...)Use base44-sdk when:
base44/config.jsonc already existsSkill Dependencies:
base44-cli is a prerequisite for base44-sdk in new projectsbase44-cli firstbase44-sdk assumes a Base44 project is already initializedState Check Logic: Before selecting a skill, check:
base44/config.jsonc exists): → Use base44-cli (project initialization needed)A Base44 project combines a standard frontend project with a base44/ configuration folder:
my-app/
├── base44/ # Base44 configuration (created by CLI)
│ ├── config.jsonc # Project settings, site config
│ ├── .types/ # Auto-generated TypeScript types (created by `types generate`)
│ │ └── types.d.ts # Module augmentation for @base44/sdk
│ ├── entities/ # Entity schema definitions
│ │ ├── task.jsonc
│ │ └── board.jsonc
│ ├── functions/ # Backend functions (optional); automations live in function.jsonc
│ │ └── my-function/
│ │ ├── function.jsonc
│ │ └── index.ts
│ ├── agents/ # Agent configurations (optional)
│ │ └── support_agent.jsonc
│ └── connectors/ # OAuth connector configurations (optional)
│ └── googlecalendar.jsonc
├── src/ # Frontend source code
│ ├── api/
│ │ └── base44Client.js # Base44 SDK client
│ ├── pages/
│ ├── components/
│ └── main.jsx
├── index.html # SPA entry point
├── package.json
└── vite.config.js # Or your framework's config
Key files:
base44/config.jsonc - Project name, description, site build settingsbase44/entities/*.jsonc - Data model schemas (see Entity Schema section)base44/functions/*/function.jsonc - Function config and optional automations (CRON, simple triggers, entity hooks)base44/agents/*.jsonc - Agent configurations (optional)base44/.types/types.d.ts - Auto-generated TypeScript types for entities, functions, and agents (created by npx base44 types generate)base44/connectors/*.jsonc - OAuth connector configurations (optional)src/api/base44Client.js - Pre-configured SDK client for frontend useconfig.jsonc example:
{
"name": "My App", // Required: project name
"description": "App description", // Optional: project description
"entitiesDir": "./entities", // Optional: default "entities"
"functionsDir": "./functions", // Optional: default "functions"
"agentsDir": "./agents", // Optional: default "agents"
"connectorsDir": "./connectors", // Optional: default "connectors"
"site": { // Optional: site deployment config
"installCommand": "npm install", // Optional: install dependencies
"buildCommand": "npm run build", // Optional: build command
"serveCommand": "npm run dev", // Optional: local dev server
"outputDirectory": "./dist" // Optional: build output directory
}
}
Config properties:
| Property | Description | Default |
|---|---|---|
name | Project name (required) | - |
description | Project description | - |
entitiesDir | Directory for entity schemas | "entities" |
functionsDir | Directory for backend functions | "functions" |
Install the Base44 CLI as a dev dependency in your project:
npm install --save-dev base44
Important: Never assume or hardcode the base44 package version. Always install without a version specifier to get the latest version.
Then run commands using npx:
npx base44 <command>
Note: All commands in this documentation use npx base44. You can also use yarn base44, or pnpm base44 if preferred.
| Command | Description | Reference |
|---|---|---|
base44 login | Authenticate with Base44 using device code flow | auth-login.md |
base44 logout | Logout from current device | auth-logout.md |
base44 whoami | Display current authenticated user | auth-whoami.md |
| Command | Description | Reference |
|---|---|---|
base44 create | Create a new Base44 project from a template | create.md ⚠️ MUST READ |
base44 link | Link an existing local project to Base44 | link.md |
base44 eject | Download the code for an existing Base44 project | eject.md |
base44 dashboard open |
| Command | Description | Reference |
|---|---|---|
base44 deploy | Deploy all resources (entities, functions, agents, connectors, and site) | deploy.md |
| Action / Command | Description | Reference |
|---|---|---|
| Create Entities | Define entities in base44/entities folder | entities-create.md |
base44 entities push | Push local entities to Base44 | entities-push.md |
| RLS Patterns | Row-level security examples and operators | rls-examples.md ⚠️ READ FOR RLS |
ALWAYS follow this exact structure when creating entity files:
File naming: base44/entities/{kebab-case-name}.jsonc (e.g., team-member.jsonc for TeamMember)
Schema template:
{
"name": "EntityName",
"type": "object",
"properties": {
"field_name": {
"type": "string",
"description": "Field description"
}
},
"required": ["field_name"]
}
Field types: string, number, integer, boolean, array, object, binary String formats: date, date-time, time, email, uri, , , , , , , Add and optionally Must be alphanumeric only (pattern: )
For complete documentation, see entities-create.md.
| Action / Command | Description | Reference |
|---|---|---|
| Create Functions | Define functions in base44/functions folder | functions-create.md |
| Configure Automations | CRON, simple triggers, entity hooks in function.jsonc | automations.md |
base44 functions deploy | Deploy local functions (and automations) to Base44 | functions-deploy.md |
Agents are conversational AI assistants that can interact with users, access your app's entities, and call backend functions. Use these commands to manage agent configurations.
| Action / Command | Description | Reference |
|---|---|---|
| Create Agents | Define agents in base44/agents folder | See Agent Schema below |
base44 agents pull | Pull remote agents to local files | agents-pull.md |
base44 agents push | Push local agents to Base44 | agents-push.md |
Note: Agent commands perform full synchronization - pushing replaces all remote agents with local ones, and pulling replaces all local agents with remote ones.
File naming: base44/agents/{agent_name}.jsonc (e.g., support_agent.jsonc)
Schema template:
{
"name": "agent_name",
"description": "Brief description of what this agent does",
"instructions": "Detailed instructions for the agent's behavior",
"tool_configs": [
// Entity tool - gives agent access to entity operations
{ "entity_name": "tasks", "allowed_operations": ["read", "create", "update", "delete"] },
// Backend function tool - gives agent access to a function
{ "function_name": "send_email", "description": "Send an email notification" }
],
"whatsapp_greeting": "Hello! How can I help you today?"
}
Naming rules:
/^[a-z0-9_]+$/ (lowercase alphanumeric with underscores, 1-100 chars)support_agent, order_botSupport-Agent, OrderBotRequired fields: name, description, instructions Optional fields: tool_configs (defaults to []), whatsapp_greeting
Tool config types:
entity_name + allowed_operations (array of: read, create, update, delete)function_name + descriptionConnectors are OAuth integrations that let your app connect to external services (Google Calendar, Slack, Notion, etc.). They provide access tokens that you can use in backend functions to call external APIs.
| Action / Command | Description | Reference |
|---|---|---|
| Create Connectors | Define connectors in base44/connectors folder | connectors-create.md |
base44 connectors pull | Pull remote connectors to local files | connectors-pull.md |
base44 connectors push | Push local connectors to Base44 | connectors-push.md |
Note: Connector commands perform full synchronization - pushing replaces all remote connectors with local ones (and triggers OAuth for new ones), and pulling replaces all local connectors with remote ones.
File naming: base44/connectors/{type}.jsonc (e.g., googlecalendar.jsonc, slack.jsonc)
Schema template:
{
"type": "googlecalendar",
"scopes": [
"https://www.googleapis.com/auth/calendar.readonly",
"https://www.googleapis.com/auth/calendar.events"
]
}
Required fields: type Optional fields: scopes (defaults to [])
Supported connector types:
| Service | Type |
|---|---|
| Google Calendar | googlecalendar |
| Google Drive | googledrive |
| Google Sheets | googlesheets |
| Google Docs | googledocs |
| Google Slides | googleslides |
| Gmail | gmail |
| Slack |
For complete documentation, see connectors-create.md.
Automations are triggers defined in the automations array inside function.jsonc. They deploy with the function via base44 functions deploy. Four types:
Common fields (all types): name (required), description, function_args, is_active (default: true)
Scheduled One-Time: type: "scheduled", schedule_mode: "one-time", one_time_date (ISO string)
Scheduled CRON: type: "scheduled", schedule_mode: "recurring", schedule_type: "cron", cron_expression, optional ends_type / ends_on_date / ends_after_count
Scheduled Simple: type: "scheduled", schedule_mode: "recurring", schedule_type: "simple", repeat_unit ("minutes" | "hours" | "days" | "weeks" | "months"), optional repeat_interval, start_time, (0–6), (1–31), / /
Entity Hook: type: "entity", entity_name (matches entity schema name), event_types: array of "create" | "update" | "delete" (at least one)
For full schemas and examples, see automations.md.
Manage project secrets (environment variables stored securely in Base44). These commands are hidden from --help output but are fully functional.
| Command | Description | Reference |
|---|---|---|
base44 secrets list | List the names of all secrets | secrets-list.md |
base44 secrets set | Set one or more secrets (KEY=VALUE or --env-file) | secrets-set.md |
base44 secrets delete <key> | Delete a secret by name | secrets-delete.md |
| Command | Description | Reference |
|---|---|---|
base44 types generate | Generate TypeScript types (types.d.ts) from entities, functions, agents, and connectors | types-generate.md |
Output: base44/.types/types.d.ts — augments @base44/sdk module with typed registries (EntityTypeRegistry, FunctionNameRegistry, AgentNameRegistry, ConnectorTypeRegistry).
No authentication required. Runs entirely locally. Automatically updates tsconfig.json to include the generated types.
| Command | Description | Reference |
|---|---|---|
base44 site deploy | Deploy built site files to Base44 hosting | site-deploy.md |
base44 site open | Open the deployed site in your browser | site-open.md |
SPA only : Base44 hosting supports Single Page Applications with a single index.html entry point. All routes are served from index.html (client-side routing).
Install the CLI in your project:
npm install --save-dev base44
Authenticate with Base44:
npx base44 login
Create a new project (ALWAYS provide name and --path flag):
npx base44 create my-app -p .
Build and deploy everything:
npm run build
npx base44 deploy -y
Or deploy individual resources:
npx base44 entities push - Push entities onlynpx base44 functions deploy - Deploy functions onlynpx base44 agents push - Push agents onlynpx base44 connectors pull - Pull connectors from Base44npx base44 connectors push - Push connectors onlynpx base44 site deploy -y - Deploy site only⚠️ MANDATORY: Before runningbase44 create, you MUST read create.md for:
backend-and-client vs backend-only)Failure to follow the create.md instructions will result in broken project scaffolding.
# If you have base44/config.jsonc but no .app.jsonc
npx base44 link --create --name my-app
# Generate types (optional, for TypeScript projects)
npx base44 types generate
# Build your project first
npm run build
# Deploy everything (entities, functions, and site)
npx base44 deploy -y
# Generate types from entities, functions, agents, and connectors
npx base44 types generate
This creates base44/.types/types.d.ts with typed registries for the @base44/sdk module. Run this after changing entities, functions, agents, or connectors to keep your types in sync. No authentication required.
# Push only entities
npx base44 entities push
# Deploy only functions
npx base44 functions deploy
# Push only agents
npx base44 agents push
# Pull connectors from Base44
npx base44 connectors pull
# Push only connectors
npx base44 connectors push
# Deploy only site
npx base44 site deploy -y
# Open app dashboard in browser
npx base44 dashboard
Most commands require authentication. If you're not logged in, the CLI will automatically prompt you to login. Your session is stored locally and persists across CLI sessions.
| Error | Solution |
|---|---|
| Not authenticated | Run npx base44 login first |
| No entities found | Ensure entities exist in base44/entities/ directory |
| Entity not recognized | Ensure file uses kebab-case naming (e.g., team-member.jsonc not TeamMember.jsonc) |
| No functions found | Ensure functions exist in base44/functions/ with valid function.jsonc configs |
| No agents found | Ensure agents exist in directory with valid configs |
Weekly Installs
752
Repository
GitHub Stars
64
First Seen
Jan 20, 2026
Security Audits
Gen Agent Trust HubPassSocketPassSnykPass
Installed on
cursor653
claude-code581
gemini-cli541
codex495
opencode491
github-copilot424
React 组合模式指南:Vercel 组件架构最佳实践,提升代码可维护性
102,200 周安装
LobeHub TypeScript 代码风格指南:类型安全、异步模式与性能优化最佳实践
842 周安装
LiveKit Agents 开发指南:基于 LiveKit Cloud 构建语音 AI 智能体
843 周安装
autonomous-loops 自主循环技能:Claude Code 自动化开发工作流架构指南
844 周安装
数据库设计指南:PostgreSQL/SQLite选择、ORM对比、索引优化与性能调优
844 周安装
Playwright网页抓取技能:自动化抓取动态网站、处理登录分页和截图
845 周安装
WordPress插件开发指南:架构、安全、设置API与生命周期管理
846 周安装
agentsDir | Directory for agent configs | "agents" |
connectorsDir | Directory for connector configs | "connectors" |
site.installCommand | Command to install dependencies | - |
site.buildCommand | Command to build the project | - |
site.serveCommand | Command to run dev server | - |
site.outputDirectory | Build output directory for deployment | - |
| Open the app dashboard in your browser |
| dashboard.md |
hostnameipv4ipv6uuidfileregexrichtext"enum": ["value1", "value2"]"default": "value1"/^[a-zA-Z0-9]+$/slack |
| Notion | notion |
| Salesforce | salesforce |
| HubSpot | hubspot |
linkedin |
| TikTok | tiktok |
repeat_on_daysrepeat_on_day_of_monthends_typeends_on_dateends_after_countbase44/agents/.jsonc| Invalid agent name | Agent names must be lowercase alphanumeric with underscores only |
| No connectors found | Ensure connectors exist in base44/connectors/ directory with valid .jsonc configs |
| Invalid connector type | Connector type must be one of the supported services (googlecalendar, slack, etc.) |
| Duplicate connector type | Each connector type can only be defined once per project |
| Connector authorization timeout | Re-run npx base44 connectors push and complete the OAuth flow in your browser |
| No site configuration found | Check that site.outputDirectory is configured in project config |
| Site deployment fails | Ensure you ran npm run build first and the build succeeded |
| Update available message | If prompted to update, run npm install -g base44@latest (or use npx for local installs) |