# Function: createApp()

```ts
function createApp<T>(config: {
  cache?: CacheConfig;
  client?: WorkspaceClient;
  plugins?: T;
  telemetry?: TelemetryConfig;
}): Promise<PluginMap<T>>;

```

Bootstraps AppKit with the provided configuration.

## Type Parameters[​](#type-parameters "Direct link to Type Parameters")

| Type Parameter                                                          |
| ----------------------------------------------------------------------- |
| `T` *extends* `PluginData`<`PluginConstructor`, `unknown`, `string`>\[] |

## Parameters[​](#parameters "Direct link to Parameters")

| Parameter           | Type                                                                                                                                                                                                                     |
| ------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `config`            | { `cache?`: [`CacheConfig`](/appkit/docs/api/appkit/Interface.CacheConfig.md); `client?`: `WorkspaceClient`; `plugins?`: `T`; `telemetry?`: [`TelemetryConfig`](/appkit/docs/api/appkit/Interface.TelemetryConfig.md); } |
| `config.cache?`     | [`CacheConfig`](/appkit/docs/api/appkit/Interface.CacheConfig.md)                                                                                                                                                        |
| `config.client?`    | `WorkspaceClient`                                                                                                                                                                                                        |
| `config.plugins?`   | `T`                                                                                                                                                                                                                      |
| `config.telemetry?` | [`TelemetryConfig`](/appkit/docs/api/appkit/Interface.TelemetryConfig.md)                                                                                                                                                |

## Returns[​](#returns "Direct link to Returns")

`Promise`<`PluginMap`<`T`>>
