# MD014 - Commands Show Output
This rule enforces that shell commands are followed by their output.
## Description
When documenting shell commands, it's helpful to show their output to provide context and demonstrate what to expect. This rule ensures that shell commands in code blocks are followed by their output.
## Configuration
- `show_output`: Whether to require output after shell commands (default: true)
## Examples
### Valid
```markdown
```
$ ls -l
total 8
drwxr-xr-x 2 user group 4096 Jan 1 12:00 dir1
drwxr-xr-x 2 user group 4096 Jan 1 12:00 dir2
```text
```
$ echo "Hello"
Hello
```text
```
### Invalid
```markdown
```
$ ls -l
```text
```
$ echo "Hello"
```text
```
### Fixed
```markdown
```
$ ls -l
total 8
drwxr-xr-x 2 user group 4096 Jan 1 12:00 dir1
drwxr-xr-x 2 user group 4096 Jan 1 12:00 dir2
```text
```
$ echo "Hello"
Hello
```text
```
### Special Cases
- Only applies to code blocks with shell commands (starting with `$` or `>`)
- Ignores code blocks without shell prompts
- Ignores code blocks with language specifiers other than `bash`, `sh`, `shell`, or `console`
- Allows empty output for commands that don't produce output (e.g., `cd`, `mkdir`)
## Related Rules
- MD031: Fenced code blocks should be surrounded by blank lines
- MD040: Fenced code blocks should have a language specified