From 16c566a795b7b6e91ecd68752fc0ec606936646e Mon Sep 17 00:00:00 2001 From: Sumit Datta Date: Thu, 22 Jan 2026 14:36:20 +0530 Subject: [PATCH 1/2] Use OS-specific config and data directories for nocodo-api Replace hardcoded paths with platform-appropriate defaults using the dirs crate. Config files now follow OS conventions (XDG on Linux, Application Support on macOS, AppData on Windows). Co-Authored-By: Claude Sonnet 4.5 --- Cargo.toml | 1 + nocodo-api/Cargo.toml | 1 + nocodo-api/src/config.rs | 8 ++++---- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index f0d57801..163060e3 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -26,6 +26,7 @@ tracing-subscriber = { version = "0.3", features = ["env-filter"] } anyhow = "1.0" thiserror = "1.0" clap = { version = "4.0", features = ["derive"] } +dirs = "5.0" [workspace.package] version = "0.1.12" diff --git a/nocodo-api/Cargo.toml b/nocodo-api/Cargo.toml index f0bd83af..78700899 100644 --- a/nocodo-api/Cargo.toml +++ b/nocodo-api/Cargo.toml @@ -21,6 +21,7 @@ tracing-subscriber.workspace = true chrono.workspace = true anyhow.workspace = true home = "0.5" +dirs.workspace = true rusqlite = { version = "0.37", features = ["bundled"] } toml = "0.9" config.workspace = true diff --git a/nocodo-api/src/config.rs b/nocodo-api/src/config.rs index eab887b8..7f88c54f 100644 --- a/nocodo-api/src/config.rs +++ b/nocodo-api/src/config.rs @@ -123,16 +123,16 @@ allowed_origins = ["http://localhost:3000"] } fn get_config_path() -> PathBuf { - if let Some(home) = home::home_dir() { - home.join(".config/nocodo/api.toml") + if let Some(config_dir) = dirs::config_dir() { + config_dir.join("nocodo/api.toml") } else { PathBuf::from("api.toml") } } fn get_default_db_path() -> PathBuf { - if let Some(home) = home::home_dir() { - home.join(".local/share/nocodo/api.db") + if let Some(data_dir) = dirs::data_local_dir() { + data_dir.join("nocodo/api.db") } else { PathBuf::from("api.db") } From 0ed3f1d219474127e3f47e82ddb77ffb6e5f6f0f Mon Sep 17 00:00:00 2001 From: Sumit Datta Date: Fri, 23 Jan 2026 18:43:04 +0530 Subject: [PATCH 2/2] Fix requirements gathering agent endpoint in GUI Update ProjectSpecifications.tsx to use the correct API endpoint and config type for the requirements gathering agent. Changes the endpoint from '/agents/user-clarification/execute' to '/agents/requirements-gathering/execute' and updates the config type from 'user-clarification' to 'requirements-gathering' to match the API implementation. Co-Authored-By: Claude Sonnet 4.5 --- gui/src/pages/ProjectSpecifications.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gui/src/pages/ProjectSpecifications.tsx b/gui/src/pages/ProjectSpecifications.tsx index e8a2895e..70bb0ee8 100644 --- a/gui/src/pages/ProjectSpecifications.tsx +++ b/gui/src/pages/ProjectSpecifications.tsx @@ -81,12 +81,12 @@ const ProjectRequirements: Component = () => { const requestBody: AgentExecutionRequest = { user_prompt: prompt, config: { - type: 'user-clarification', + type: 'requirements-gathering', }, }; const response = await fetch( - 'http://127.0.0.1:8080/agents/user-clarification/execute', + 'http://127.0.0.1:8080/agents/requirements-gathering/execute', { method: 'POST', headers: {