UiPath Documentation
uipath-cli
latest
false

UiPath CLI user guide

Last updated May 7, 2026

uip maestro init

uip maestro init scaffolds a new Maestro project directory with a valid BPMN 2.0 starter and the metadata files Orchestrator expects for process-orchestration packages.

Synopsis

uip maestro init <name> [--force]
uip maestro init <name> [--force]

Honors global options. Exit codes follow the standard contract.

Arguments

  • <name> (required) — project folder name. Validated against VALID_PROJECT_NAME_REGEX: letters, numbers, underscores (_), and hyphens (-) only.

Options

  • --force — initialize even if the target directory exists and is non-empty. Existing files are not cleared — files are written alongside; this is useful for reinitializing inside a pre-created folder.

Behavior

Creates <name>/ in the current working directory and writes six files:

FilePurpose
project.uiproj{ "Name": "<name>", "ProjectType": "ProcessOrchestration" }
operate.jsonRuntime metadata — targetFramework: "Portable", contentType: "processOrchestration", runtimeOptions.isAttended: false.
entry-points.jsonOne entry point pointing at Event_start inside the starter BPMN, with empty input/output schemas.
bindings_v2.json{ "version": "2.0", "resources": [] }.
package-descriptor.jsonFile manifest consumed by the packer.
<name>.bpmnStarter BPMN containing Event_start_Implicit_EndEvent, wired with a uipath:entryPointId extension.

The starter BPMN is parsed through bpmn-moddle before writing; if structural (non-UiPath-extension) warnings appear, the command fails with BPMN validation failed: ….

If <name> already exists and is non-empty and --force is not set, the command fails with an error.

Examples

# Create a new project in ./invoice-orchestration
uip maestro init invoice-orchestration

# Reinitialize into an existing non-empty folder
uip maestro init invoice-orchestration --force
# Create a new project in ./invoice-orchestration
uip maestro init invoice-orchestration

# Reinitialize into an existing non-empty folder
uip maestro init invoice-orchestration --force

Data shape (--output json)

{
  "Code": "MaestroInit",
  "Data": {
    "Status": "Created successfully",
    "Path": "/workspace/invoice-orchestration"
  }
}
{
  "Code": "MaestroInit",
  "Data": {
    "Status": "Created successfully",
    "Path": "/workspace/invoice-orchestration"
  }
}

On failure the response carries Result: "Failure", Message, and Instructions.

See also

Was this page helpful?

Connect

Need help? Support

Want to learn? UiPath Academy

Have questions? UiPath Forum

Stay updated