rtb-app 0.7.1

Application context, tool metadata, runtime features, and the Command plugin trait. Part of the phpboyscout Rust toolkit.
Documentation

rtb-app

Part of the phpboyscout Rust toolkit — small, framework-free crates extracted from rust-tool-base.

A two-crate family workspace sharing one version line:

  • rtb-app — the application context (App), tool metadata, runtime features, and the Command plugin trait with its BUILTIN_COMMANDS link-time registry. The structural heart of the framework: typed Arc-wrapped fields, no DI container, no Box<dyn Any> bag.
  • rtb-test-support — the promoted test-side App constructor (TestAppBuilder behind a sealed TestWitness), consumed from [dev-dependencies] by downstream crates.
use rtb_app::{Feature, Features};

let features = Features::builder().disable(Feature::Init).build();
assert!(!features.is_enabled(Feature::Init));
assert!(features.is_enabled(Feature::Version));

Development

just ci runs the full local gate (fmt, clippy, nextest, doc, deny). Tests include a cucumber BDD suite (crates/rtb-app/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