pub struct ToolsConfig {
pub types: HashMap<String, ArtifactTypeConfig>,
}Expand description
Top-level tools configuration.
Maps tool type names to their configurations. This replaces the old
[target] section and enables multi-tool support.
Fields§
§types: HashMap<String, ArtifactTypeConfig>Map of tool type name -> configuration
Trait Implementations§
Source§impl Clone for ToolsConfig
impl Clone for ToolsConfig
Source§fn clone(&self) -> ToolsConfig
fn clone(&self) -> ToolsConfig
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for ToolsConfig
impl Debug for ToolsConfig
Source§impl Default for ToolsConfig
impl Default for ToolsConfig
Source§impl<'de> Deserialize<'de> for ToolsConfig
Custom deserializer that merges user configuration with built-in defaults.
impl<'de> Deserialize<'de> for ToolsConfig
Custom deserializer that merges user configuration with built-in defaults.
§Merging Behavior
For well-known tools (claude-code, opencode, agpm):
- Starts with built-in default resource configurations
- User-provided resources override defaults on a per-resource-type basis
- Missing resource types automatically use defaults
For custom tools:
- No default merging occurs (user config used as-is)
- User must provide complete configuration
§Example
[tools.opencode]
path = ".opencode"
resources = { commands = { path = "command", flatten = true } }
# Snippets not specified - will use default from built-in configAfter deserialization, opencode will have:
commands: User config (overrides default)snippets: Default config (auto-merged)
Source§fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>where
D: Deserializer<'de>,
fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>where
D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for ToolsConfig
impl RefUnwindSafe for ToolsConfig
impl Send for ToolsConfig
impl Sync for ToolsConfig
impl Unpin for ToolsConfig
impl UnwindSafe for ToolsConfig
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more