UiPath Documentation
uipath-cli
latest
false
UiPath CLI user guide

uip maestro flow init

Syntax and options for `uip maestro flow init`, which scaffolds a new Flow project with a minimal manifest and starter `.flow` file.

uip maestro flow init scaffolds a new Flow project directory with a minimal manifest and a starter .flow file containing a single manual-trigger node.

Synopsis

uip maestro flow init <name> [--force] [--skip-solution-registration]
uip maestro flow init <name> [--force] [--skip-solution-registration]

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.
  • --skip-solution-registration — do not auto-register this project in the surrounding solution (see Behavior below).

Behavior

The command writes two files into <name>/:

  • project.uiproj{ "Name": "<name>", "ProjectType": "Flow" }
  • <name>.flow — seed Flow JSON containing:
    • One core.trigger.manual start node wired to a generated entryPointId
    • The matching node definition in definitions[]
    • Empty edges, bindings, variables
    • Canvas layout.nodes.start position

Solution auto-registration. Unless --skip-solution-registration is passed:

  • If the current directory is already inside a solution, <name>/ is created there and registered as a project in that solution's .uipx manifest.
  • If the current directory is not inside a solution, a parent solution named <name>Solution is scaffolded automatically — the Flow project ends up nested at <name>Solution/<name>/, not at <name>/ in the current directory as a literal reading of the synopsis might suggest.

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

Examples

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

# Reinitialize into an existing non-empty folder (e.g. a Git repo)
uip maestro flow init invoice-flow --force
# Create a new project in ./invoice-flow
uip maestro flow init invoice-flow

# Reinitialize into an existing non-empty folder (e.g. a Git repo)
uip maestro flow init invoice-flow --force

Data shape (--output json)

{
  "Code": "FlowInit",
  "Data": {
    "Status": "Created successfully",
    "Path": "/workspace/my-flow-projectSolution/my-flow-project",
    "SolutionRegistration": {
      "Status": "Registered",
      "Message": "Project registered in parent solution.",
      "Solution": "/workspace/my-flow-projectSolution/my-flow-projectSolution.uipx",
      "Project": "my-flow-project/project.uiproj",
      "ProjectId": "00000000-0000-0000-0000-000000000000",
      "Instructions": "The project is listed in the parent solution manifest.
Packing or uploading the solution will sync solution resources automatically."
    },
    "AutoCreatedSolution": {
      "Name": "my-flow-projectSolution",
      "Path": "/workspace/my-flow-projectSolution",
      "SolutionFile": "/workspace/my-flow-projectSolution/my-flow-projectSolution.uipx"
    },
    "ProjectArtifacts": { "Created": true },
    "NextSteps": "The project is listed in the parent solution manifest.
Packing or uploading the solution will sync solution resources automatically."
  }
}
{
  "Code": "FlowInit",
  "Data": {
    "Status": "Created successfully",
    "Path": "/workspace/my-flow-projectSolution/my-flow-project",
    "SolutionRegistration": {
      "Status": "Registered",
      "Message": "Project registered in parent solution.",
      "Solution": "/workspace/my-flow-projectSolution/my-flow-projectSolution.uipx",
      "Project": "my-flow-project/project.uiproj",
      "ProjectId": "00000000-0000-0000-0000-000000000000",
      "Instructions": "The project is listed in the parent solution manifest.
Packing or uploading the solution will sync solution resources automatically."
    },
    "AutoCreatedSolution": {
      "Name": "my-flow-projectSolution",
      "Path": "/workspace/my-flow-projectSolution",
      "SolutionFile": "/workspace/my-flow-projectSolution/my-flow-projectSolution.uipx"
    },
    "ProjectArtifacts": { "Created": true },
    "NextSteps": "The project is listed in the parent solution manifest.
Packing or uploading the solution will sync solution resources automatically."
  }
}

AutoCreatedSolution is present only when a parent solution was scaffolded automatically (i.e. the command wasn't run inside an existing solution). SolutionRegistration is absent entirely when --skip-solution-registration is passed.

On failure, Code is absent and 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