---
title: "Creating Projects"
description: "Learn how to create and configure projects in Vibe Kanban"
---

Before you can create tasks and execute coding agents, you must create a project.

<Frame>
<img src="/images/vk-create-project.png" alt="Create project dialog showing options to create from existing git repository or blank project" />
</Frame>

## Creating Your Project
Click the **Create Project** button to choose from two options:
- **From existing git repository**: Browse your file system and select from a list of git repositories sorted by recent activity
- **Create blank project**: Generate a new git repository from scratch
Each project represents a git repository. After creation, you can configure it with setup scripts, dev server scripts, and other settings.


<Note>
After creating a project, you need to press the settings button in the top right to configure project scripts and settings.
</Note>

## Project Settings

Once you've created a project, you can access the project settings by clicking the settings button in the top right corner. From here, you can configure various aspects of your project.

### Setup Scripts

Setup scripts will be run before the coding agent is executed. This is useful for installing dependencies, for example you might run `npm install` or `cargo build`. This will save you time as your agent won't need to figure out that these commands haven't already been run.

<Note>
Each time a coding agent is executed it runs in a [git worktree](https://git-scm.com/docs/git-worktree) which is unlikely to contain your dependencies, configs, .env etc.
</Note>

### Dev Server Scripts

The dev server script is run when you press the "Start Dev Server" button from the [Preview](/core-features/testing-your-application) section. It's useful for quickly reviewing work after a coding agent has run.

### Cleanup Scripts

Cleanup scripts run after a coding agent finishes it's turn. You can use these to tidy up the workspace, remove temporary files, or perform any post-execution cleanup. For example, you might run `npm run format` to ensure your code is formatted correctly. Treat it like a git pre-commit hook.


### Copy Files

Comma-separated list of files to copy from the original project directory to the worktree. These files will be copied after the worktree is created but before the setup script runs. Useful for environment-specific files like `.env`, configuration files, and local settings.

<Warning>
Make sure these files are gitignored or they could get committed!
</Warning>


