<commit_before>---
currentMenu: definition
---
# Command definition

Commands are defined using a string expression.

The expression must start with the command name, optionally using `:` as a namespace separator, for example:

- `greet`
- `demo:greet`

## Arguments

A command can take arguments:

| Description                    | Example         |
|--------------------------------|-----------------|
| Required argument              | `greet name`    |
| Optional argument              | `greet [name]`  |
| Array argument with 0-n values | `greet [name]*` |
| Array argument with 1-n values | `greet name*`   |

## Options

A command can take options:

| Description                                     | Example                  |
|-------------------------------------------------|--------------------------|
| Simple flag (boolean value)                     | `greet [--yell]`         |
| Option with an mandatory value                  | `greet [--iterations=]`  |
| Option that can be used 0-n times (array value) | `greet [--iterations=]*` |
| Option with a shortcut                          | `greet [-y|--yell]`      |

Options are always optional (duh). If an option is required, then it should be an argument.

## Default values
<commit_msg>Update command-definition.md<commit_after>---
currentMenu: definition
---
# Command definition

Commands are defined using a string expression.

The expression must start with the command name, optionally using `:` as a namespace separator, for example:

- `greet`
- `demo:greet`

## Arguments

A command can take arguments:

| Description                    | Example         |
|--------------------------------|-----------------|
| Required argument              | `greet name`    |
| Optional argument              | `greet [name]`  |
| Array argument with 0-n values | `greet [name]*` |
| Array argument with 1-n values | `greet name*`   |

## Options

A command can take options:

| Description                                     | Example                  |
|-------------------------------------------------|--------------------------|
| Simple flag (boolean value)                     | `greet [--yell]`         |
| Option with an mandatory value                  | `greet [--iterations=]`  |
| Option that can be used 0-n times (array value) | `greet [--iterations=]*` |
| Option with a shortcut                          | `greet [-y\|--yell]`      |

Options are always optional (duh). If an option is required, then it should be an argument.

## Default values

{'fraction_non_alphanumeric': 0.19723320158102767, 'fraction_numerical': 0.0023715415019762848, 'mean_word_length': 1.508424182358771, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 2, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1329805', 'n_tokens_mistral': 644, 'n_tokens_neox': 615, 'n_words': 233}