pub struct MemoryLoader { /* private fields */ }Expand description
Memory loader with CLI-compatible @import processing.
§Features
- Loads CLAUDE.md and CLAUDE.local.md from project directories
- Supports recursive @import with depth limiting
- Circular import detection using canonical path tracking
- Scans .claude/rules/ directory for rule files
§CLI Compatibility
This implementation matches Claude Code CLI 2.1.12 behavior:
- Maximum import depth of 5
- Same path validation rules
- Same circular import prevention
Implementations§
Source§impl MemoryLoader
impl MemoryLoader
Sourcepub async fn load(&self, start_dir: &Path) -> ContextResult<MemoryContent>
pub async fn load(&self, start_dir: &Path) -> ContextResult<MemoryContent>
Loads shared CLAUDE.md and rules (visible to all team members).
Sourcepub async fn load_local(&self, start_dir: &Path) -> ContextResult<MemoryContent>
pub async fn load_local(&self, start_dir: &Path) -> ContextResult<MemoryContent>
Loads local CLAUDE.local.md (private to the user, not in version control).
Trait Implementations§
Auto Trait Implementations§
impl Freeze for MemoryLoader
impl RefUnwindSafe for MemoryLoader
impl Send for MemoryLoader
impl Sync for MemoryLoader
impl Unpin for MemoryLoader
impl UnwindSafe for MemoryLoader
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> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
Source§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
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 moreCreates a shared type from an unshared type.