Skip to main content

base44-cli

The base44 CLI is used for EVERYTHING related to base44 projects: resource configuration (entities, backend functions, ai agents), initialization and actions (resource creation, deployment). This skill is the place for learning about how to configure resources. When you plan or implement a feature, you must learn this skill

インストールへ移動

ソース情報

リポジトリ
zhongjingyun/codex-plugins
ソースの最終更新活動
2026年6月10日 03:40
検出された SKILL.md の言語
英語
スター
16
フォーク
2

インストール方法

デフォルトでは、最初にソースを確認する Prompt が選択されています。直接コマンドに切り替えるか、ローカルコピーをダウンロードすることもできます。

ソースファイルを確認

インストールを決める前に、SKILL.md と SkillsMP に表示されている付属ファイルをお読みください。

ファイルエクスプローラー
35 ファイル

SKILL.md を表示中

SKILL.md
ソースの指示 · 読み取り専用プレビュー
name
base44-cli
description
The base44 CLI is used for EVERYTHING related to base44 projects: resource configuration (entities, backend functions, ai agents), initialization and actions (resource creation, deployment). This skill is the place for learning about how to configure resources. When you plan or implement a feature, you must learn this skill
metadata
{"sourcePackage":{"name":"base44","version":"0.0.50"}}
# Base44 CLI Create and manage Base44 apps (projects) using the Base44 CLI tool. ## ⚡ IMMEDIATE ACTION REQUIRED - Read This First 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:** 1. Check if `base44/config.jsonc` exists in the current directory 2. If **NO** (new project scenario): - This skill (base44-cli) handles the request - Guide user through project initialization - Do NOT activate base44-sdk yet 3. If **YES** (existing project scenario): - Transfer to base44-sdk skill for implementation - This skill only handles CLI commands (login, deploy, entities push) ## Critical: Local Installation Only NEVER 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` ## MANDATORY: Authentication Check at Session Start **CRITICAL**: At the very start of every AI session when this skill is activated, you MUST: 1. **Check authentication status** by running: ```bash npx base44 whoami ``` 2. **If the user is logged in** (command succeeds and shows an email): - Continue with the requested task 3. **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: ```bash 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.** ## Overview 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. ## When to Use This Skill vs base44-sdk **Use base44-cli when:** - Creating a **NEW** Base44 project from scratch - Initializing a project in an empty directory - Directory is missing `base44/config.jsonc` - User mentions: "create a new project", "initialize project", "setup a project", "start a new Base44 app" - Deploying, pushing entities, or authenticating via CLI - Working with CLI commands (`npx base44 ...`) **Use base44-sdk when:** - Building features in an **EXISTING** Base44 project - `base44/config.jsonc` already exists - Writing JavaScript/TypeScript code using Base44 SDK - Implementing functionality, components, or features - User mentions: "implement", "build a feature", "add functionality", "write code" **Skill Dependencies:** - `base44-cli` is a **prerequisite** for `base44-sdk` in new projects - If user wants to "create an app" and no Base44 project exists, use `base44-cli` first - `base44-sdk` assumes a Base44 project is already initialized **State Check Logic:** Before selecting a skill, check: - IF (user mentions "create/build app" OR "make a project"): - IF (directory is empty OR no `base44/config.jsonc` exists): → Use **base44-cli** (project initialization needed) - ELSE: → Use **base44-sdk** (project exists, build features) ## Project Structure 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 settings - `base44/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 use **config.jsonc example:** ```jsonc { "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"` | | `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 | - | ## Installation Install the Base44 CLI as a dev dependency in your project: ```bash 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`: ```bash npx base44 <command> ``` **Note:** All commands in this documentation use `npx base44`. You can also use `yarn base44`, or `pnpm base44` if preferred. ## Available Commands ### Authentication | Command | Description | Reference | | --------------- | ----------------------------------------------- | ------------------------------------------- | | `base44 login` | Authenticate with Base44 using device code flow | [auth-login.md](references/auth-login.md) | | `base44 logout` | Logout from current device | [auth-logout.md](references/auth-logout.md) | | `base44 whoami` | Display current authenticated user | [auth-whoami.md](references/auth-whoami.md) | ### Project Management | Command | Description | Reference | |---------|-------------|-----------| | `base44 create` | Create a new Base44 project from a template | [create.md](references/create.md) ⚠️ **MUST READ** | | `base44 link` | Link an existing local project to Base44 | [link.md](references/link.md) | | `base44 eject` | Download the code for an existing Base44 project | [eject.md](references/eject.md) | | `base44 dashboard open` | Open the app dashboard in your browser | [dashboard.md](references/dashboard.md) | ### Deployment | Command | Description | Reference | |---------|-------------|-----------| | `base44 deploy` | Deploy all resources (entities, functions, agents, connectors, auth config, and site) | [deploy.md](references/deploy.md) | ### Entity Management | Action / Command | Description | Reference | | ---------------------- | ------------------------------------------- | --------------------------------------------------- | | Create Entities | Define entities in `base44/entities` folder | [entities-create.md](references/entities-create.md) | | `base44 entities push` | Push local entities to Base44 | [entities-push.md](references/entities-push.md) | | RLS Patterns | Row-level security examples and operators | [rls-examples.md](references/rls-examples.md) ⚠️ **READ FOR RLS** | #### Entity Schema (Quick Reference) 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:** ```jsonc { "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`, `hostname`, `ipv4`, `ipv6`, `uuid`, `file`, `regex`, `richtext` **For enums:** Add `"enum": ["value1", "value2"]` and optionally `"default": "value1"` **Entity names:** Must be alphanumeric only (pattern: `/^[a-zA-Z0-9]+$/`) For complete documentation, see [entities-create.md](references/entities-create.md). ### Function Management | Action / Command | Description | Reference | | ------------------------- | --------------------------------------------- | ------------------------------------------------------- | | Create Functions | Define functions in `base44/functions` folder | [functions-create.md](references/functions-create.md) | | Configure Automations | CRON, simple triggers, entity hooks in `function.jsonc` | [automations.md](references/automations.md) | | `base44 functions deploy [names...] [--force]` | Deploy local functions (and automations) to Base44; optionally target specific functions or prune removed ones | [functions-deploy.md](references/functions-deploy.md) | | `base44 functions delete <names...>` | Delete one or more deployed functions from Base44 | [functions-delete.md](references/functions-delete.md) | | `base44 functions list` | List all deployed functions on Base44 remote | [functions-list.md](references/functions-list.md) | | `base44 functions pull [name]` | Pull deployed functions from Base44 to local files | [functions-pull.md](references/functions-pull.md) | ### Agent Management
GitHubで見る
この SKILL.md は非常に大きいため、SkillsMP では最初のセクションだけを表示しています。 GitHubで見る