kranz_cli/lib.rs
1#![allow(rustdoc::private_intra_doc_links)]
2
3//! kranz CLI — clap surface, command implementations, and terminal rendering.
4//!
5//! The binary (`src/main.rs`) is a thin shim over this library so the
6//! integration tests can drive argument parsing, status rendering, control
7//! enqueueing and mission selection directly, without spawning processes
8//! (and without ever spawning a real `claude` binary).
9//!
10//! Module map:
11//! - [`cli`] — the clap derive types (`kranz <subcommand>`)
12//! - [`commands`] — one function per subcommand + shared helpers
13//! - [`config_cmd`] — `kranz config show|set|unset|role` (layered files +
14//! mid-mission role changes)
15//! - [`exec`] — `kranz exec -f mission.md`, fully headless missions for CI
16//! - [`hook_guard`] — `kranz hook-guard`, the Claude Code lifecycle-hook
17//! command the engine installs into worker sessions (internal plumbing)
18//! - [`hook_status`] — `kranz hook-status`, the cursor CLI lifecycle-hook
19//! signal relay (internal plumbing, observational only)
20//! - [`otel`] — event-log-to-span mapping for the `kranz otel` sidecar
21//! - [`output`] — pure rendering (status tree, plan review, cost estimate)
22//! - [`ready`] — repo-readiness scorecard for onboarding
23//! - [`tail`] — the live event printer used by `kranz run`
24//! - [`planning_tui`] — the full-screen interactive planning UI
25
26mod embedded_dashboard {
27 include!(concat!(env!("OUT_DIR"), "/embedded_dashboard.rs"));
28}
29
30pub mod amm;
31pub mod backlog;
32pub mod cli;
33pub mod commands;
34pub mod config_cmd;
35pub mod exec;
36pub mod hook_guard;
37pub mod hook_status;
38pub mod host_bridge;
39pub mod init;
40pub mod merged_costs;
41pub mod openspec;
42pub mod otel;
43pub mod output;
44pub mod planning_tui;
45pub mod ready;
46pub mod tail;
47pub mod ticket_notes;