# Xygeni CLI Overview

Xygeni provides a command-line interface (CLI) for running the [**scanner**](https://docs.xygeni.io/xygeni-scanner-cli/xygeni-scanners). The scanner can either run analysis commands separately, like detecting hardcoded secrets or misconfigurations, or run all the analyses at once. See [Available Scanners](https://docs.xygeni.io/xygeni-scanner-cli/xygeni-scanners) for a complete list.

The [**scanner**](https://docs.xygeni.io/xygeni-scanner-cli/xygeni-cli-overview) is java program (see [Prerequisites ](https://docs.xygeni.io/xygeni-scanner-cli/xygeni-cli-overview/xygeni-cli-prerequisites)and [Installation](https://docs.xygeni.io/xygeni-scanner-cli/broken-reference)) that can be triggered directly from [**command line**](https://docs.xygeni.io/xygeni-scanner-cli/xygeni-cli-overview/xygeni-cli-operation-modes), from any [**batch program**](https://docs.xygeni.io/xygeni-scanner-cli/xygeni-cli-overview/xygeni-cli-operation-modes), (Unix shell script, Windows batch, PowerShell script, etc.), from [**git hooks**](https://docs.xygeni.io/xygeni-administration/platform-administration/integrations/git-hooks-with-xygeni) (pre-commit, pre-receive) or embedded into  [**CI/CD pipelines**](https://docs.xygeni.io/xygeni-administration/platform-administration/integrations/integrate-scanner-cli-into-ci-cd-systems).&#x20;

The scanner can be launched to scan a [**file folder**](https://docs.xygeni.io/xygeni-scanner-cli/xygeni-cli-overview/xygeni-cli-operation-modes/single-scan), a [**container image**](https://docs.xygeni.io/xygeni-scanner-cli/xygeni-cli-overview/xygeni-cli-operation-modes/single-scan), a [**repo**](https://docs.xygeni.io/xygeni-scanner-cli/xygeni-cli-overview/xygeni-cli-operation-modes/single-scan) or group or repos and even a whole [**SCM organization**](https://docs.xygeni.io/xygeni-scanner-cli/xygeni-cli-overview/xygeni-cli-operation-modes/organization-scan).

Scanner findings can be inspected/consumed in the [***Xygeni Web UI***](https://docs.xygeni.io/introduction-to-xygeni/xygeni-web-ui-overview), downloaded via Xygeni [**REST-API**](https://docs.xygeni.io/xygeni-administration/rest-api), [**exported**](https://docs.xygeni.io/xygeni-scanner-cli/xygeni-cli-overview/xygeni-cli-output-formats) in different formats (*csv, json*, etc) and also can be notified by creating [***tickets***](https://docs.xygeni.io/xygeni-administration/platform-administration/integrations/ticketing-systems) (Jira, GitHub) or opening team [***messages***](https://docs.xygeni.io/xygeni-administration/platform-administration/integrations/collaboration-and-communication-tools) (Slack)&#x20;

<figure><img src="https://4096647782-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUTz59rJLkJBjiRWAMknU%2Fuploads%2FuJUsUcJKsARkLOsCkBs4%2Fimage.png?alt=media&#x26;token=aa8c7f9f-344d-4ac7-8b0f-1065f03a103d" alt=""><figcaption></figcaption></figure>

## Xygeni Scanner Command-Line Interface (CLI)

The `xygeni` command-line interface (CLI) is a tool for running scans on software projects, aimed at detecting issues related with the software supply-chain security.

The CLI provides different commands for specific purposes, and is the main tool for integrating Xygeni into DevOps platforms, like source versioning, build, CI/CD and cloud provisioning tools.

`xygeni` is a general-purpose command that allows you to interact with all the different functionalities.

Basically, it allows to:

* authenticate against Xygeni platform (see [Xygeni CLI authentication](https://docs.xygeni.io/xygeni-scanner-cli/xygeni-cli-overview/xygeni-cli-authentication) )
* specify the general mode of operation \[ `scan` | `multi-scan` | `org-scan` ] (see [Xygeni CLI mode of operation](https://docs.xygeni.io/xygeni-scanner-cli/xygeni-cli-overview/xygeni-cli-operation-modes) )
* execute any specific scanners \[ `inventory` | `deps` | `malware` | ... ]  See&#x20;
* ingest data from 3rd-pàrty scanners \[ `report-upload` ]  (see [Uploading reports from 3rd party tools](https://docs.xygeni.io/xygeni-products/application-security-posture-management-aspm/importing-reports-from-3rd-party-tools) )
* invoke utility functions \[ `util` ] (see [CLI utils](https://docs.xygeni.io/xygeni-scanner-cli/xygeni-cli-overview/cli-utils) )

{% hint style="info" %}
See [Xygeni Scanner Reference](https://docs.xygeni.io/xygeni-scanner-cli/xygeni-cli-overview/xygeni-scanner-reference) for a full reference of available commands.

To see the ***help*** you can type&#x20;

```bash
xygeni [command] --help
```

{% endhint %}
