- Prev
- AppStream
- Next

## ⁠2.3. Console Applications

### ⁠2.3.1. Introduction

A console application is any application that has a command-line or text-based interface and is designed to be used by a human user on the command line. Applications need to be present in the standard `PATH`.
The file described in this document is built upon the generic component metadata with fields specific for applications (see Section 2.1, “Generic Component”). All tags valid for a generic component are valid for a `console-application` component as well.
In order to enhance the available metadata about their application, projects shipping a console application can ship one or more metainfo files in `/usr/share/metainfo/%{id}.metainfo.xml`.

### ⁠2.3.2. File specification

The basic structure for a generic component as described at Section 2.1.3, “XML Specification” applies. Note that the XML root must have the `type` property set to `console-application`, while in a generic component this property can be omitted. This clearly identified this metainfo document as describing an application.
The following list describes tags for `console-application` upstream metadata and provides some additional information about the values the tags are expected to have. If no information is given about a tag, refer to the respective tag in Section 2.1, “Generic Component”.

⁠<id/>
  For console applications, the `<id/>` tag value must follow the AppStream ID naming conventions (it should be a reverse-DNS name).
<metadata_license/>
  The `<metadata_license/>` tag as described in <metadata_license/> must be present.
<name/>
  A `name` must be present for console applications. See <name/> for a detailed description of this tag.
<summary/>
  A `summary` must be present for console applications. See <summary/> for a detailed description of this tag.
⁠<provides/> ↪ <binary/>
  This tag is described in detail for generic components at <provides/>.
  For console applications, at least one provided `<binary/>` must be listed in this tag.

For a component of type `console-application`, the following tags are required and must always be present: <id/>, <metadata_license/>, <name/>, <summary/>, <provides/> ↪ <binary/>.

- Prev2.2. Desktop Applications
- Up
- Home
- Next2.4. Web Applications