Skip to main content

defect_config/
lib.rs

1//! Configuration loading and merging.
2//!
3//! This module consolidates user configuration, project configuration, local project
4//! overrides, and CLI overrides into a single strongly-typed configuration object ready
5//! for startup.
6
7#![cfg_attr(not(test), warn(clippy::indexing_slicing, clippy::unwrap_used))]
8
9mod frontmatter;
10mod hooks;
11mod loader;
12mod mcp;
13mod mcp_json;
14mod overrides;
15mod profiles;
16mod skills;
17mod types;
18
19pub use loader::{find_repo_root, load_config, load_dotenv_compat, user_config_path};
20pub use overrides::parse_cli_override;
21pub use profiles::{ProfileSpec, discover_profiles};
22pub use skills::{SkillSpec, discover_skills};
23pub use types::{
24    AnthropicConfigFile, BasePromptConfigFile, BashToolConfig, CapabilitiesConfig, CliConfig,
25    CliOverrides, ConfigError, ConfigLayerEntry, ConfigLayerStack, ConfigSource, ConfigWarning,
26    DeepSeekConfigFile, EffectiveConfig, FetchFormat, FetchToolConfig, FsToolConfig,
27    HookCommandSpec, HookEntry, HookHandlerSpec, HookMatcher, HookPromptRender, HookPromptSpec,
28    HookShellKind, HooksConfig, HttpClientConfig, HttpProxyConfig, HttpProxyMode,
29    HttpProxySettings, LangfuseConfig, LiteLlmConfigFile, LoadConfigOptions, LoadedConfig,
30    LogFormat, McpConfig, McpRemoteServerConfig, McpServerConfig, McpStdioServerConfig, ModelEntry,
31    OpenAiConfigFile, OtlpTracingConfig, PromptConfigFile, ProviderAwsConfigFile,
32    ProviderCapabilityOverrides, ProviderConfigFile, ProviderConfigs, ProviderKind,
33    ProviderProtocol, ReasoningEffort, SandboxConfig, SandboxMode, SearchToolConfig,
34    ThinkingFormat, ToolsConfig, TracingConfig,
35};