(cli:tools)=
# Tool Registry Service (TRS) subcommands

```{list-table} Tools subcommands
:header-rows: 1

* - Subcommand
  - Description
  - Argument
* - `delete-version`
  - Delete a TRS tool version based on the tool ID and tool version ID.
  - `tool-id STR`  
  Specify a TRS ID (required).  
  `version-id STR`  
  Specify a TRS version.
* - `execs`
  - Create a SeqsLab `execs.json` file.
  - `working-dir STR`  
  Specify the absolute working directory path hosting all WDL files (required). For example, /home/ubuntu/wdl/.  
  `inputs STR`  
  Specify the folder path of `inputs.json` in relation to the working directory (required). For example, inputs.json.  
  `main-wdl STR`  
  Specify the folder path of the main WDL file in relation to the working directory (required). For example, main.wdl.  
  `output STR`  
  Specify the output filename of execs.json in relation to the working directory (optional, default = execs.json).  
* - `file`
  - Register TRS file object.
  - `tool-id STR`  
  Specify the ID of a tool that you have already registered, where you plan to register the file in (required).  
  `version-id STR`  
  Specify the ID of a version that you have already registered, where you plan to register the file in (required).  
  `descriptor-type {WDL,CWL,NFL}`  
  Specify the descriptor type of a tool that you have already registered, where you plan to register the file in (required).  
  `working-dir STR`  
  Specify the path of the working directory (required).  
  `file-info STR`  
  Specify the file description used to register TRS. The default value is extracted from the workflow section of the `execs.json` file (optional).  
* - `get`
  - Get tool files using the SeqsLab API request `/trs/v2/tools/{id}/versions/ {version_id}/{type}/files/`.
  - `tool-id STR`  
  Specify a TRS ID.  
  `version-id STR`  
  Specify a TRS version.  
  `download-path STR`  
  Specify the file path for the tool ZIP file download (required).  
  `descriptor-type {WDL,CWL}`  
  Specify the TRS descriptor type (optional, default = WDL).
* - `images`
  - List image tags and details of given repositories in an SCR.
  - `scr-id STR`  
  Specify the SCR ID (required).
  `repositories str [str ...]`
  Specify the repository names you want to query (required).  
  `reload BOOLEAN`  
  Specify whether to force reload system cache for SCR (optional, default = False).
* - `list`
  - Display a list of existing tools.
  - `output {json,table}`  
  Specify the output format of the stdout file (optional, default = json).  
  `page`  
  Specify the page number in the set of paginated records (optional, default = 1).  
  `page-size`  
  Specify the number of records to return in each page (optional, default = 10).  
  `tool-id`  
  Specify the ID of each tool version (required).  
* - `tool`
  - Register a TRS tool object.
  - `name STR`  
  Specify the name of the tool that you want to register (required).  
  `has-checker`  
  Specify whether or not this tool has a checker tool associated with it (optional).  
  `checker-url CHECKER-URL`  
  Specify the URL of the checker tool that you want to register (optional).  
  `aliases ALIASES`  
  Specify the aliases of the tool that you want to register (optional).  
  `description STR`  
  Specify the description of the tool that you want to register (optional).  
  `toolclass-description STR`  
  Specify the type of tool that you want to register (optional).  
  `toolclass-name STR`  
  Specify the type of tool that you want to register (optional).  
  `id STR`  
  Specify a custom identifier for the tool (optional). The identifier must only contain alphanumeric characters, hyphen, and underline.
* - `version`
  - Register the TRS object version.
  - `workspace STR`  
  Specify the workspace based on the signed in account (required).  
  `tool-id STR`  
  Specify the ID of a tool that you have already registered where you plan to register the file in (required).  
  `id STR`  
  Specify the version of the tool that you want to register (required). For example, 0.1, 0.1.2, 1.0, 1.1, etc.  
  `descriptor-type {WDL,CWL,NFL}`  
  Specify the descriptor type of the tool that you want to register in this version (required).  
  `images STR`  
 Specify a JSON string describing a list of images that you want to register in this version (required).  
  `name STR`  
  Specify the name of the version that you want to register (optional).  
  `is-production`  
  Specify whether or not the version of the tool that you want to register is for production use (optional, default = false).  
  `signed`  
  Specify whether or not this version of the tool that you want to register is signed (optional, default = false). For example, Interactive mode: signed=True/False, CLI mode: given --signed or not given.  
  `included-apps INCLUDED-APPS`  
  Specify the apps to be included with the tool that you want to register in this version (optional). For example, CLI mode: --included-apps app1 app2 app3, ..., Interactive mode: included-apps=['app1', 'app2', ...].  
  `verified-source VERIFIED-SOURCE`  
  Specify the verified source of the tool that you want to register in this version (optional).  
  `verified`  
  Specify whether or not the version of the tool that you want to register is verified (optional, default = false). For example, CLI mode: verified=True/False, Interactive mode: --verified or no value specified.    
  `author AUTHOR`  
  Specify the author of the tool that you want to register in this version (optional).
```
