From b00t
Designs Rust trait-based library for b00t process lifecycle management (init/operate/terminate/maintain) of MCP servers/daemons/sidecars with governance and autoresearch via cargo test iteration.
How this skill is triggered — by the user, by Claude, or both
Slash command
/b00t:b00t-interface-libraryThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
The b00t interface library (`crates/b00t-iface/`) is the Rust analog of
The b00t interface library (crates/b00t-iface/) is the Rust analog of
train.py in karpathy/autoresearch. It is the single file the agent modifies
and improves. The "research loop" is:
program.md (this skill) ──→ agent
↓ iterates on
b00t-iface/src/lib.rs (single-file interface library)
↓ tested by
cargo test -p b00t-iface (5-minute eval budget)
↓ keep/discard based on
test results + coverage + lint pass
ProcessSurfaceThe library provides one primary trait and one lifecycle manager:
/// A process surface is any executable that can be started, checked,
/// and stopped by the b00t hive. Examples: MCP servers, sidecars,
/// daemons, one-shot scripts.
pub trait ProcessSurface {
type Config: Deserialize;
type Error: std::error::Error;
type Handle;
/// Declare what this surface needs before it can run.
fn requirements(&self) -> Vec<Requirement>;
/// Init: validate config, resolve dependencies, acquire resources.
fn init(&mut self, config: Self::Config) -> Result<(), Self::Error>;
/// Operate: start the process, return a handle for lifecycle control.
fn operate(&self) -> Result<Self::Handle, Self::Error>;
/// Terminate: graceful shutdown, resource release, audit record.
fn terminate(handle: Self::Handle) -> Result<AuditRecord, Self::Error>;
/// Lifecycle maintenance: health check, restart policy, log rotation.
fn maintain(&self) -> MaintenanceAction;
}
Each surface declares a GovernancePolicy:
pub struct GovernancePolicy {
/// Which agents/roles are allowed to start this surface.
pub allowed_starters: Vec<AgentRole>,
/// Maximum runtime before forced re-evaluation.
pub max_ttl: Duration,
/// Whether this surface can be restarted automatically.
pub auto_restart: bool,
/// Crash threshold before surface is quarantined.
pub crash_budget: u32,
}
The agent follows this loop autonomously:
crates/b00t-iface/src/lib.rslib.rs — add a new surface impl, improve governance, fix invariantcargo test -p b00t-iface 2>&1 | tail -20 (the 5-minute eval)git checkout -- crates/b00t-iface/EXPERIMENTS.mdThe first surface to implement: the datum file watcher — a daemon that
watches _b00t_/datums/ for changes and re-validates the invariant schema.
This proves the init → operate → terminate → maintain cycle with a real b00t
resource.
The library decomposes into:
| Module | Purpose | Status |
|---|---|---|
surface | ProcessSurface trait + LifecycleManager | Design |
governance | GovernancePolicy, agent roles, crash budget | Design |
datum_watcher | Datum file watcher surface | First target |
audit | AuditRecord type for termination events | Design |
npx claudepluginhub elasticdotventures/_b00t_ --plugin skill-document-understandingDetects code duplication and reinvented wheels, recommends existing Python/Rust libraries via PyPI/crates.io, PyO3 bindings, and upstream contributions over forks.
Guides building Rust services and systems tooling with modern async, advanced type system features, and production-ready performance optimization.
Provides expert guidance on Rust 1.75+ for building services, libraries, systems tooling with async patterns (Tokio/axum), advanced types, ownership, lifetimes, and performance optimization.