# Getting Started
This tutorial walks you through installing adnv and running your first dependency scan on a Terraform project.
## Prerequisites
- Rust toolchain (1.96+) with Cargo
- A directory containing Terraform (`.tf`) or Helm (`Chart.yaml`) files
## Step 1: Install adnv
```shell
cargo install --git https://gitlab.com/adnap/tools/adnv.git --tag v1.5.0 -F cli
```
Verify the installation:
```shell
adnv --version
```
You should see output like:
```
adnv 1.4.1 (v1.4.1 release x86_64-unknown-linux-gnu)
```
## Step 2: Navigate to your project
Go to a directory that contains Terraform files:
```shell
cd ~/my-terraform-project
```
## Step 3: Scan for outdated dependencies
```shell
adnv outdated
```
adnv scans all `.tf` files in the current directory, extracts module and provider sources, queries their registries, and displays a table:
```
Terraform modules
┌─────────────────────────────┬─────────┬────────┬────────┬──────────────┐
│ Source │ Current │ Wanted │ Latest │ Location │
├─────────────────────────────┼─────────┼────────┼────────┼──────────────┤
│ gitlab.com/org/my-module │ 1.0.0 │ 1.2.3 │ 1.2.3 │ main.tf:5:3 │
└─────────────────────────────┴─────────┴────────┴────────┴──────────────┘
```
## Step 4: Scan recursively
To include subdirectories:
```shell
adnv outdated --recursive
```
To also scan hidden directories:
```shell
adnv outdated --recursive --hidden
```
## Step 5: Auto-update
Once you've reviewed the outdated dependencies, update them in-place:
```shell
adnv update
```
adnv modifies the `.tf` and `Chart.yaml` files directly, updating fixed version strings to their latest available version.
## What's next?
- [Your First Workflow](./first-workflow.md) - Automate source fetching and templating
- [Configure Notifications](../how-to/notifications.md) - Get alerted about new releases
- [Use Inline Hints](../how-to/inline-hints.md) - Track inner dependencies in Terraform modules