# atmos git list

List the repositories configured under [`git.repositories`](/cli/configuration/git) with their local clone state, URIs, providers, branches, and resolved workdirs. Built on the standard Atmos list rendering pipeline, with the same column, format, and filter behavior as other `atmos list` commands. Also available as `atmos list git-repositories`.

## Usage

```shell
atmos git list [flags]
```

With repositories configured in `atmos.yaml`:

```yaml
git:
  repositories:
    flux-deploy:
      uri: https://github.com/acme/flux-deploy.git
      branch: main

    generated-terraform:
      uri: https://github.com/acme/generated-terraform.git
```

```shell
atmos git list
atmos list git-repositories     # alias
```

## Examples

```shell
# List all configured repositories (default sort: name ascending).
# Default table output shows a green dot for clean clones, yellow for dirty
# clones, and gray for missing workdirs.
atmos git list

# Select columns
atmos git list --columns=name,uri,workdir

# Include status fields when using custom columns
atmos git list --check-status --columns=status,name,workdir

# Machine-readable output
atmos git list --format=json
atmos git list --format=csv --delimiter=";"

# Alias registered under atmos list
atmos list git-repositories --format=yaml
```

## Columns

- **`name`** — Logical repository name (the key under `git.repositories`).
- **`uri`** — Repository URI.
- **`provider`** — Resolved provider (`cli`).
- **`branch`** — Configured branch, or `(default)` when the remote default branch is used.
- **`workdir`** — Resolved workdir — the automatic XDG location or the explicit `workdir` override.
- **`status`** — Colored table indicator for local clone state: green dot for `cloned`, yellow dot for `dirty`, and gray dot for `missing`. In non-TTY output this resolves to the semantic status text.
- **`status_text`** — `cloned`, `missing`, or `dirty`. Used by machine-readable default output and custom columns that need status text.

Columns can also be customized in `atmos.yaml` under `git.list.columns` — see [Git Configuration](/cli/configuration/git#list-output).

## Flags

- **`--check-status` (optional)** — Probe each workdir on disk and populate status fields when using custom columns. Default table output already probes status to show the dot column. Probes run concurrently with a bounded worker pool.
- **`--columns` (optional)** — Comma-separated list of columns to display.
  Environment variable: `ATMOS_GIT_LIST_COLUMNS`
- **`--format` (optional)** — Output format: `table` (default), `json`, `yaml`, `csv`, or `tsv`.
  Environment variable: `ATMOS_GIT_LIST_FORMAT`
- **`--delimiter` (optional)** — Field delimiter for `csv`/`tsv` output.
- **`--filter` (optional)** — YQ expression to filter the listed repositories.
  Environment variable: `ATMOS_GIT_LIST_FILTER`

## Related

- [`atmos git status`](/cli/commands/git/status) — full porcelain status for one repository (shares the `--check-status` probe)
- [`atmos git clone`](/cli/commands/git/clone) — materialize a `missing` workdir
- [Git Configuration](/cli/configuration/git) — `git.repositories` and `git.list`
