<!--
 ⚠️  AUTO-GENERATED FILE - DO NOT EDIT MANUALLY
 This file is automatically generated by scripts/docs-generator.js
 To make changes, edit the source TypeScript files or update the generator script
-->

[playground](../../) / [Exports](../modules) / ProjectManager

# Class: ProjectManager

## Table of contents

### Methods

- [getInstance](ProjectManager#getinstance)
- [getAllProjects](ProjectManager#getallprojects)
- [createProject](ProjectManager#createproject)
- [importProject](ProjectManager#importproject)
- [saveProject](ProjectManager#saveproject)
- [updateProject](ProjectManager#updateproject)
- [loadProject](ProjectManager#loadproject)
- [deleteProject](ProjectManager#deleteproject)
- [listProjects](ProjectManager#listprojects)
- [exportProject](ProjectManager#exportproject)
- [duplicateProject](ProjectManager#duplicateproject)
- [getProjectStats](ProjectManager#getprojectstats)
- [searchProjects](ProjectManager#searchprojects)
- [getBuiltinTemplates](ProjectManager#getbuiltintemplates)
- [createFromTemplate](ProjectManager#createfromtemplate)

## Methods

### getInstance

▸ **getInstance**(): [`ProjectManager`](ProjectManager)

#### Returns

[`ProjectManager`](ProjectManager)

#### Defined in

[playground/src/lib/playground/project-manager.ts:66](https://github.com/woojubb/robota/blob/4f4c8a3197e92ddd43d12dc9186b0771983054c9/packages/playground/src/lib/playground/project-manager.ts#L66)

---

### getAllProjects

▸ **getAllProjects**(): [`IPlaygroundProject`](../interfaces/IPlaygroundProject)[]

#### Returns

[`IPlaygroundProject`](../interfaces/IPlaygroundProject)[]

#### Defined in

[playground/src/lib/playground/project-manager.ts:154](https://github.com/woojubb/robota/blob/4f4c8a3197e92ddd43d12dc9186b0771983054c9/packages/playground/src/lib/playground/project-manager.ts#L154)

---

### createProject

▸ **createProject**(`name`, `description?`, `settings`): [`IPlaygroundProject`](../interfaces/IPlaygroundProject)

#### Parameters

| Name          | Type               | Default value |
| :------------ | :----------------- | :------------ |
| `name`        | `string`           | `undefined`   |
| `description` | `string`           | `''`          |
| `settings`    | `IProjectSettings` | `undefined`   |

#### Returns

[`IPlaygroundProject`](../interfaces/IPlaygroundProject)

#### Defined in

[playground/src/lib/playground/project-manager.ts:160](https://github.com/woojubb/robota/blob/4f4c8a3197e92ddd43d12dc9186b0771983054c9/packages/playground/src/lib/playground/project-manager.ts#L160)

---

### importProject

▸ **importProject**(`projectData`): [`IPlaygroundProject`](../interfaces/IPlaygroundProject)

#### Parameters

| Name          | Type              |
| :------------ | :---------------- |
| `projectData` | `TUniversalValue` |

#### Returns

[`IPlaygroundProject`](../interfaces/IPlaygroundProject)

#### Defined in

[playground/src/lib/playground/project-manager.ts:189](https://github.com/woojubb/robota/blob/4f4c8a3197e92ddd43d12dc9186b0771983054c9/packages/playground/src/lib/playground/project-manager.ts#L189)

---

### saveProject

▸ **saveProject**(`projectData`): `string`

#### Parameters

| Name          | Type                                                                                                                        |
| :------------ | :-------------------------------------------------------------------------------------------------------------------------- |
| `projectData` | `Omit`\<[`IPlaygroundProject`](../interfaces/IPlaygroundProject), `"id"` \| `"createdAt"` \| `"updatedAt"` \| `"version"`\> |

#### Returns

`string`

#### Defined in

[playground/src/lib/playground/project-manager.ts:257](https://github.com/woojubb/robota/blob/4f4c8a3197e92ddd43d12dc9186b0771983054c9/packages/playground/src/lib/playground/project-manager.ts#L257)

---

### updateProject

▸ **updateProject**(`id`, `updates`): `boolean`

#### Parameters

| Name      | Type                                                                                                                    |
| :-------- | :---------------------------------------------------------------------------------------------------------------------- |
| `id`      | `string`                                                                                                                |
| `updates` | `Partial`\<`Omit`\<[`IPlaygroundProject`](../interfaces/IPlaygroundProject), `"id"` \| `"createdAt"` \| `"version"`\>\> |

#### Returns

`boolean`

#### Defined in

[playground/src/lib/playground/project-manager.ts:275](https://github.com/woojubb/robota/blob/4f4c8a3197e92ddd43d12dc9186b0771983054c9/packages/playground/src/lib/playground/project-manager.ts#L275)

---

### loadProject

▸ **loadProject**(`id`): `null` \| [`IPlaygroundProject`](../interfaces/IPlaygroundProject)

#### Parameters

| Name | Type     |
| :--- | :------- |
| `id` | `string` |

#### Returns

`null` \| [`IPlaygroundProject`](../interfaces/IPlaygroundProject)

#### Defined in

[playground/src/lib/playground/project-manager.ts:291](https://github.com/woojubb/robota/blob/4f4c8a3197e92ddd43d12dc9186b0771983054c9/packages/playground/src/lib/playground/project-manager.ts#L291)

---

### deleteProject

▸ **deleteProject**(`id`): `boolean`

#### Parameters

| Name | Type     |
| :--- | :------- |
| `id` | `string` |

#### Returns

`boolean`

#### Defined in

[playground/src/lib/playground/project-manager.ts:295](https://github.com/woojubb/robota/blob/4f4c8a3197e92ddd43d12dc9186b0771983054c9/packages/playground/src/lib/playground/project-manager.ts#L295)

---

### listProjects

▸ **listProjects**(): [`IProjectMetadata`](../interfaces/IProjectMetadata)[]

#### Returns

[`IProjectMetadata`](../interfaces/IProjectMetadata)[]

#### Defined in

[playground/src/lib/playground/project-manager.ts:303](https://github.com/woojubb/robota/blob/4f4c8a3197e92ddd43d12dc9186b0771983054c9/packages/playground/src/lib/playground/project-manager.ts#L303)

---

### exportProject

▸ **exportProject**(`id`): `null` \| `string`

#### Parameters

| Name | Type     |
| :--- | :------- |
| `id` | `string` |

#### Returns

`null` \| `string`

#### Defined in

[playground/src/lib/playground/project-manager.ts:317](https://github.com/woojubb/robota/blob/4f4c8a3197e92ddd43d12dc9186b0771983054c9/packages/playground/src/lib/playground/project-manager.ts#L317)

---

### duplicateProject

▸ **duplicateProject**(`id`): `null` \| `string`

#### Parameters

| Name | Type     |
| :--- | :------- |
| `id` | `string` |

#### Returns

`null` \| `string`

#### Defined in

[playground/src/lib/playground/project-manager.ts:324](https://github.com/woojubb/robota/blob/4f4c8a3197e92ddd43d12dc9186b0771983054c9/packages/playground/src/lib/playground/project-manager.ts#L324)

---

### getProjectStats

▸ **getProjectStats**(): `IProjectStats`

#### Returns

`IProjectStats`

#### Defined in

[playground/src/lib/playground/project-manager.ts:345](https://github.com/woojubb/robota/blob/4f4c8a3197e92ddd43d12dc9186b0771983054c9/packages/playground/src/lib/playground/project-manager.ts#L345)

---

### searchProjects

▸ **searchProjects**(`query`): [`IProjectMetadata`](../interfaces/IProjectMetadata)[]

#### Parameters

| Name    | Type     |
| :------ | :------- |
| `query` | `string` |

#### Returns

[`IProjectMetadata`](../interfaces/IProjectMetadata)[]

#### Defined in

[playground/src/lib/playground/project-manager.ts:370](https://github.com/woojubb/robota/blob/4f4c8a3197e92ddd43d12dc9186b0771983054c9/packages/playground/src/lib/playground/project-manager.ts#L370)

---

### getBuiltinTemplates

▸ **getBuiltinTemplates**(): `Omit`\<[`IPlaygroundProject`](../interfaces/IPlaygroundProject), `"id"` \| `"createdAt"` \| `"updatedAt"`\>[]

#### Returns

`Omit`\<[`IPlaygroundProject`](../interfaces/IPlaygroundProject), `"id"` \| `"createdAt"` \| `"updatedAt"`\>[]

#### Defined in

[playground/src/lib/playground/project-manager.ts:385](https://github.com/woojubb/robota/blob/4f4c8a3197e92ddd43d12dc9186b0771983054c9/packages/playground/src/lib/playground/project-manager.ts#L385)

---

### createFromTemplate

▸ **createFromTemplate**(`templateIndex`): `null` \| `string`

#### Parameters

| Name            | Type     |
| :-------------- | :------- |
| `templateIndex` | `number` |

#### Returns

`null` \| `string`

#### Defined in

[playground/src/lib/playground/project-manager.ts:477](https://github.com/woojubb/robota/blob/4f4c8a3197e92ddd43d12dc9186b0771983054c9/packages/playground/src/lib/playground/project-manager.ts#L477)
