diff --git a/CLAUDE.md b/CLAUDE.md index 46f071dd..778202e6 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -97,15 +97,26 @@ See the [README.md](README.md) file for a project overview. **Content Management:** - `write_note(title, content, folder, tags)` - Create/update markdown notes with semantic observations and relations - - `read_note(identifier, page, page_size)` - Read notes by title, permalink, or memory:// URL with knowledge graph - awareness - - `read_file(path)` - Read raw file content (text, images, binaries) without knowledge graph processing + - `read_note(identifier, page, page_size)` - Read notes by title, permalink, or memory:// URL with knowledge graph awareness + - `edit_note(identifier, operation, content)` - Edit notes incrementally (append, prepend, find/replace, section replace) + - `move_note(identifier, destination_path)` - Move notes with database consistency and search reindexing + - `view_note(identifier)` - Display notes as formatted artifacts for better readability in Claude Desktop + - `read_content(path)` - Read raw file content (text, images, binaries) without knowledge graph processing + - `delete_note(identifier)` - Delete notes from knowledge base + + **Project Management:** + - `list_memory_projects()` - List all available projects with status indicators + - `switch_project(project_name)` - Switch to different project context during conversations + - `get_current_project()` - Show currently active project with statistics + - `create_memory_project(name, path, set_default)` - Create new Basic Memory projects + - `delete_project(name)` - Delete projects from configuration and database + - `set_default_project(name)` - Set default project in config + - `sync_status()` - Check file synchronization status and background operations **Knowledge Graph Navigation:** - - `build_context(url, depth, timeframe)` - Navigate the knowledge graph via memory:// URLs for conversation - continuity - - `recent_activity(type, depth, timeframe)` - Get recently updated information with specified timeframe (e.g., " - 1d", "1 week") + - `build_context(url, depth, timeframe)` - Navigate the knowledge graph via memory:// URLs for conversation continuity + - `recent_activity(type, depth, timeframe)` - Get recently updated information with specified timeframe (e.g., "1d", "1 week") + - `list_directory(dir_name, depth, file_name_glob)` - List directory contents with filtering and depth control **Search & Discovery:** - `search_notes(query, page, page_size)` - Full-text search across all content with filtering options @@ -212,13 +223,21 @@ Basic Memory uses `uv-dynamic-versioning` for automatic version management based - Users install with: `pip install basic-memory --pre` - Use for milestone testing before stable release -#### Stable Releases (Manual) -- Create version tag: `git tag v0.13.0 && git push origin v0.13.0` -- Automatically builds, creates GitHub release, and publishes to PyPI +#### Stable Releases (Automated) +- Use the automated release system: `just release v0.13.0` +- Includes comprehensive quality checks (lint, format, type-check, tests) +- Automatically updates version in `__init__.py` +- Creates git tag and pushes to GitHub +- Triggers GitHub Actions workflow for PyPI publication - Users install with: `pip install basic-memory` +**Manual method (legacy):** +- Create version tag: `git tag v0.13.0 && git push origin v0.13.0` + ### For Development -- No manual version bumping required -- Versions automatically derived from git tags -- `pyproject.toml` uses `dynamic = ["version"]` -- `__init__.py` dynamically reads version from package metadata \ No newline at end of file +- **Automated releases**: Use `just release v0.13.x` for stable releases and `just beta v0.13.0b1` for beta releases +- **Quality gates**: All releases require passing lint, format, type-check, and test suites +- **Version management**: Versions automatically derived from git tags via `uv-dynamic-versioning` +- **Configuration**: `pyproject.toml` uses `dynamic = ["version"]` +- **Release automation**: `__init__.py` updated automatically during release process +- **CI/CD**: GitHub Actions handles building and PyPI publication \ No newline at end of file diff --git a/README.md b/README.md index 7c911258..9ce8d51e 100644 --- a/README.md +++ b/README.md @@ -61,8 +61,7 @@ Memory for Claude Desktop: npx -y @smithery/cli install @basicmachines-co/basic-memory --client claude ``` -This installs and configures Basic Memory without requiring manual edits to the Claude Desktop configuration file. The -Smithery server hosts the MCP server component, while your data remains stored locally as Markdown files. +This installs and configures Basic Memory without requiring manual edits to the Claude Desktop configuration file. Note: The Smithery installation uses their hosted MCP server, while your data remains stored locally as Markdown files. ### Glama.ai @@ -153,7 +152,8 @@ The note embeds semantic content and links to other topics via simple Markdown f 3. You see this file on your computer in real time in the current project directory (default `~/$HOME/basic-memory`). -- Realtime sync is enabled by default with the v0.12.0 version +- Realtime sync is enabled by default starting with v0.12.0 +- Project switching during conversations is supported starting with v0.13.0 4. In a chat with the LLM, you can reference a topic: @@ -351,10 +351,20 @@ Basic Memory will sync the files in your project in real time if you make manual ``` write_note(title, content, folder, tags) - Create or update notes read_note(identifier, page, page_size) - Read notes by title or permalink +edit_note(identifier, operation, content) - Edit notes incrementally (append, prepend, find/replace) +move_note(identifier, destination_path) - Move notes with database consistency +view_note(identifier) - Display notes as formatted artifacts for better readability build_context(url, depth, timeframe) - Navigate knowledge graph via memory:// URLs search_notes(query, page, page_size) - Search across your knowledge base recent_activity(type, depth, timeframe) - Find recently updated information canvas(nodes, edges, title, folder) - Generate knowledge visualizations +list_memory_projects() - List all available projects with status +switch_project(project_name) - Switch to different project context +get_current_project() - Show current project and statistics +create_memory_project(name, path, set_default) - Create new projects +delete_project(name) - Delete projects from configuration +set_default_project(name) - Set default project +sync_status() - Check file synchronization status ``` 5. Example prompts to try: @@ -365,6 +375,10 @@ canvas(nodes, edges, title, folder) - Generate knowledge visualizations "Create a canvas visualization of my project components" "Read my notes on the authentication system" "What have I been working on in the past week?" +"Switch to my work-notes project" +"List all my available projects" +"Edit my coffee brewing note to add a new technique" +"Move my old meeting notes to the archive folder" ``` ## Futher info