---
name: create-project
description: Create a new project in the Tela workspace. Use when user wants to create a new project to organize their canvas/prompts.
---

# Create Project

Create a new project in the Tela workspace. Projects are used to organize canvas/prompts.

## Usage

```bash
bun --preload ~/.claude/skills/tela-studio/preload.ts -e "
const project = await tela.createProject({ title: 'My Project' })
console.log('Created:', project.id, tela.getProjectUrl(project.id))
"
```

## Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `title` | string | Yes | Project name (max 256 chars) |

## Response

Returns the created Project object:

```typescript
interface Project {
  id: string          // UUID
  title: string       // Project name
  workspaceId: string // UUID of the workspace
  createdAt: string   // ISO timestamp
  updatedAt: string   // ISO timestamp
  deletedAt: string | null
}
```

## Example Response

```json
{
  "id": "550e8400-e29b-41d4-a716-446655440000",
  "title": "My Project",
  "workspaceId": "660e8400-e29b-41d4-a716-446655440001",
  "createdAt": "2024-12-11T10:30:00.000Z",
  "updatedAt": "2024-12-11T10:30:00.000Z",
  "deletedAt": null
}
```

## Example: Create Project and Canvas Together

```bash
bun --preload ~/.claude/skills/tela-studio/preload.ts -e "
const project = await tela.createProject({ title: 'My New Project' })
const canvas = await tela.createCanvas({
  title: 'My Canvas',
  projectId: project.id,
  version: {
    title: 'v1',
    configuration: { model: 'gpt-4', type: 'chat' },
    message: { role: 'system', content: 'You are a helpful assistant.', index: 0 }
  }
})
console.log(JSON.stringify({
  project: tela.summarizeProject(project),
  canvas: tela.summarizeCanvas(canvas)
}, null, 2))
"
```
