# Help and discovery
`jan --help` uses **progressive help**: place `--help` or `-h` immediately after the command prefix you want to inspect.
```bash
jan --help # preferred-tree commands + built-ins
jan scripts --help # progressive help for a prefix
jan scripts misc sum help # many script leaves also expose a `help` action
```
## Rules
- `--help` must come **right after** the prefix being queried. `jan git r --help` is valid; `jan git r rev-parse --help` is not (jan treats trailing `--help` on exec leaves as an error).
- Leaf nodes with `exec` and no children print a short note that they run an external program.
- Commands forwarded to external tools (`passthrough: true`) receive their own `--help` when you pass it after `--`.
- A conventional `commands.help` leaf whose `exec` is `text:` / `cat:` is **inlined** into `--help` and omitted from the preferred-tree command list (same idea as `run` being the conventional exec child).
- Typed [`inputs`](../spec/inputs.md) and [`tests`](../spec/tests.md) are summarized in help when present.
- The **Commands from preferred tree (`jan use`)** section lists YAML-registered commands. They are not part of the jan binary; built-ins (`use`, `lab`, `cron`, …) are listed separately below that.
## Inspection built-ins
These do not execute leaves; they read the preferred tree (and, for `audit`, the SQLite DB):
```bash
jan list
jan list --category files --format names
jan search --keyword git
jan show sum
jan validate
jan validate --requires
```
See [list, search, show, validate](../cli/discovery.md).
To try a whole agent tree in isolation (second cron daemon + private `jan use`), see [`lab`](../cli/lab.md).