From f7431afe2f0b424b6dcd0a76138607857563e008 Mon Sep 17 00:00:00 2001 From: Michelle Tilley Date: Thu, 12 Mar 2026 14:52:15 -0700 Subject: feat: Add `atuin setup` (#3257) --- crates/atuin-client/src/settings.rs | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) (limited to 'crates/atuin-client/src') diff --git a/crates/atuin-client/src/settings.rs b/crates/atuin-client/src/settings.rs index 62b3a098..2a96a2b3 100644 --- a/crates/atuin-client/src/settings.rs +++ b/crates/atuin-client/src/settings.rs @@ -594,6 +594,9 @@ pub struct Logs { #[derive(Default, Clone, Debug, Deserialize, Serialize)] pub struct Ai { + /// Whether or not the AI features are enabled. + pub enabled: bool, + /// The address of the Atuin AI endpoint. Used for AI features like command generation. /// Only necessary for custom AI endpoints. pub endpoint: Option, @@ -1433,6 +1436,8 @@ impl Settings { .set_default("search.frequency_score_multiplier", 1.0)? .set_default("search.frecency_score_multiplier", 1.0)? .set_default("meta.db_path", meta_path.to_str())? + .set_default("ai.enabled", false)? + .set_default("ai.send_cwd", false)? .set_default( "search.filters", vec![ @@ -1463,7 +1468,7 @@ impl Settings { )) } - pub fn new() -> Result { + pub fn get_config_path() -> Result { let config_dir = atuin_common::utils::config_dir(); create_dir_all(&config_dir) @@ -1479,6 +1484,12 @@ impl Settings { config_file.push("config.toml"); + Ok(config_file) + } + + pub fn new() -> Result { + let config_file = Self::get_config_path()?; + // extract data_dir first so we can use it as the base for other path defaults let effective_data_dir = if config_file.exists() { #[derive(Deserialize, Default)] -- cgit v1.3.1