# uip rpa create-project

> `uip rpa create-project` scaffolds a new UiPath project from a template. The command produces a project directory with a `project.json` and the starter workflow files for the chosen template, ready to be opened in Studio or built with [`uip rpa build`](./uip-rpa-build.md) / [`uip rpa pack`](./uip-rpa-pack.md).

`uip rpa create-project` scaffolds a new UiPath project from a template. The command produces a project directory with a `project.json` and the starter workflow files for the chosen template, ready to be opened in Studio or built with [`uip rpa build`](./uip-rpa-build.md) / [`uip rpa pack`](./uip-rpa-pack.md).

Scaffolding is performed by Studio itself, so the command works only on Windows runners (Studio is Windows-only). On macOS or Linux, copy a template directory by hand or run scaffolding on a Windows agent earlier in the pipeline.

## Synopsis

```
uip rpa create-project --name <name> [options]
```

## Options

| Flag | Description |
|---|---|
| `--name <string>` | **Required.** Name of the project to create. |
| `--template-id <string>` | Built-in template identifier — `BlankTemplate`, `LibraryProcessTemplate`, `TestAutomationProjectTemplate`, etc. Defaults to `BlankTemplate`. Run `uip rpa search-templates` for the live list on your Studio version. |
| `--location <string>` | Parent directory in which the project folder is created. Defaults to a Studio-managed location. |
| `--description <string>` | Project description, written to `project.json`. |
| `--expression-language <VisualBasic\|CSharp>` | Expression language for the new project. |
| `--target-framework <Legacy\|Windows\|Portable>` | Target framework — `Portable` for cross-platform projects, `Windows` for Windows-only, `Legacy` for the .NET Framework era projects supported by [`uip rpa-legacy`](./uip-rpa-legacy.md). |
| `--allow-prerelease-packages` | Allow prerelease activity-package versions in the dependency block. |
| `--template-package-id <id>` | NuGet package ID of a template package from a feed (overrides `--template-id` when set). Use `uip rpa search-templates` to discover available packages. |
| `--template-package-version <version>` | Version of the template package. Latest if omitted. |

For the complete option list on your installed tool version, run:

```bash
uip rpa create-project --help
```

## Examples

```bash
# Blank cross-platform project in the current folder
uip rpa create-project --name MyProcess --target-framework Portable --location .

# Library project, C# expression language
uip rpa create-project \
  --name MyLib \
  --template-id LibraryProcessTemplate \
  --expression-language CSharp

# Project from a feed-published template package
uip rpa create-project \
  --name FromFeed \
  --template-package-id MyOrg.Templates.Standard \
  --template-package-version 2.4.1
```

## Related

- `uip rpa search-templates` — discover available template packages on configured NuGet feeds.
- [`uip rpa build`](./uip-rpa-build.md) — compile the new project once scaffolded.
- [`uip rpa pack`](./uip-rpa-pack.md) — package it into a `.nupkg` for upload.

## See also

- [RPA tool overview](./uip-rpa.md)
- [Global options](./global-options.md)
- [Exit codes](./exit-codes.md)
