# atmos plugin catalog publish

Publish a catalog with revision and digest conflict checks.

> ⚠️ Experimental

## Usage

```shell
atmos plugin catalog publish <file> --to=<catalog>
```

## Arguments and flags

- **file**
  Catalog YAML document. Its revision must match the current remote revision, or zero for a new catalog.
- **--to**
  A 
  plugins.registries
   alias that configures a 
  catalog
  , or an

  oci://
   catalog reference. A bare reference such as 
  registry.example.com/team/catalog:stable

  is rejected with a hint listing the usable aliases, and an alias without a 
  catalog
   is an error.

## Publisher coordination

Run catalog mutations through one externally serialized maintainer workflow per catalog. The lock must cover reading the latest inputs, updating the snapshot, and publishing it. Revision and digest rechecks detect an already-stale update; they do not provide atomic compare-and-swap or prevent simultaneous writers from overwriting one another.

Plugin release jobs should publish artifacts independently. Use direct repository discovery when a collection does not need a curated catalog; see [plugin search](search.mdx).

## Examples

```shell
atmos plugin catalog publish catalog.yaml --to=oci://registry.example.com/team/catalog:stable
```
