1pub mod bootstrap;
10pub mod cli_contract;
11pub mod daemon_url;
12pub mod project;
13pub mod provisioning;
14
15pub mod ai_context;
17pub mod ai_types;
18pub mod config;
19pub mod context;
20pub mod degradation;
21pub mod local_backend;
22pub mod setup;
23
24pub fn gobby_home() -> anyhow::Result<std::path::PathBuf> {
26 if let Some(home) = std::env::var_os("GOBBY_HOME") {
27 return Ok(std::path::PathBuf::from(home));
28 }
29 dirs::home_dir()
30 .map(|home| home.join(".gobby"))
31 .ok_or_else(|| anyhow::anyhow!("cannot determine home directory"))
32}
33
34#[cfg(feature = "ai")]
36pub mod ai;
37
38#[cfg(feature = "postgres")]
39pub mod postgres;
40
41#[cfg(feature = "falkor")]
42pub mod falkor;
43
44#[cfg(feature = "qdrant")]
45pub mod qdrant;
46
47#[cfg(feature = "indexing")]
48pub mod indexing;
49
50#[cfg(feature = "search")]
51pub mod search;
52
53#[cfg(test)]
54pub(crate) mod test_http;