# publish

## Usage

```bash
bdy artifact composer publish|pub [options] <identifier> <directory>
```

## Arguments

| **Argument** | **Description** |
| :--- | :--- |
| `identifier` | Human-readable ID of the artifact and optionally version: artifact:version or artifact@version (optional) |
| `directory` | Path to the directory with composer.json (required) |

## Options

| **Option** | **Description** |
| :--- | :--- |
| `--context <name>` | Connection and scope context: default, git, link or a saved name. Overrides the globally active context for this invocation. |
| `--examples` | Show only examples; with this flag --format accepts text, json or jsonl |
| `--verbose` | Show REST API requests, responses, timing and retries on stderr |
| `-w, --workspace <domain>` | Workspace URL handle. Can be set via variable: BUDDY_WORKSPACE |
| `--scope <scope>` | Force scope (WORKSPACE, PROJECT). By default calculated by provided options and environmental variables (--project, BUDDY_PROJECT, linked project) |
| `-p, --project <name>` | Project name. Can be set via variable: BUDDY_PROJECT |
| `-c, --create` | Create artifact if not exists |
| `--note <note>` | Note of the artifact version |
| `--agent-note <note>` | Note of the artifact version for AI agents; stored as agent_note and meant to be read before acting on the resource |
| `--ignore <patterns>` | Comma-separated paths or globs left out of the package (.git is always left out) |
| `--format <text|json>` | Output format: json, text. JSON CLI errors: {error:{code,message,hint}}, exit 1. Default: text (choices: "text", "json") |
| `-h, --help` | display help for command |

## Examples

### Publish new version of composer artifact

```bash
bdy art composer pub artifact-identifier:version /path/to/dir
```

### Publish version from composer.json

```bash
bdy art cmp pub artifact-identifier /path/to/dir
```

### Create new composer artifact

```bash
bdy art cmp pub artifact-identifier --create /path/to/dir
```

### Publish without test files

```bash
bdy art cmp pub artifact-identifier /path/to/dir --ignore "tests,**/*.log"
```


---
Original source: https://buddy.works/docs/cli/artifact/composer/publish