#![forbid(unsafe_code)]
#![allow(clippy::module_name_repetitions)]
pub mod cache;
pub mod cli;
pub mod close_policy;
pub mod config;
pub mod coordination;
pub mod error;
pub mod format;
pub mod health;
pub mod inheritance;
pub mod logging;
pub mod model;
pub mod output;
pub mod policy;
pub mod shutdown;
pub mod storage;
pub mod sync;
pub mod util;
pub mod validation;
pub mod write_combining;
#[cfg(feature = "mcp")]
pub mod mcp;
pub use error::{BeadsError, ErrorCode, Result, StructuredError};
#[allow(clippy::missing_const_for_fn)] pub fn run() -> Result<()> {
Ok(())
}
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn run_returns_ok() {
assert!(run().is_ok());
}
#[test]
fn structured_error_exit_code_matches_issue_errors() {
let err = BeadsError::IssueNotFound {
id: "bd-xyz".to_string(),
};
let structured = StructuredError::from_error(&err);
assert_eq!(structured.code, ErrorCode::IssueNotFound);
assert_eq!(structured.code.exit_code(), 3);
}
#[cfg(feature = "self_update")]
#[test]
fn upgrade_module_is_available_when_feature_enabled() {
let _ = crate::cli::commands::upgrade::execute;
}
}