Expand description
Shared configuration loader utilities for VTCode and downstream integrations.
This crate exposes VTCodeConfig and ConfigManager for reading and
validating vtcode.toml files while allowing applications to customize the
filesystem layout via ConfigDefaultsProvider. Consumers can opt into the
bootstrap feature (enabled by default) to scaffold
configuration directories with project-specific defaults.
Disable default features when you only need parsing/validation to omit the
filesystem bootstrap helpers and reduce dependencies.
§Examples
use vtcode_config::ConfigManager;
let manager = ConfigManager::load_from_workspace(".")?;
println!("Active provider: {}", manager.config().agent.provider);Install a custom ConfigDefaultsProvider with
install_config_defaults_provider when you need to override search paths
or syntax highlighting defaults exposed by the loader.
Re-exports§
pub use acp::AgentClientProtocolConfig;pub use acp::AgentClientProtocolTransport;pub use acp::AgentClientProtocolZedConfig;pub use acp::AgentClientProtocolZedToolsConfig;pub use acp::AgentClientProtocolZedWorkspaceTrustMode;pub use acp::WorkspaceTrustLevel;pub use api_keys::ApiKeySources;pub use context::ContextFeaturesConfig;pub use context::LedgerConfig;pub use core::AgentConfig;pub use core::AgentCustomPromptsConfig;pub use core::AgentOnboardingConfig;pub use core::AutomationConfig;pub use core::CommandsConfig;pub use core::FullAutoConfig;pub use core::PromptCachingConfig;pub use core::ProviderPromptCachingConfig;pub use core::SecurityConfig;pub use core::ToolPolicy;pub use core::ToolsConfig;pub use defaults::ConfigDefaultsProvider;pub use defaults::ContextStoreDefaults;pub use defaults::PerformanceDefaults;pub use defaults::ScenarioDefaults;pub use defaults::SyntaxHighlightingDefaults;pub use defaults::WorkspacePathsDefaults;pub use defaults::current_config_defaults;pub use defaults::install_config_defaults_provider;pub use defaults::reset_to_default_config_defaults;pub use defaults::with_config_defaults;pub use hooks::HookCommandConfig;pub use hooks::HookCommandKind;pub use hooks::HookGroupConfig;pub use hooks::HooksConfig;pub use hooks::LifecycleHooksConfig;pub use loader::ConfigManager;pub use loader::SyntaxHighlightingConfig;pub use loader::VTCodeConfig;pub use mcp::McpAllowListConfig;pub use mcp::McpAllowListRules;pub use mcp::McpClientConfig;pub use mcp::McpHttpServerConfig;pub use mcp::McpProviderConfig;pub use mcp::McpStdioServerConfig;pub use mcp::McpTransportConfig;pub use mcp::McpUiConfig;pub use mcp::McpUiMode;pub use models::ModelId;pub use models::OpenRouterMetadata;pub use root::PtyConfig;pub use root::StatusLineConfig;pub use root::StatusLineMode;pub use root::ToolOutputMode;pub use root::UiConfig;pub use router::ComplexityModelMap;pub use router::HeuristicSettings;pub use router::ResourceBudget;pub use router::RouterConfig;pub use schema::vtcode_config_schema;pub use schema::vtcode_config_schema_json;pub use schema::vtcode_config_schema_pretty;pub use telemetry::TelemetryConfig;pub use types::ReasoningEffortLevel;pub use types::UiSurfacePreference;
Modules§
- acp
- api_
keys - API key management module for secure retrieval from environment variables, .env files, and configuration files.
- constants
- context
- core
- defaults
- hooks
- loader
- mcp
- models
- Model configuration and identification module
- root
- router
- schema
- telemetry
- types
- Common types and interfaces used throughout the application