# adnv
**adnv** is a CLI tool for managing infrastructure dependencies across multiple ecosystems. It tracks, checks, and auto-updates versions in Terraform, Helm, Docker, Git, and npm configurations.
## What adnv does
```mermaid
graph LR
A[Your IaC Files] --> B[adnv]
B --> C[Scan Dependencies]
B --> D[Check for Updates]
B --> E[Auto-Update Versions]
B --> F[Run Workflows]
B --> G[Notify Teams]
C --> H[Terraform]
C --> I[Helm]
D --> J[Docker Registries]
D --> K[Git Repos]
D --> L[npm / Terraform Registry]
G --> M[Mattermost]
G --> N[Matrix/Element]
G --> O[Email]
```
## Core Commands
| `adnv outdated` | Scan current directory for outdated dependencies |
| `adnv update` | Auto-update outdated dependency versions in-place |
| `adnv check` | Monitor package repositories for new releases |
| `adnv run` | Execute multi-step automation workflows |
## Quick Start
```shell
# Install
cargo install --git https://gitlab.com/adnap/tools/adnv.git --tag v1.5.0 -F cli
# Scan for outdated dependencies
adnv outdated
# Auto-update them
adnv update
# Run a workflow
adnv -c adnv.yml run
```
## Documentation Structure
This documentation follows the [Diataxis](https://diataxis.fr/) framework:
- **[Tutorials](./tutorials/getting-started.md)** - Learning-oriented: step-by-step lessons
- **[How-To Guides](./how-to/installation.md)** - Task-oriented: solve specific problems
- **[Reference](./reference/cli.md)** - Information-oriented: technical descriptions
- **[Explanation](./explanation/architecture.md)** - Understanding-oriented: background and context