# Auto-Update Dependencies
adnv can modify your Terraform and Helm files in-place to update dependency versions.
## Basic usage
```shell
adnv update
```
This scans the current directory, identifies outdated dependencies, and updates version strings directly in the files.
## Recursive scan
```shell
adnv update --recursive
```
## What gets updated
- **Terraform modules**: `version` attribute in `module` blocks
- **Terraform providers**: `version` in `required_providers`
- **Helm charts**: `version` in `Chart.yaml` dependencies
- **Inline hints**: Values on lines following `# @adnv source` comments
## What does NOT get updated
- **Version ranges** (e.g., `~> 2.0`, `>= 1.0, < 3.0`) are skipped -- only fixed versions are updated
- **Git-sourced modules** (`git::https://...`) are skipped
- **Relative paths** (`./modules/...`, `../shared/...`) are skipped
## Workflow
A safe update workflow:
```shell
# 1. Review what's outdated
adnv outdated --recursive
# 2. Create a branch
git checkout -b chore/update-deps
# 3. Apply updates
adnv update --recursive
# 4. Review changes
git diff
# 5. Commit
git add -A && git commit -m "chore: update dependencies"
```
## CI/CD automation
```yaml
update-deps:
script:
- adnv update --recursive
- git diff --exit-code || (git add -A && git commit -m "chore: update deps" && git push)
rules:
- if: $CI_PIPELINE_SOURCE == "schedule"
```