Update README.MD and add nano-claude-code v3.0 + original-source-code/src
- README.MD: add original-source-code and nano-claude-code sections, update overview table (4 subprojects), add v3.0 news entry, expand comparison table with memory/multi-agent/skills dimensions - nano-claude-code v3.0: multi-agent package (multi_agent/), memory package (memory/), skill package (skill/) with built-in /commit and /review skills, context compression (compaction.py), tool registry plugin system, diff view, 17 slash commands, 18 built-in tools, 101 tests (~5000 lines total) - original-source-code/src: add raw TypeScript source tree (1884 files) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
86
nano-claude-code/memory/__init__.py
Normal file
86
nano-claude-code/memory/__init__.py
Normal file
@@ -0,0 +1,86 @@
|
||||
"""Memory package for nano-claude-code.
|
||||
|
||||
Provides persistent, file-based memory across conversations.
|
||||
|
||||
Storage layout:
|
||||
user scope : ~/.nano_claude/memory/<slug>.md (shared across projects)
|
||||
project scope : .nano_claude/memory/<slug>.md (local to cwd)
|
||||
|
||||
The MEMORY.md index in each directory is auto-maintained and injected
|
||||
into the system prompt so Claude has an overview of available memories.
|
||||
|
||||
Public API (backward-compatible with the old memory.py module):
|
||||
MemoryEntry — dataclass for a single memory
|
||||
save_memory() — write/update a memory file
|
||||
delete_memory() — remove a memory file
|
||||
load_index() — load all entries from one or both scopes
|
||||
search_memory() — keyword search across entries
|
||||
get_memory_context() — MEMORY.md content for system prompt injection
|
||||
"""
|
||||
from .store import ( # noqa: F401
|
||||
MemoryEntry,
|
||||
save_memory,
|
||||
delete_memory,
|
||||
load_index,
|
||||
load_entries,
|
||||
search_memory,
|
||||
get_index_content,
|
||||
parse_frontmatter,
|
||||
USER_MEMORY_DIR,
|
||||
INDEX_FILENAME,
|
||||
MAX_INDEX_LINES,
|
||||
MAX_INDEX_BYTES,
|
||||
)
|
||||
from .scan import ( # noqa: F401
|
||||
MemoryHeader,
|
||||
scan_memory_dir,
|
||||
scan_all_memories,
|
||||
format_memory_manifest,
|
||||
memory_age_days,
|
||||
memory_age_str,
|
||||
memory_freshness_text,
|
||||
)
|
||||
from .context import ( # noqa: F401
|
||||
get_memory_context,
|
||||
find_relevant_memories,
|
||||
truncate_index_content,
|
||||
)
|
||||
from .types import ( # noqa: F401
|
||||
MEMORY_TYPES,
|
||||
MEMORY_TYPE_DESCRIPTIONS,
|
||||
MEMORY_SYSTEM_PROMPT,
|
||||
WHAT_NOT_TO_SAVE,
|
||||
)
|
||||
|
||||
__all__ = [
|
||||
# store
|
||||
"MemoryEntry",
|
||||
"save_memory",
|
||||
"delete_memory",
|
||||
"load_index",
|
||||
"load_entries",
|
||||
"search_memory",
|
||||
"get_index_content",
|
||||
"parse_frontmatter",
|
||||
"USER_MEMORY_DIR",
|
||||
"INDEX_FILENAME",
|
||||
"MAX_INDEX_LINES",
|
||||
"MAX_INDEX_BYTES",
|
||||
# scan
|
||||
"MemoryHeader",
|
||||
"scan_memory_dir",
|
||||
"scan_all_memories",
|
||||
"format_memory_manifest",
|
||||
"memory_age_days",
|
||||
"memory_age_str",
|
||||
"memory_freshness_text",
|
||||
# context
|
||||
"get_memory_context",
|
||||
"find_relevant_memories",
|
||||
"truncate_index_content",
|
||||
# types
|
||||
"MEMORY_TYPES",
|
||||
"MEMORY_TYPE_DESCRIPTIONS",
|
||||
"MEMORY_SYSTEM_PROMPT",
|
||||
"WHAT_NOT_TO_SAVE",
|
||||
]
|
||||
Reference in New Issue
Block a user