# collections items add

## Synopsis

```shell
omics publisher collections items add
  --collection=COLLECTION_ID
  --datasource=DATASOURCE_ID
  --files=FILE|@FILE|STDIN
```

## Description

Add files to a collection. Files can be specified as a comma-separated list, loaded from a file, or piped via stdin. After adding files, the collection will begin validation to ensure all items are accessible.

## Examples

Add files using a comma-separated list.

```shell
omics publisher collections items add \
  --collection my-collection \
  --datasource my-bucket \
  --files 'gs://bucket/file1.vcf,gs://bucket/file2.vcf'
```

Load files from a text file.

```shell
omics publisher collections items add \
  --collection my-collection \
  --datasource my-bucket \
  --files @files.txt
```

Pipe files from stdin.

```shell
cat files.txt | omics publisher collections items add \
  --collection my-collection \
  --datasource my-bucket \
  --files -
```

## Flags

### `--collection`=`COLLECTION_ID`

The ID or slug name of the collection to add files to.

### `--datasource`=`DATASOURCE_ID`

The ID or name of the data source where the files or folders reside, such as a bucket or storage location.

### `--files`=`FILE|@FILE|STDIN`

Specifies the files to be added. Accepts:

* A comma-separated list of file URLs (e.g., `'file1.vcf,file2.vcf'`)
* A file path prefixed with `@` (e.g., `@files.txt`)
* Files piped via stdin (use `-` as the value)

Files can also be separated by newlines when loaded from a file or stdin.
