> ## Documentation Index
> Fetch the complete documentation index at: https://docs.fau.fpt.icu/llms.txt
> Use this file to discover all available pages before exploring further.

# CLI Overview

> Complete reference for all fp-appimage-updater commands and global flags.

Invoke `fp-appimage-updater` with an optional set of global flags followed by a subcommand:

```bash theme={null}
fp-appimage-updater [OPTIONS] <COMMAND>
```

## Global flags

These flags apply to every command and must be placed before the subcommand.

<ParamField query="-c, --config <PATH>" type="string">
  Override the default configuration directory. Use this to point to a custom
  config location instead of `~/.config/fp-appimage-updater/`.
</ParamField>

<ParamField query="--json" type="boolean">
  Emit machine-readable JSON output instead of human-readable tables and status
  lines. Works with `init`, `validate`, `doctor`, `list`, `check`, `update`,
  and `remove`.
</ParamField>

<ParamField query="-h, --help" type="boolean">
  Print help information and exit.
</ParamField>

<ParamField query="-V, --version" type="boolean">
  Print the current version and exit.
</ParamField>

## Command Groups

### Setup & Diagnostics

These commands help you get started and ensure your local environment is correctly configured.

| Command                                  | Description                            |
| ---------------------------------------- | -------------------------------------- |
| [`init`](/cli/init)                      | Initialize starter configuration files |
| [`validate`](/cli/check-update#validate) | Validate application recipe files      |
| [`doctor`](/cli/check-update#doctor)     | Run health checks for local setup      |

### App Management

The core commands for keeping your AppImages up to date and managing their installation state.

| Command                              | Description                               |
| ------------------------------------ | ----------------------------------------- |
| [`check`](/cli/check-update#check)   | Check for available updates               |
| [`update`](/cli/check-update#update) | Update apps to their latest versions      |
| [`list`](/cli/manage#list)           | List all configured apps and their status |
| [`remove`](/cli/manage#remove)       | Remove an app and its integrations        |

### System Utilities

Commands for maintaining the updater itself and improving your terminal experience.

| Command                                  | Description                       |
| ---------------------------------------- | --------------------------------- |
| [`self-update`](/cli/manage#self-update) | Update fp-appimage-updater itself |
| [`completion`](/cli/manage#completion)   | Generate shell completion scripts |

<Note>
  Pass `--json` before any of the following commands to get structured JSON
  output: `init`, `validate`, `doctor`, `list`, `check`, `update`, `remove`.
</Note>

## Examples

<CodeGroup>
  ```bash JSON Output theme={null}
  # List all apps in JSON format
  fp-appimage-updater --json list
  ```

  ```bash Custom Config theme={null}
  # Check for updates using a custom configuration directory
  fp-appimage-updater -c ~/my-config check
  ```

  ```bash JSON and jq theme={null}
  # Update a single app and extract its download URL from JSON
  fp-appimage-updater --json update whatpulse | jq '.[0].download_url'
  ```
</CodeGroup>
