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

Aller à l'installation

Informations de source

Dépôt
zhongjingyun/codex-plugins
Dernière activité de la source
10 juin 2026 à 03:40
Langue détectée de SKILL.md
anglais
Étoiles
22
Forks
2

Options d'installation

Le prompt qui vérifie d'abord la source est sélectionné par défaut. Vous pouvez passer à une commande directe ou télécharger une copie locale.

Vérifiez les fichiers source

Lisez SKILL.md et les fichiers associés affichés par SkillsMP avant de décider de l'installer.

Explorateur de fichiers
35 fichiers

Affichage de SKILL.md

SKILL.md
Instructions source · Aperçu en lecture seule
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
Voir sur GitHub
Ce SKILL.md est tres volumineux, SkillsMP affiche donc ici seulement la premiere section. Voir sur GitHub