> ## Documentation Index
> Fetch the complete documentation index at: https://docs.base44.com/llms.txt
> Use this file to discover all available pages before exploring further.

# deploy

> Deploy all project resources to Base44

Deploy all your project resources to Base44 in a single command. This includes [entities](/developers/backend/resources/entities/overview), [functions](/developers/backend/resources/backend-functions/overview), [connectors](/developers/backend/resources/connectors), [agents](/developers/backend/resources/agents/overview), [agent skills](/developers/backend/resources/agents/agent-skills), [auth config](/developers/backend/resources/auth), the build code for your frontend, and the [app's visibility level](/developers/references/cli/commands/visibility) when set in `config.jsonc`. The command provides a summary of what will be deployed and asks for confirmation before proceeding.

<Note>
  The confirmation summary lists resource counts, but does not call out which resources will be deleted. Review the [sync behavior](#sync-behavior) section below before running `deploy` on a project where you may have removed local entities, connectors, agents, or agent skills.
</Note>

If any connectors require OAuth authorization, the deploy command will prompt you to authorize them in your browser, similar to running [`connectors push`](/developers/references/cli/commands/connectors-push).

You can also deploy resources individually using [`entities push`](/developers/references/cli/commands/entities-push), [`functions deploy`](/developers/references/cli/commands/functions-deploy), [`connectors push`](/developers/references/cli/commands/connectors-push), [`auth push`](/developers/references/cli/commands/auth-push), and [`site deploy`](/developers/references/cli/commands/site-deploy).

If your project has a frontend, pass `--build` to compile it before deploying, or run [`base44 build`](/developers/references/cli/commands/build) separately first.

## Usage

```bash theme={null}
base44 deploy
```

## Flags

| Flag         | Description                                                                                   |
| ------------ | --------------------------------------------------------------------------------------------- |
| `-y, --yes`  | Skip the confirmation prompt.                                                                 |
| `--build`    | Build the site before deploying. Runs `site.buildCommand` with `VITE_BASE44_APP_ID` injected. |
| `--no-build` | Deploy without building, skipping the interactive build prompt.                               |

## Sync behavior

The deploy command creates and updates all resource types, but handles deletions differently for functions than for entities, connectors, agents, and agent skills.

### Entities, connectors, agents, and agent skills

Entities, connectors, agents, and agent skills are fully synced, the same way as [`entities push`](/developers/references/cli/commands/entities-push), [`connectors push`](/developers/references/cli/commands/connectors-push), [`agents push`](/developers/references/cli/commands/agents-push), and [`agent-skills push`](/developers/references/cli/commands/agent-skills-push). Remote resources not found locally are removed:

| Local state      | Remote state     | Result                      |
| ---------------- | ---------------- | --------------------------- |
| Resource exists  | Resource exists  | Remote resource is updated. |
| Resource exists  | Resource missing | New resource is created.    |
| Resource missing | Resource exists  | Remote resource is removed. |

<Warning>
  Removing an entity removes its schema from Base44. Existing data is not deleted, but the entity will no longer be accessible through the SDK.

  Removing a connector removes the OAuth connection from Base44. Functions that use the connector will fail until it's reconnected.

  If your project has no local agents, or no local agent skills, that resource type is left untouched rather than deleted. Otherwise, any remote agent or agent skill missing from your local files is removed, even though the confirmation summary does not list it separately.
</Warning>

### Functions

Functions are deployed but not pruned. Remote functions not found locally are left unchanged. To remove remote functions that are no longer in your project, use [`functions deploy --force`](/developers/references/cli/commands/functions-deploy).

## See also

* [`build`](/developers/references/cli/commands/build): Build the site without deploying
* [Entities](/developers/backend/resources/entities/overview): Learn about database schema configuration
* [Connectors](/developers/backend/resources/connectors): Set up OAuth connections to third-party services
* [About Agents](/developers/backend/resources/agents/overview): Configure AI agents for your app
* [Agent Skills](/developers/backend/resources/agents/agent-skills): Define reusable instruction sets for your agents
* [Backend Functions](/developers/backend/resources/backend-functions/overview): Create serverless API endpoints
* [`functions deploy`](/developers/references/cli/commands/functions-deploy): Deploy functions individually with selective deploy and pruning options
