pub struct SkillsConfig {
pub enabled: Vec<String>,
pub disabled: Vec<String>,
pub dir: Option<PathBuf>,
}Expand description
Which skills a run carries.
There is no way to author a skill here, and that absence is the whole
design. A skill body only ever comes from ~/.mecha/skills/, which the
user writes by hand; config names skills, and naming is not authoring. The
threat this forecloses is the one Datadog named — a cloned repository can
bring skills into a trusted session even if the developer never installed
one from a marketplace — and it is foreclosed the same way it is for
[[trigger]]: by there being nowhere to put one.
A project’s mecha.toml may still narrow the set, because narrowing is
always safe and a repository saying “these three are the relevant ones” is
useful. It may never widen it: see [SkillsLayer] for how that is
enforced rather than asked for.
Fields§
§enabled: Vec<String>Skills to carry. Empty means every skill in the store.
disabled: Vec<String>Skills to withhold, applied after enabled so it wins.
dir: Option<PathBuf>Where the store lives. Defaults to ~/.mecha/skills.
Global-file only — a project layer naming its own directory would be the authoring hole this type exists to close, wearing a different hat.
Trait Implementations§
Source§impl Clone for SkillsConfig
impl Clone for SkillsConfig
Source§fn clone(&self) -> SkillsConfig
fn clone(&self) -> SkillsConfig
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more