rtb-cli 0.7.1

CLI application scaffolding, clap integration, and built-in commands. Part of the phpboyscout Rust toolkit.
Documentation
# rtb-cli

> Part of the [phpboyscout Rust toolkit]https://rust.phpboyscout.uk> small, framework-free crates extracted from
> [rust-tool-base]https://gitlab.com/phpboyscout/rust-tool-base.

The CLI runtime family: a four-crate workspace sharing one version
line. `rtb-cli` builds the application; the other three each register
a built-in command into the same link-time registry:

- **`rtb-cli`** — the entry-point crate every downstream tool's
  `main()` touches: `Application::builder` typestate, clap
  integration of `BUILTIN_COMMANDS`, tracing + miette wiring, signal
  binding, and the built-in command suite (`version`, `doctor`,
  `init`, `config`, `credentials`, `telemetry`).
- **`rtb-docs`** — interactive docs browser (`ratatui` two-pane TUI),
  loopback `docs serve` HTML server, `tantivy` full-text search, and
  a streaming AI Q&A seam (`ai` feature → `rtb-chat`).
- **`rtb-update`** — signature-verified self-update: select,
  download, verify (Ed25519 + SHA-256), atomically swap, roll back.
  Composes on `rtb-forge`.
- **`rtb-mcp`** — Model Context Protocol server (via the official
  `rmcp` SDK) exposing `mcp_exposed` commands as MCP tools.

```rust
use rtb_cli::prelude::*;

#[tokio::main]
async fn main() -> miette::Result<()> {
    Application::builder()
        .metadata(ToolMetadata::builder().name("mytool").summary("a tool").build())
        .version(VersionInfo::from_env())
        .build()?
        .run()
        .await
}
```

- **Docs:** <https://cli.rust.phpboyscout.uk>
- **API reference:** <https://docs.rs/rtb-cli> ·
  <https://docs.rs/rtb-docs> · <https://docs.rs/rtb-update> ·
  <https://docs.rs/rtb-mcp>
- **Crates:** <https://crates.io/crates/rtb-cli> ·
  <https://crates.io/crates/rtb-docs> ·
  <https://crates.io/crates/rtb-update> ·
  <https://crates.io/crates/rtb-mcp>

## Development

`just ci` runs the full local gate (fmt, clippy, nextest, doc, deny),
including `--all-features` clippy + test passes that exercise
rtb-docs' `ai` feature. Tests include a cucumber BDD suite
(`crates/rtb-cli/tests/bdd.rs`) and trybuild compile-fail fixtures
(run isolated — see `.config/nextest.toml`; nextest is required).
Releases are cut by release-plz from Conventional Commits — do not
tag manually.

## License

MIT