rust-tool-base 0.8.2

Rust Tool Base — the batteries-included CLI application framework. Umbrella crate re-exporting the full public API.
[package]
# Published as `rust-tool-base` — the bare `rtb` name is taken on
# crates.io by an unrelated tool. Downstreams import it as `rtb` via a
# `package = "rust-tool-base"` dependency rename (see examples/minimal);
# the `[lib] name = "rtb"` below keeps the crate's own targets + doctests
# referring to it as `rtb`. The `rtb` CLI binary (rtb-cli-bin) and all
# `rtb-*` library crates are unaffected.
name = "rust-tool-base"
description = "Rust Tool Base — the batteries-included CLI application framework. Umbrella crate re-exporting the full public API."
version.workspace = true
edition.workspace = true
rust-version.workspace = true
license.workspace = true
authors.workspace = true
repository.workspace = true
homepage.workspace = true
documentation.workspace = true
readme.workspace = true
categories.workspace = true
keywords.workspace = true

[lib]
name = "rtb"

[lints]
workspace = true

[features]
default = ["cli", "update", "docs", "mcp", "credentials", "tui"]
cli = ["dep:rtb-cli"]
update = ["dep:rtb-update"]
docs = ["dep:rtb-docs"]
mcp = ["dep:rtb-mcp"]
# Renamed from `ai` at the Wave-4 extraction (rtb-ai → rtb-chat, spec
# 2026-07-23-multi-repo-decomposition D4). rtb-docs's internal feature
# keeps its `ai` name.
chat = ["dep:rtb-chat", "rtb-docs?/ai"]
credentials = ["dep:rtb-credentials"]
# Opt-in reboot-persistent Linux keychain via freedesktop Secret Service.
# Requires libdbus-1-dev + pkg-config on the build host. Off by default
# to keep the build hermetic on Linux.
credentials-linux-persistent = ["credentials", "rtb-credentials/linux-persistent"]
tui = ["dep:rtb-tui"]
telemetry = ["dep:rtb-telemetry"]
# Renamed from `vcs` at the Wave-4 extraction (rtb-vcs → rtb-forge, spec
# 2026-07-23-multi-repo-decomposition D4).
forge = ["dep:rtb-forge"]
full = ["cli", "update", "docs", "mcp", "chat", "credentials", "tui", "telemetry", "forge"]

[dependencies]
rtb-app = { version = "0.8.0" }
rtb-error = { version = "0.6.0" }
rtb-config = { version = "0.6.0" }
rtb-assets = { version = "0.6.0" }
rtb-cli = { version = "0.8.0", optional = true }
rtb-update = { version = "0.8.0", optional = true }
rtb-docs = { version = "0.8.0", optional = true }
rtb-mcp = { version = "0.8.0", optional = true }
rtb-chat = { version = "0.7.0", optional = true }
rtb-credentials = { version = "0.6.0", optional = true }
rtb-tui = { version = "0.6.1", optional = true }
rtb-telemetry = { version = "0.7.0", optional = true }
rtb-forge = { version = "0.7.0", optional = true }