create command creates new projects with all necessary files and configuration. This article describes the Base44 backend project structure and explains what each file and directory does.
Backend project structure
When you create a backend-only Base44 project, the CLI generates this minimal structure:<your-project-name>
base44
.app.jsonc
config.jsonc
.gitignore
<your-project-name>
base44
.app.jsonc
config.jsonc
.types
types.d.ts
agents
<agent-name>.jsonc
agent-skills
<skill-name>.md
auth
config.jsonc
connectors
<connector-type>.jsonc
entities
<entity-name>.jsonc
functions
<function-name>
entry.ts
function.jsonc
.gitignore
Functions only require an
entry.ts or entry.js file. You can optionally add function.jsonc for advanced configurations like custom names or automations. See Backend Functions for details.base44/
Contains all Base44 backend configuration and resource definitions.config.jsonc
Defines your project configuration, including paths to entities, functions, agents, connectors, auth config, and site hosting settings for full-stack projects. The CLI creates this with just your project name, and you can add more configuration as needed. Whenvisibility is set here, deploy applies it to the server on every run.
Your project requires a config.jsonc (or config.json) file in the base44/ directory:
.app.jsonc
Links your local project to your Base44 app. This file is automatically created by the CLI when you create or link a project. Individual CLI commands can override this default with the--app-id flag or the BASE44_APP_ID environment variable. See Select a target app.
The
.app.jsonc file should not be committed to version control. The CLI
automatically creates a .gitignore file that excludes this file..types/types.d.ts
Generated TypeScript type definitions for your entities, functions, agents, and connectors. Created by runningbase44 types generate. This file provides autocomplete and type safety when using the SDK in TypeScript projects. See Dynamic Types for more details.
agents/
Directory containing AI agent configurations. Each agent is defined in a separate.json or .jsonc file.
agent-skills/
Directory containing agent skills, the reusable instruction sets that run inside your app’s agents. Each skill is a separate Markdown file whose name is the skill name, with a frontmatterdescription and an instruction body. These are runtime skills for your app’s agents, not the AI coding assistant skills described below.
auth/
Directory containing your app’s authentication configuration. Contains a singleconfig.jsonc file that defines which login methods are available to your end users. Pull the current config from Base44 with auth pull.
connectors/
Directory containing OAuth connector configurations. Each connector is defined in a separate.json or .jsonc file named after the integration type such as slack.jsonc or googlecalendar.jsonc.
entities/
Directory containing entity schema definitions. Each entity is defined in a separate.json or .jsonc file. Create this directory when you’re ready to define your first entity.
functions/
Directory containing serverless backend functions. Each function requires its own subdirectory with anentry.ts or entry.js code file. The CLI uses the directory path relative to the functions root as the function name. For example, functions/sendEmail/entry.ts creates a function named sendEmail. You can optionally add a function.jsonc configuration file to customize the function name or add automations.
functions
<function-name>
entry.ts
function.jsonc
.gitignore
Prevents files from being committed to version control. Your project starts with this file to prevent.app.jsonc from being committed.
AI coding assistant skills
When you create a project withbase44 create, Base44 skills are automatically installed. These appear in assistant-specific folders like .claude/skills/, .cursor/skills/, or similar, depending on which AI coding assistant you use. These folders help your coding assistant understand how to work with Base44 and are safe to commit to version control.
These coding assistant skills are separate from the agent skills in your
agent-skills/ directory. Coding assistant skills help tools like Claude and Cursor build your app, while agent skills run inside your app’s agents.See also
- Quickstart - Backend only: Create your first backend-only project
- Quickstart - React: Build a full-stack React app with Base44
types generatecommand: Generate TypeScript types from your project- Dynamic Types: Get type safety for your SDK code
- Entities: Learn about database schema configuration
- Backend Functions: Create serverless API endpoints
- AI Agents: Configure AI agents for your app
- Connectors: Set up OAuth connections to third-party services
- Auth Config: Manage your app’s login methods