Skip to main content
Follow this quickstart to add Base44 to your Refine project. You’ll create a Base44 backend, define entities, and integrate Base44 as a data provider in Refine.
The CLI requires Node.js 20.19.0 or higher.

Setup

1

Install the Base44 CLI

Install the Base44 CLI globally:
2

Create a Base44 backend

Navigate to your Refine project directory, then run:
If you’re not already logged in, the command will prompt you to authenticate.Select Create a basic project when prompted. This creates the backend files within your Refine project directory. Then follow the prompts to configure your project.When you create a project, Base44 skills are included automatically, providing your AI agent with instructions and context for Base44 tasks.
3

Configure your site

Update your config.jsonc to point to your Refine build output and set the commands for building and serving. Add the site.outputDirectory, site.buildCommand, and site.serveCommand fields:
With serveCommand set, base44 dev starts your backend and frontend together from a single terminal. With buildCommand set, base44 build compiles your frontend with your app ID injected.
4

Define entities

Create entity schemas to define your data structures. Entity files must be placed in the base44/entities/ directory.For example, create base44/entities/task.jsonc:
5

Push entities to Base44

Push your entity schemas to Base44:
This command synchronizes your local entity definitions with your Base44 backend, making them available for use in your application. See entities push for more information.
6

Install Base44 SDK

Install the Base44 SDK in your Refine project:
7

Create a Base44 client

Create a Base44 SDK client in your project. Read the app ID from VITE_BASE44_APP_ID, which base44 build and base44 dev set automatically.For example, create src/api/base44Client.ts:
VITE_BASE44_APP_ID resolves to your linked app’s ID, which the CLI reads from base44/.app.jsonc.
8

Use the SDK in your frontend

Create a simple component to list and add tasks. For example, create src/components/TaskList.tsx:
Use the exact entity name from your schema when calling the SDK, including capitalization. By convention, entity names begin with a capital letter. For example, if your schema has "name": "Task", you access it as base44.entities.Task.list().
9

Import the component in your app

Update your src/App.tsx to use the TaskList component:
10

Run your app locally

Start your Refine development server to test your integration. From your project root, run:
Your Refine app will connect to your Base44 backend through the custom data provider, automatically handling all CRUD operations.
11

Build and deploy your frontend

Build your Refine project for production with your app ID injected, then deploy:
base44 build runs your buildCommand with VITE_BASE44_APP_ID set to your linked app’s ID. base44 deploy uploads the compiled files and pushes any updates to your entity schemas. When complete, you’ll see a link to your Base44 dashboard and your live application URL.

Next steps

Now that your Base44 backend is integrated with your project, you can:

See also