use std::process::ExitCode;
use crate::cli::DirectHookArgs;
use crate::error::RippyError;
use super::json_settings::{install_matcher_hook, resolve_tool_path};
pub fn run(args: &DirectHookArgs) -> Result<ExitCode, RippyError> {
let path = resolve_tool_path(args.global, ".claude", "settings.json")?;
install_matcher_hook(&path, "PreToolUse", "Bash|Read|Write|Edit", "Claude Code")?;
let cwd = std::env::current_dir().unwrap_or_default();
if let Ok(config) = crate::config::Config::load(&cwd, None)
&& config.active_package.is_none()
{
eprintln!(
"\nTip: Set a safety package for a better experience:\n \
rippy profile set develop\n\n \
Run `rippy profile list` to see all options."
);
}
Ok(ExitCode::SUCCESS)
}