pub struct SkillCommandLoader;Expand description
Loads SkillCommands from the standard search paths.
Implementations§
Source§impl SkillCommandLoader
impl SkillCommandLoader
Sourcepub fn load(workspace: &Path) -> Vec<SkillCommand>
pub fn load(workspace: &Path) -> Vec<SkillCommand>
Load all skill files from the standard search paths.
Project-level skills (.recursive/skills/) take priority over
user-level skills (~/.recursive/skills/). Name collisions are
resolved by first-seen wins (project > user).
Sourcepub fn load_dir(dir: &Path) -> Vec<SkillCommand>
pub fn load_dir(dir: &Path) -> Vec<SkillCommand>
Load all *.md skill files from a single directory.
Files that fail to read or parse are skipped with a tracing::warn!
so users debugging “why isn’t my skill showing up?” can find the
reason in the log instead of having to bisect the directory.
Sourcepub fn parse_file(path: &Path) -> Option<SkillCommand>
pub fn parse_file(path: &Path) -> Option<SkillCommand>
Parse a single skill file. Returns None on IO / parse errors and
emits a tracing::warn! describing why the file was skipped.
Sourcepub fn parse_content(path: &Path, content: &str) -> Option<SkillCommand>
pub fn parse_content(path: &Path, content: &str) -> Option<SkillCommand>
Parse skill content (separated from IO for easy unit-testing).
Auto Trait Implementations§
impl Freeze for SkillCommandLoader
impl RefUnwindSafe for SkillCommandLoader
impl Send for SkillCommandLoader
impl Sync for SkillCommandLoader
impl Unpin for SkillCommandLoader
impl UnsafeUnpin for SkillCommandLoader
impl UnwindSafe for SkillCommandLoader
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
impl<A, B, T> HttpServerConnExec<A, B> for Twhere
B: Body,
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