# atmos vendor config set

Set a raw value in `vendor.yaml` using an arbitrary dot-notation path. Values default
to strings; use `--type` for int, bool, float, null, or raw YAML literals. This is the
canonical form. [`atmos vendor set <component> <version>`](/cli/commands/vendor/vendor-set)
is a convenience alias that resolves a component name to its `spec.sources[N].version`
path and calls this same engine — use `atmos vendor config set` directly for paths
other than a component's pinned version.

## Usage

```shell
atmos vendor config set <path> <value> [--type <type>] [--file <manifest>]
```

## Examples

```shell
atmos vendor config set spec.sources[0].version v1.2.3
atmos vendor config set --type=yaml 'spec.sources[0].tags' '["a", "b"]'
```

## Arguments

- **`<path>` (required)** — Dot-notation path into the vendor manifest (e.g. `spec.sources[0].version`).
- **`<value>` (required)** — The value to set, interpreted according to `--type`.

## Flags

- **`--type` (string, default `string`)** — How to interpret `<value>`: `string`, `int`, `bool`, `float`, `null`, or `yaml` (raw literal). `auto` is
  recognized but rejected — unlike `config set`/`stack set`, vendor manifests have no schema or
  existing-value signal for auto-inference to draw on, so `--type` must be given explicitly (or omitted, which
  defaults to `string`).
- **`--file` (string, default `./vendor.yaml`)** — The vendor manifest file to edit.

## Related

- Alias (by component name): [`atmos vendor set`](/cli/commands/vendor/vendor-set)

## Try it out

### demo-vendoring

Copy the example into a new directory and make it your own:

```shell
atmos init examples/demo-vendoring
cd demo-vendoring
```

Update the description in your local vendor manifest, then read it back. No downloads or cloud credentials are needed.

```shell
atmos vendor config set metadata.description "My vendoring demo"
atmos vendor config get metadata.description
```

- [Installation guide](/install)
- [Explore the example](/examples/demo-vendoring)
- [Initialization and repository settings](/cli/commands/init#examples-and-source-directories)
