# Help and discovery
`jan` uses **progressive help**: place `--help` or `-h` immediately after the subcommand prefix you want to inspect.
```bash
jan --help # live top-level subcommands + 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.
- Subcommands 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 subcommand 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.
## 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).