# 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 %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.xygeni.io/xygeni-scanner-cli/xygeni-cli-overview.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
