# uip maestro bpmn pack

> Syntax and options for `uip maestro bpmn pack`, which packages a Maestro project directory into a `.nupkg` for Orchestrator publication.

`uip maestro bpmn pack` packages a Maestro project directory into a `.nupkg` ready to publish to Orchestrator as a Process Orchestration release. It's registered under the `bpmn` branch.

## Synopsis

```
uip maestro bpmn pack <projectPath> <outputPath> [-n <name>] [-v <version>]
                       [--author <author>] [--description <text>]
                       [--repository-url <url>] [--repository-commit <sha>]
                       [--repository-branch <branch>] [--repository-type <type>]
                       [--release-notes <text>] [--project-url <url>]
```

Honors [global options](./global-options.md). Exit codes follow the [standard contract](./exit-codes.md).

## Arguments

- `<projectPath>` *(required)* — path to the Maestro project directory (must contain `project.uiproj`, a `.bpmn`, and the metadata files created by `init`).
- `<outputPath>` *(required)* — output directory where the `.nupkg` will be written.

## Options

| Option | Description |
|---|---|
| `-n, --name <name>` | Package name. Defaults to the project folder name. |
| `-v, --version <version>` | Package version. Defaults to `1.0.0`. |
| `--author <author>` | Package author. |
| `--description <text>` | Package description. |
| `--repository-url <url>` | Source repository URL, recorded in the package for traceability. |
| `--repository-commit <sha>` | Source repository commit hash, recorded for traceability. |
| `--repository-branch <branch>` | Source repository branch. |
| `--repository-type <type>` | Source repository type. Defaults to `git` when `--repository-url` is set. |
| `--release-notes <text>` | Release notes for the package. |
| `--project-url <url>` | Automation Hub idea URL. |

## Examples

```bash
# Pack with defaults
uip maestro bpmn pack ./invoice-orchestration ./dist

# Pack with an explicit version
uip maestro bpmn pack ./invoice-orchestration ./dist --version 1.2.0

# Pack with traceability metadata for CI provenance
uip maestro bpmn pack ./invoice-orchestration ./dist --version 1.2.0 \
  --repository-url https://github.com/acme/invoice-orchestration \
  --repository-commit "$GIT_SHA" --repository-branch main
```

## Data shape (--output json)

```json
{
  "Code": "MaestroPack",
  "Data": {
    "Package": "invoice-orchestration@1.2.0",
    "Output":  "./dist/invoice-orchestration.processOrchestration.ProcessOrchestration.1.2.0.nupkg"
  }
}
```

The generated `.nupkg` filename encodes `<name>.processOrchestration.ProcessOrchestration.<version>.nupkg`.

## See also

- [`uip maestro bpmn init`](./uip-maestro-bpmn-init.md) — scaffold the project first
- [`uip maestro bpmn debug`](./uip-maestro-bpmn-debug.md) — smoke-test before packing
- [`uip maestro bpmn validate`](./uip-maestro-bpmn-validate.md) — validate before packing
- [`uip maestro bpmn process publish`](./uip-maestro-bpmn-process.md#uip-maestro-bpmn-process-publish) — pack and publish to Orchestrator in one step
- [Maestro overview](./uip-maestro-bpmn.md)
