homeboy 0.17.0

CLI for multi-component deployment and development workflow automation
Documentation
# `homeboy docs`

## Synopsis

```sh
homeboy docs [OPTIONS] [TOPIC]...
```

> Note: `--list` is a flag and must appear before topic arguments. Because topics are parsed as trailing args, putting `--list` after a topic will be treated as part of the topic and likely result in a missing-docs-key error.

## Description

This command renders documentation topics from two sources:

1) Embedded core docs in the CLI binary
2) Installed module docs under `<config dir>/homeboy/modules/<moduleId>/docs/`

Topic arguments are treated as a free-form trailing list.

Note: the CLI strips a stray `--format <...>` pair from the trailing topic args before resolving the topic. `homeboy docs` does not define a `--format` option; this is defensive parsing to avoid global flags being interpreted as part of the topic.

Topic resolution is documented in: [Embedded docs topic resolution](../embedded-docs/embedded-docs-topic-resolution.md).

## Arguments

- `[TOPIC]...` (optional): documentation topic. This resolves to an embedded docs key (path under `docs/` without `.md`). Examples: `commands/deploy`, `commands/project`, `index`.

## Options

- `--list`: list available topics and exit

## Output

### Default (render topic)

`homeboy docs` prints the resolved markdown content to stdout.

### `--list`

When `--list` is used, output is JSON.

> Note: all JSON output is wrapped in the global JSON envelope described in the [JSON output contract]../json-output/json-output-contract.md. The object below is the top-level `data` value.

```json
{
  "mode": "list",
  "available_topics": ["index", "commands/deploy"]
}
```

### JSON content mode

`homeboy docs` supports two output shapes:

- Without `--list`: prints raw markdown by default.
- With JSON output enabled:
  - `--list` returns JSON.
  - Without `--list`, the command returns a JSON payload that includes the resolved markdown content.

If you need *only* raw markdown, avoid JSON mode for `homeboy docs`.

## Errors

If the topic does not exist in embedded core docs or installed module docs, the command fails with a missing-key style error:

- `config_missing_key("docs.<topic>")`

## Related

- [Changelog command]changelog.md
- [JSON output contract]../json-output/json-output-contract.md