> ## 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.

# `base44 types generate`

> Generate TypeScript declaration file (types.d.ts) from project resources (entities, functions, agents, connectors).

<Warning>
  This page is part of an AI coding agent skill and is written for agents, not humans. For the human-readable Base44 docs, see the [developer documentation](/developers).
</Warning>

# `base44 types generate`

Generate TypeScript declaration file (`types.d.ts`) from project resources (entities, functions, agents, connectors).

## Usage

```bash theme={null}
npx base44 types generate
```

## What It Does

1. **Reads project configuration** — Scans `base44/entities/`, `base44/functions/`, `base44/agents/`, and `base44/connectors/` for all defined resources
2. **Generates `base44/.types/types.d.ts`** — Creates a TypeScript declaration file that augments the `@base44/sdk` module with typed registries
3. **Updates `tsconfig.json`** (if present) — Automatically adds `base44/.types/*.d.ts` to the `include` array so TypeScript picks up the generated types

## Authentication

**Not required.** This command runs entirely locally and does not need authentication.

## Output File

The generated file is placed at:

```
base44/.types/types.d.ts
```

### Generated Content

The declaration file augments the `@base44/sdk` module with four registries:

* **`EntityTypeRegistry`** — Maps entity names to their TypeScript interfaces (compiled from entity JSON schemas)
* **`FunctionNameRegistry`** — Lists all backend function names
* **`AgentNameRegistry`** — Lists all agent names
* **`ConnectorTypeRegistry`** — Lists all connector types

**Example output:**

```typescript theme={null}
// Auto-generated by Base44 CLI - DO NOT EDIT
// Regenerate with: base44 types generate

export interface Task {
  title: string;
  status: "todo" | "in_progress" | "done";
  assignee?: string;
}

export interface Board {
  name: string;
  description?: string;
}

declare module '@base44/sdk' {
  interface EntityTypeRegistry {
    "Task": Task;
    "Board": Board;
  }

  interface FunctionNameRegistry {
    "send_email": true;
  }

  interface AgentNameRegistry {
    "support_agent": true;
  }

  interface ConnectorTypeRegistry {
    "googlecalendar": true;
  }
}
```

If no resources are found, the file contains a placeholder with instructions on how to add resources.

## tsconfig.json Integration

If a `tsconfig.json` exists in the project root, the command automatically adds `base44/.types/*.d.ts` to the `include` array:

```json theme={null}
{
  "include": [
    "src",
    "base44/.types/*.d.ts"
  ]
}
```

If the path is already included, or no `tsconfig.json` exists, this step is silently skipped.

## When to Run

* After creating or modifying entity schemas in `base44/entities/`
* After adding or removing backend functions in `base44/functions/`
* After adding or removing agents in `base44/agents/`
* After adding or removing connectors in `base44/connectors/`
* When setting up a TypeScript project for the first time with Base44

## Notes

* The generated file should **not** be manually edited — it will be overwritten on the next run
* Consider adding `base44 types generate` to your build pipeline or as a pre-build script
* The `.types` directory is created automatically inside the `base44/` folder
