basic-memory 0.10.0__tar.gz → 0.11.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of basic-memory might be problematic. Click here for more details.
- {basic_memory-0.10.0 → basic_memory-0.11.0}/CHANGELOG.md +158 -0
- {basic_memory-0.10.0 → basic_memory-0.11.0}/CLAUDE.md +22 -18
- {basic_memory-0.10.0 → basic_memory-0.11.0}/PKG-INFO +17 -4
- {basic_memory-0.10.0 → basic_memory-0.11.0}/README.md +16 -3
- {basic_memory-0.10.0 → basic_memory-0.11.0}/docs/AI Assistant Guide.md +7 -5
- {basic_memory-0.10.0 → basic_memory-0.11.0}/docs/CLI Reference.md +36 -9
- {basic_memory-0.10.0 → basic_memory-0.11.0}/docs/Getting Started with Basic Memory.md +58 -21
- {basic_memory-0.10.0 → basic_memory-0.11.0}/docs/Technical Information.md +1 -1
- basic_memory-0.11.0/docs/attachments/disk-ai-logo-400x400.png +0 -0
- basic_memory-0.11.0/llms-install.md +128 -0
- {basic_memory-0.10.0 → basic_memory-0.11.0}/pyproject.toml +2 -1
- {basic_memory-0.10.0 → basic_memory-0.11.0}/src/basic_memory/__init__.py +1 -1
- {basic_memory-0.10.0 → basic_memory-0.11.0}/src/basic_memory/cli/commands/__init__.py +1 -2
- {basic_memory-0.10.0 → basic_memory-0.11.0}/src/basic_memory/cli/commands/db.py +15 -2
- basic_memory-0.10.0/src/basic_memory/cli/commands/project_info.py → basic_memory-0.11.0/src/basic_memory/cli/commands/project.py +126 -8
- {basic_memory-0.10.0 → basic_memory-0.11.0}/src/basic_memory/cli/commands/tool.py +8 -4
- {basic_memory-0.10.0 → basic_memory-0.11.0}/src/basic_memory/config.py +45 -10
- {basic_memory-0.10.0 → basic_memory-0.11.0}/src/basic_memory/markdown/entity_parser.py +13 -10
- {basic_memory-0.10.0 → basic_memory-0.11.0}/src/basic_memory/markdown/schemas.py +1 -1
- {basic_memory-0.10.0 → basic_memory-0.11.0}/src/basic_memory/mcp/prompts/ai_assistant_guide.py +1 -3
- {basic_memory-0.10.0 → basic_memory-0.11.0}/src/basic_memory/mcp/prompts/continue_conversation.py +3 -3
- {basic_memory-0.10.0 → basic_memory-0.11.0}/src/basic_memory/mcp/prompts/search.py +4 -4
- {basic_memory-0.10.0/static → basic_memory-0.11.0/src/basic_memory/mcp/resources}/ai_assistant_guide.md +5 -5
- {basic_memory-0.10.0 → basic_memory-0.11.0}/src/basic_memory/mcp/tools/__init__.py +2 -2
- {basic_memory-0.10.0 → basic_memory-0.11.0}/src/basic_memory/mcp/tools/read_note.py +3 -3
- {basic_memory-0.10.0 → basic_memory-0.11.0}/src/basic_memory/mcp/tools/search.py +11 -11
- {basic_memory-0.10.0 → basic_memory-0.11.0}/src/basic_memory/mcp/tools/write_note.py +17 -7
- {basic_memory-0.10.0 → basic_memory-0.11.0}/src/basic_memory/services/entity_service.py +11 -1
- {basic_memory-0.10.0 → basic_memory-0.11.0}/src/basic_memory/sync/watch_service.py +1 -1
- {basic_memory-0.10.0 → basic_memory-0.11.0}/src/basic_memory/utils.py +27 -1
- basic_memory-0.11.0/static/ai_assistant_guide.md +413 -0
- {basic_memory-0.10.0 → basic_memory-0.11.0}/tests/cli/test_cli_tools.py +2 -2
- {basic_memory-0.10.0 → basic_memory-0.11.0}/tests/cli/test_project_commands.py +52 -2
- {basic_memory-0.10.0 → basic_memory-0.11.0}/tests/cli/test_project_info.py +2 -2
- {basic_memory-0.10.0 → basic_memory-0.11.0}/tests/mcp/test_tool_notes.py +92 -1
- {basic_memory-0.10.0 → basic_memory-0.11.0}/tests/mcp/test_tool_read_note.py +1 -1
- {basic_memory-0.10.0 → basic_memory-0.11.0}/tests/mcp/test_tool_search.py +5 -5
- {basic_memory-0.10.0 → basic_memory-0.11.0}/tests/services/test_entity_service.py +1 -1
- {basic_memory-0.10.0 → basic_memory-0.11.0}/tests/sync/test_tmp_files.py +53 -50
- basic_memory-0.11.0/tests/utils/test_utf8_handling.py +195 -0
- {basic_memory-0.10.0 → basic_memory-0.11.0}/uv.lock +210 -180
- basic_memory-0.10.0/src/basic_memory/cli/commands/project.py +0 -119
- {basic_memory-0.10.0 → basic_memory-0.11.0}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
- {basic_memory-0.10.0 → basic_memory-0.11.0}/.github/ISSUE_TEMPLATE/config.yml +0 -0
- {basic_memory-0.10.0 → basic_memory-0.11.0}/.github/ISSUE_TEMPLATE/documentation.md +0 -0
- {basic_memory-0.10.0 → basic_memory-0.11.0}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
- {basic_memory-0.10.0 → basic_memory-0.11.0}/.github/dependabot.yml +0 -0
- {basic_memory-0.10.0 → basic_memory-0.11.0}/.github/workflows/pr-title.yml +0 -0
- {basic_memory-0.10.0 → basic_memory-0.11.0}/.github/workflows/release.yml +0 -0
- {basic_memory-0.10.0 → basic_memory-0.11.0}/.github/workflows/test.yml +0 -0
- {basic_memory-0.10.0 → basic_memory-0.11.0}/.gitignore +0 -0
- {basic_memory-0.10.0 → basic_memory-0.11.0}/.python-version +0 -0
- {basic_memory-0.10.0 → basic_memory-0.11.0}/CITATION.cff +0 -0
- {basic_memory-0.10.0 → basic_memory-0.11.0}/CLA.md +0 -0
- {basic_memory-0.10.0 → basic_memory-0.11.0}/CODE_OF_CONDUCT.md +0 -0
- {basic_memory-0.10.0 → basic_memory-0.11.0}/CONTRIBUTING.md +0 -0
- {basic_memory-0.10.0 → basic_memory-0.11.0}/Dockerfile +0 -0
- {basic_memory-0.10.0 → basic_memory-0.11.0}/LICENSE +0 -0
- {basic_memory-0.10.0 → basic_memory-0.11.0}/Makefile +0 -0
- {basic_memory-0.10.0 → basic_memory-0.11.0}/SECURITY.md +0 -0
- {basic_memory-0.10.0 → basic_memory-0.11.0}/basic-memory.md +0 -0
- {basic_memory-0.10.0 → basic_memory-0.11.0}/docs/Canvas.md +0 -0
- {basic_memory-0.10.0 → basic_memory-0.11.0}/docs/Knowledge Format.md +0 -0
- {basic_memory-0.10.0 → basic_memory-0.11.0}/docs/Obsidian Integration.md +0 -0
- {basic_memory-0.10.0 → basic_memory-0.11.0}/docs/User Guide.md +0 -0
- {basic_memory-0.10.0 → basic_memory-0.11.0}/docs/Welcome to Basic memory.md +0 -0
- {basic_memory-0.10.0 → basic_memory-0.11.0}/docs/attachments/Canvas.png +0 -0
- {basic_memory-0.10.0 → basic_memory-0.11.0}/docs/attachments/Claude-Obsidian-Demo.mp4 +0 -0
- {basic_memory-0.10.0 → basic_memory-0.11.0}/docs/attachments/Prompt.png +0 -0
- {basic_memory-0.10.0 → basic_memory-0.11.0}/docs/attachments/disk-ai-logo.png +0 -0
- {basic_memory-0.10.0 → basic_memory-0.11.0}/docs/attachments/prompt 1.png +0 -0
- {basic_memory-0.10.0 → basic_memory-0.11.0}/docs/attachments/prompt2.png +0 -0
- {basic_memory-0.10.0 → basic_memory-0.11.0}/docs/attachments/prompt3.png +0 -0
- {basic_memory-0.10.0 → basic_memory-0.11.0}/docs/attachments/prompt4.png +0 -0
- {basic_memory-0.10.0 → basic_memory-0.11.0}/docs/publish.js +0 -0
- {basic_memory-0.10.0 → basic_memory-0.11.0}/examples/Coffee Notes/Brewing Equipment.md +0 -0
- {basic_memory-0.10.0 → basic_memory-0.11.0}/examples/Coffee Notes/Coffee Bean Origins.md +0 -0
- {basic_memory-0.10.0 → basic_memory-0.11.0}/examples/Coffee Notes/Coffee Brewing Methods.md +0 -0
- {basic_memory-0.10.0 → basic_memory-0.11.0}/examples/Coffee Notes/Coffee Flavor Map.md +0 -0
- {basic_memory-0.10.0 → basic_memory-0.11.0}/examples/Coffee Notes/Coffee Knowledge Base.md +0 -0
- {basic_memory-0.10.0 → basic_memory-0.11.0}/examples/Coffee Notes/Flavor Extraction.md +0 -0
- {basic_memory-0.10.0 → basic_memory-0.11.0}/examples/Coffee Notes/Perfect Pour Over Coffee Method.canvas +0 -0
- {basic_memory-0.10.0 → basic_memory-0.11.0}/examples/Coffee Notes/Tasting Notes.md +0 -0
- {basic_memory-0.10.0 → basic_memory-0.11.0}/installer/Basic.icns +0 -0
- {basic_memory-0.10.0 → basic_memory-0.11.0}/installer/README.md +0 -0
- {basic_memory-0.10.0 → basic_memory-0.11.0}/installer/icon.svg +0 -0
- {basic_memory-0.10.0 → basic_memory-0.11.0}/installer/installer.py +0 -0
- {basic_memory-0.10.0 → basic_memory-0.11.0}/installer/make_icons.sh +0 -0
- {basic_memory-0.10.0 → basic_memory-0.11.0}/installer/setup.py +0 -0
- {basic_memory-0.10.0 → basic_memory-0.11.0}/memory.json +0 -0
- {basic_memory-0.10.0 → basic_memory-0.11.0}/scripts/install.sh +0 -0
- {basic_memory-0.10.0 → basic_memory-0.11.0}/smithery.yaml +0 -0
- {basic_memory-0.10.0 → basic_memory-0.11.0}/src/basic_memory/alembic/alembic.ini +0 -0
- {basic_memory-0.10.0 → basic_memory-0.11.0}/src/basic_memory/alembic/env.py +0 -0
- {basic_memory-0.10.0 → basic_memory-0.11.0}/src/basic_memory/alembic/migrations.py +0 -0
- {basic_memory-0.10.0 → basic_memory-0.11.0}/src/basic_memory/alembic/script.py.mako +0 -0
- {basic_memory-0.10.0 → basic_memory-0.11.0}/src/basic_memory/alembic/versions/3dae7c7b1564_initial_schema.py +0 -0
- {basic_memory-0.10.0 → basic_memory-0.11.0}/src/basic_memory/alembic/versions/502b60eaa905_remove_required_from_entity_permalink.py +0 -0
- {basic_memory-0.10.0 → basic_memory-0.11.0}/src/basic_memory/alembic/versions/b3c3938bacdb_relation_to_name_unique_index.py +0 -0
- {basic_memory-0.10.0 → basic_memory-0.11.0}/src/basic_memory/alembic/versions/cc7172b46608_update_search_index_schema.py +0 -0
- {basic_memory-0.10.0 → basic_memory-0.11.0}/src/basic_memory/api/__init__.py +0 -0
- {basic_memory-0.10.0 → basic_memory-0.11.0}/src/basic_memory/api/app.py +0 -0
- {basic_memory-0.10.0 → basic_memory-0.11.0}/src/basic_memory/api/routers/__init__.py +0 -0
- {basic_memory-0.10.0 → basic_memory-0.11.0}/src/basic_memory/api/routers/knowledge_router.py +0 -0
- {basic_memory-0.10.0 → basic_memory-0.11.0}/src/basic_memory/api/routers/memory_router.py +0 -0
- {basic_memory-0.10.0 → basic_memory-0.11.0}/src/basic_memory/api/routers/project_info_router.py +0 -0
- {basic_memory-0.10.0 → basic_memory-0.11.0}/src/basic_memory/api/routers/resource_router.py +0 -0
- {basic_memory-0.10.0 → basic_memory-0.11.0}/src/basic_memory/api/routers/search_router.py +0 -0
- {basic_memory-0.10.0 → basic_memory-0.11.0}/src/basic_memory/cli/__init__.py +0 -0
- {basic_memory-0.10.0 → basic_memory-0.11.0}/src/basic_memory/cli/app.py +0 -0
- {basic_memory-0.10.0 → basic_memory-0.11.0}/src/basic_memory/cli/commands/import_chatgpt.py +0 -0
- {basic_memory-0.10.0 → basic_memory-0.11.0}/src/basic_memory/cli/commands/import_claude_conversations.py +0 -0
- {basic_memory-0.10.0 → basic_memory-0.11.0}/src/basic_memory/cli/commands/import_claude_projects.py +0 -0
- {basic_memory-0.10.0 → basic_memory-0.11.0}/src/basic_memory/cli/commands/import_memory_json.py +0 -0
- {basic_memory-0.10.0 → basic_memory-0.11.0}/src/basic_memory/cli/commands/mcp.py +0 -0
- {basic_memory-0.10.0 → basic_memory-0.11.0}/src/basic_memory/cli/commands/status.py +0 -0
- {basic_memory-0.10.0 → basic_memory-0.11.0}/src/basic_memory/cli/commands/sync.py +0 -0
- {basic_memory-0.10.0 → basic_memory-0.11.0}/src/basic_memory/cli/main.py +0 -0
- {basic_memory-0.10.0 → basic_memory-0.11.0}/src/basic_memory/db.py +0 -0
- {basic_memory-0.10.0 → basic_memory-0.11.0}/src/basic_memory/deps.py +0 -0
- {basic_memory-0.10.0 → basic_memory-0.11.0}/src/basic_memory/file_utils.py +0 -0
- {basic_memory-0.10.0 → basic_memory-0.11.0}/src/basic_memory/markdown/__init__.py +0 -0
- {basic_memory-0.10.0 → basic_memory-0.11.0}/src/basic_memory/markdown/markdown_processor.py +0 -0
- {basic_memory-0.10.0 → basic_memory-0.11.0}/src/basic_memory/markdown/plugins.py +0 -0
- {basic_memory-0.10.0 → basic_memory-0.11.0}/src/basic_memory/markdown/utils.py +0 -0
- {basic_memory-0.10.0 → basic_memory-0.11.0}/src/basic_memory/mcp/__init__.py +0 -0
- {basic_memory-0.10.0 → basic_memory-0.11.0}/src/basic_memory/mcp/async_client.py +0 -0
- {basic_memory-0.10.0 → basic_memory-0.11.0}/src/basic_memory/mcp/main.py +0 -0
- {basic_memory-0.10.0 → basic_memory-0.11.0}/src/basic_memory/mcp/prompts/__init__.py +0 -0
- {basic_memory-0.10.0 → basic_memory-0.11.0}/src/basic_memory/mcp/prompts/recent_activity.py +0 -0
- {basic_memory-0.10.0 → basic_memory-0.11.0}/src/basic_memory/mcp/prompts/utils.py +0 -0
- {basic_memory-0.10.0 → basic_memory-0.11.0}/src/basic_memory/mcp/server.py +0 -0
- {basic_memory-0.10.0 → basic_memory-0.11.0}/src/basic_memory/mcp/tools/build_context.py +0 -0
- {basic_memory-0.10.0 → basic_memory-0.11.0}/src/basic_memory/mcp/tools/canvas.py +0 -0
- {basic_memory-0.10.0 → basic_memory-0.11.0}/src/basic_memory/mcp/tools/delete_note.py +0 -0
- {basic_memory-0.10.0 → basic_memory-0.11.0}/src/basic_memory/mcp/tools/project_info.py +0 -0
- {basic_memory-0.10.0 → basic_memory-0.11.0}/src/basic_memory/mcp/tools/read_content.py +0 -0
- {basic_memory-0.10.0 → basic_memory-0.11.0}/src/basic_memory/mcp/tools/recent_activity.py +0 -0
- {basic_memory-0.10.0 → basic_memory-0.11.0}/src/basic_memory/mcp/tools/utils.py +0 -0
- {basic_memory-0.10.0 → basic_memory-0.11.0}/src/basic_memory/models/__init__.py +0 -0
- {basic_memory-0.10.0 → basic_memory-0.11.0}/src/basic_memory/models/base.py +0 -0
- {basic_memory-0.10.0 → basic_memory-0.11.0}/src/basic_memory/models/knowledge.py +0 -0
- {basic_memory-0.10.0 → basic_memory-0.11.0}/src/basic_memory/models/search.py +0 -0
- {basic_memory-0.10.0 → basic_memory-0.11.0}/src/basic_memory/repository/__init__.py +0 -0
- {basic_memory-0.10.0 → basic_memory-0.11.0}/src/basic_memory/repository/entity_repository.py +0 -0
- {basic_memory-0.10.0 → basic_memory-0.11.0}/src/basic_memory/repository/observation_repository.py +0 -0
- {basic_memory-0.10.0 → basic_memory-0.11.0}/src/basic_memory/repository/project_info_repository.py +0 -0
- {basic_memory-0.10.0 → basic_memory-0.11.0}/src/basic_memory/repository/relation_repository.py +0 -0
- {basic_memory-0.10.0 → basic_memory-0.11.0}/src/basic_memory/repository/repository.py +0 -0
- {basic_memory-0.10.0 → basic_memory-0.11.0}/src/basic_memory/repository/search_repository.py +0 -0
- {basic_memory-0.10.0 → basic_memory-0.11.0}/src/basic_memory/schemas/__init__.py +0 -0
- {basic_memory-0.10.0 → basic_memory-0.11.0}/src/basic_memory/schemas/base.py +0 -0
- {basic_memory-0.10.0 → basic_memory-0.11.0}/src/basic_memory/schemas/delete.py +0 -0
- {basic_memory-0.10.0 → basic_memory-0.11.0}/src/basic_memory/schemas/memory.py +0 -0
- {basic_memory-0.10.0 → basic_memory-0.11.0}/src/basic_memory/schemas/project_info.py +0 -0
- {basic_memory-0.10.0 → basic_memory-0.11.0}/src/basic_memory/schemas/request.py +0 -0
- {basic_memory-0.10.0 → basic_memory-0.11.0}/src/basic_memory/schemas/response.py +0 -0
- {basic_memory-0.10.0 → basic_memory-0.11.0}/src/basic_memory/schemas/search.py +0 -0
- {basic_memory-0.10.0 → basic_memory-0.11.0}/src/basic_memory/services/__init__.py +0 -0
- {basic_memory-0.10.0 → basic_memory-0.11.0}/src/basic_memory/services/context_service.py +0 -0
- {basic_memory-0.10.0 → basic_memory-0.11.0}/src/basic_memory/services/exceptions.py +0 -0
- {basic_memory-0.10.0 → basic_memory-0.11.0}/src/basic_memory/services/file_service.py +0 -0
- {basic_memory-0.10.0 → basic_memory-0.11.0}/src/basic_memory/services/link_resolver.py +0 -0
- {basic_memory-0.10.0 → basic_memory-0.11.0}/src/basic_memory/services/search_service.py +0 -0
- {basic_memory-0.10.0 → basic_memory-0.11.0}/src/basic_memory/services/service.py +0 -0
- {basic_memory-0.10.0 → basic_memory-0.11.0}/src/basic_memory/sync/__init__.py +0 -0
- {basic_memory-0.10.0 → basic_memory-0.11.0}/src/basic_memory/sync/sync_service.py +0 -0
- {basic_memory-0.10.0 → basic_memory-0.11.0}/static/json_canvas_spec_1_0.md +0 -0
- {basic_memory-0.10.0 → basic_memory-0.11.0}/tests/Non-MarkdownFileSupport.pdf +0 -0
- {basic_memory-0.10.0 → basic_memory-0.11.0}/tests/Screenshot.png +0 -0
- {basic_memory-0.10.0 → basic_memory-0.11.0}/tests/__init__.py +0 -0
- {basic_memory-0.10.0 → basic_memory-0.11.0}/tests/api/conftest.py +0 -0
- {basic_memory-0.10.0 → basic_memory-0.11.0}/tests/api/test_knowledge_router.py +0 -0
- {basic_memory-0.10.0 → basic_memory-0.11.0}/tests/api/test_memory_router.py +0 -0
- {basic_memory-0.10.0 → basic_memory-0.11.0}/tests/api/test_project_info_router.py +0 -0
- {basic_memory-0.10.0 → basic_memory-0.11.0}/tests/api/test_resource_router.py +0 -0
- {basic_memory-0.10.0 → basic_memory-0.11.0}/tests/api/test_search_router.py +0 -0
- {basic_memory-0.10.0 → basic_memory-0.11.0}/tests/cli/conftest.py +0 -0
- {basic_memory-0.10.0 → basic_memory-0.11.0}/tests/cli/test_import_chatgpt.py +0 -0
- {basic_memory-0.10.0 → basic_memory-0.11.0}/tests/cli/test_import_claude_conversations.py +0 -0
- {basic_memory-0.10.0 → basic_memory-0.11.0}/tests/cli/test_import_claude_projects.py +0 -0
- {basic_memory-0.10.0 → basic_memory-0.11.0}/tests/cli/test_import_memory_json.py +0 -0
- {basic_memory-0.10.0 → basic_memory-0.11.0}/tests/cli/test_status.py +0 -0
- {basic_memory-0.10.0 → basic_memory-0.11.0}/tests/cli/test_sync.py +0 -0
- {basic_memory-0.10.0 → basic_memory-0.11.0}/tests/cli/test_version.py +0 -0
- {basic_memory-0.10.0 → basic_memory-0.11.0}/tests/conftest.py +0 -0
- {basic_memory-0.10.0 → basic_memory-0.11.0}/tests/edit_file_test.py +0 -0
- {basic_memory-0.10.0 → basic_memory-0.11.0}/tests/markdown/__init__.py +0 -0
- {basic_memory-0.10.0 → basic_memory-0.11.0}/tests/markdown/test_entity_parser.py +0 -0
- {basic_memory-0.10.0 → basic_memory-0.11.0}/tests/markdown/test_markdown_plugins.py +0 -0
- {basic_memory-0.10.0 → basic_memory-0.11.0}/tests/markdown/test_markdown_processor.py +0 -0
- {basic_memory-0.10.0 → basic_memory-0.11.0}/tests/markdown/test_observation_edge_cases.py +0 -0
- {basic_memory-0.10.0 → basic_memory-0.11.0}/tests/markdown/test_parser_edge_cases.py +0 -0
- {basic_memory-0.10.0 → basic_memory-0.11.0}/tests/markdown/test_relation_edge_cases.py +0 -0
- {basic_memory-0.10.0 → basic_memory-0.11.0}/tests/markdown/test_task_detection.py +0 -0
- {basic_memory-0.10.0 → basic_memory-0.11.0}/tests/mcp/conftest.py +0 -0
- {basic_memory-0.10.0 → basic_memory-0.11.0}/tests/mcp/test_prompts.py +0 -0
- {basic_memory-0.10.0 → basic_memory-0.11.0}/tests/mcp/test_resources.py +0 -0
- {basic_memory-0.10.0 → basic_memory-0.11.0}/tests/mcp/test_tool_canvas.py +0 -0
- {basic_memory-0.10.0 → basic_memory-0.11.0}/tests/mcp/test_tool_memory.py +0 -0
- {basic_memory-0.10.0 → basic_memory-0.11.0}/tests/mcp/test_tool_project_info.py +0 -0
- {basic_memory-0.10.0 → basic_memory-0.11.0}/tests/mcp/test_tool_resource.py +0 -0
- {basic_memory-0.10.0 → basic_memory-0.11.0}/tests/mcp/test_tool_utils.py +0 -0
- {basic_memory-0.10.0 → basic_memory-0.11.0}/tests/repository/test_entity_repository.py +0 -0
- {basic_memory-0.10.0 → basic_memory-0.11.0}/tests/repository/test_observation_repository.py +0 -0
- {basic_memory-0.10.0 → basic_memory-0.11.0}/tests/repository/test_relation_repository.py +0 -0
- {basic_memory-0.10.0 → basic_memory-0.11.0}/tests/repository/test_repository.py +0 -0
- {basic_memory-0.10.0 → basic_memory-0.11.0}/tests/schemas/test_memory_url.py +0 -0
- {basic_memory-0.10.0 → basic_memory-0.11.0}/tests/schemas/test_schemas.py +0 -0
- {basic_memory-0.10.0 → basic_memory-0.11.0}/tests/schemas/test_search.py +0 -0
- {basic_memory-0.10.0 → basic_memory-0.11.0}/tests/services/test_context_service.py +0 -0
- {basic_memory-0.10.0 → basic_memory-0.11.0}/tests/services/test_file_service.py +0 -0
- {basic_memory-0.10.0 → basic_memory-0.11.0}/tests/services/test_link_resolver.py +0 -0
- {basic_memory-0.10.0 → basic_memory-0.11.0}/tests/services/test_search_service.py +0 -0
- {basic_memory-0.10.0 → basic_memory-0.11.0}/tests/sync/test_sync_service.py +0 -0
- {basic_memory-0.10.0 → basic_memory-0.11.0}/tests/sync/test_watch_service.py +0 -0
- {basic_memory-0.10.0 → basic_memory-0.11.0}/tests/sync/test_watch_service_edge_cases.py +0 -0
- {basic_memory-0.10.0 → basic_memory-0.11.0}/tests/test_basic_memory.py +0 -0
- {basic_memory-0.10.0 → basic_memory-0.11.0}/tests/test_config.py +0 -0
- {basic_memory-0.10.0 → basic_memory-0.11.0}/tests/utils/test_file_utils.py +0 -0
- {basic_memory-0.10.0 → basic_memory-0.11.0}/tests/utils/test_permalink_formatting.py +0 -0
|
@@ -1,6 +1,164 @@
|
|
|
1
1
|
# CHANGELOG
|
|
2
2
|
|
|
3
3
|
|
|
4
|
+
## v0.11.0 (2025-03-29)
|
|
5
|
+
|
|
6
|
+
### Bug Fixes
|
|
7
|
+
|
|
8
|
+
- Just delete db for reset db instead of using migrations.
|
|
9
|
+
([#65](https://github.com/basicmachines-co/basic-memory/pull/65),
|
|
10
|
+
[`0743ade`](https://github.com/basicmachines-co/basic-memory/commit/0743ade5fc07440f95ecfd816ba7e4cfd74bca12))
|
|
11
|
+
|
|
12
|
+
Signed-off-by: phernandez <paul@basicmachines.co>
|
|
13
|
+
|
|
14
|
+
- Make logs for each process - mcp, sync, cli
|
|
15
|
+
([#64](https://github.com/basicmachines-co/basic-memory/pull/64),
|
|
16
|
+
[`f1c9570`](https://github.com/basicmachines-co/basic-memory/commit/f1c95709cbffb1b88292547b0b8f29fcca22d186))
|
|
17
|
+
|
|
18
|
+
Signed-off-by: phernandez <paul@basicmachines.co>
|
|
19
|
+
|
|
20
|
+
### Documentation
|
|
21
|
+
|
|
22
|
+
- Update broken "Multiple Projects" link in README.md
|
|
23
|
+
([#55](https://github.com/basicmachines-co/basic-memory/pull/55),
|
|
24
|
+
[`3c68b7d`](https://github.com/basicmachines-co/basic-memory/commit/3c68b7d5dd689322205c67637dca7d188111ee6b))
|
|
25
|
+
|
|
26
|
+
### Features
|
|
27
|
+
|
|
28
|
+
- Add bm command alias for basic-memory
|
|
29
|
+
([#67](https://github.com/basicmachines-co/basic-memory/pull/67),
|
|
30
|
+
[`069c0a2`](https://github.com/basicmachines-co/basic-memory/commit/069c0a21c630784e1bf47d2b7de5d6d1f6fadd7a))
|
|
31
|
+
|
|
32
|
+
Signed-off-by: phernandez <paul@basicmachines.co>
|
|
33
|
+
|
|
34
|
+
- Rename search tool to search_notes
|
|
35
|
+
([#66](https://github.com/basicmachines-co/basic-memory/pull/66),
|
|
36
|
+
[`b278276`](https://github.com/basicmachines-co/basic-memory/commit/b27827671dc010be3e261b8b221aca6b7f836661))
|
|
37
|
+
|
|
38
|
+
Signed-off-by: phernandez <paul@basicmachines.co>
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
## v0.10.1 (2025-03-25)
|
|
42
|
+
|
|
43
|
+
### Bug Fixes
|
|
44
|
+
|
|
45
|
+
- Make set_default_project also activate project for current session to fix #37
|
|
46
|
+
([`cbe72be`](https://github.com/basicmachines-co/basic-memory/commit/cbe72be10a646c0b03931bb39aff9285feae47f9))
|
|
47
|
+
|
|
48
|
+
This change makes the 'basic-memory project default <name>' command both: 1. Set the default project
|
|
49
|
+
for future invocations (persistent change) 2. Activate the project for the current session
|
|
50
|
+
(immediate change)
|
|
51
|
+
|
|
52
|
+
Added tests to verify this behavior, which resolves issue #37 where the project name and path
|
|
53
|
+
weren't changing properly when the default project was changed.
|
|
54
|
+
|
|
55
|
+
🤖 Generated with [Claude Code](https://claude.ai/code)
|
|
56
|
+
|
|
57
|
+
Co-Authored-By: Claude <noreply@anthropic.com>
|
|
58
|
+
|
|
59
|
+
- Make set_default_project also activate project for current session to fix #37
|
|
60
|
+
([`46c4fd2`](https://github.com/basicmachines-co/basic-memory/commit/46c4fd21645b109af59eb2a0201c7bd849b34a49))
|
|
61
|
+
|
|
62
|
+
This change makes the 'basic-memory project default <name>' command both: 1. Set the default project
|
|
63
|
+
for future invocations (persistent change) 2. Activate the project for the current session
|
|
64
|
+
(immediate change)
|
|
65
|
+
|
|
66
|
+
Added tests to verify this behavior, which resolves issue #37 where the project name and path
|
|
67
|
+
weren't changing properly when the default project was changed.
|
|
68
|
+
|
|
69
|
+
🤖 Generated with [Claude Code](https://claude.ai/code)
|
|
70
|
+
|
|
71
|
+
Co-Authored-By: Claude <noreply@anthropic.com>
|
|
72
|
+
|
|
73
|
+
Signed-off-by: phernandez <paul@basicmachines.co>
|
|
74
|
+
|
|
75
|
+
- Move ai_assistant_guide.md into package resources to fix #39
|
|
76
|
+
([`390ff9d`](https://github.com/basicmachines-co/basic-memory/commit/390ff9d31ccee85bef732e8140b5eeecd7ee176f))
|
|
77
|
+
|
|
78
|
+
This change relocates the AI assistant guide from the static directory into the package resources
|
|
79
|
+
directory, ensuring it gets properly included in the distribution package and is accessible when
|
|
80
|
+
installed via pip/uv.
|
|
81
|
+
|
|
82
|
+
🤖 Generated with [Claude Code](https://claude.ai/code)
|
|
83
|
+
|
|
84
|
+
Co-Authored-By: Claude <noreply@anthropic.com>
|
|
85
|
+
|
|
86
|
+
- Move ai_assistant_guide.md into package resources to fix #39
|
|
87
|
+
([`cc2cae7`](https://github.com/basicmachines-co/basic-memory/commit/cc2cae72c14b380f78ffeb67c2261e4dbee45faf))
|
|
88
|
+
|
|
89
|
+
This change relocates the AI assistant guide from the static directory into the package resources
|
|
90
|
+
directory, ensuring it gets properly included in the distribution package and is accessible when
|
|
91
|
+
installed via pip/uv.
|
|
92
|
+
|
|
93
|
+
🤖 Generated with [Claude Code](https://claude.ai/code)
|
|
94
|
+
|
|
95
|
+
Co-Authored-By: Claude <noreply@anthropic.com>
|
|
96
|
+
|
|
97
|
+
Signed-off-by: phernandez <paul@basicmachines.co>
|
|
98
|
+
|
|
99
|
+
- Preserve custom frontmatter fields when updating notes
|
|
100
|
+
([`78f234b`](https://github.com/basicmachines-co/basic-memory/commit/78f234b1806b578a0a833e8ee4184015b7369a97))
|
|
101
|
+
|
|
102
|
+
Fixes #36 by modifying entity_service.update_entity() to read existing frontmatter from files before
|
|
103
|
+
updating them. Custom metadata fields such as Status, Priority, and Version are now preserved when
|
|
104
|
+
notes are updated through the write_note MCP tool.
|
|
105
|
+
|
|
106
|
+
Added test case that verifies this behavior by creating a note with custom frontmatter and then
|
|
107
|
+
updating it.
|
|
108
|
+
|
|
109
|
+
🤖 Generated with [Claude Code](https://claude.ai/code)
|
|
110
|
+
|
|
111
|
+
Co-Authored-By: Claude <noreply@anthropic.com>
|
|
112
|
+
|
|
113
|
+
- Preserve custom frontmatter fields when updating notes
|
|
114
|
+
([`e716946`](https://github.com/basicmachines-co/basic-memory/commit/e716946b4408d017eca4be720956d5a210b4e6b1))
|
|
115
|
+
|
|
116
|
+
Fixes #36 by modifying entity_service.update_entity() to read existing frontmatter from files before
|
|
117
|
+
updating them. Custom metadata fields such as Status, Priority, and Version are now preserved when
|
|
118
|
+
notes are updated through the write_note MCP tool.
|
|
119
|
+
|
|
120
|
+
Added test case that verifies this behavior by creating a note with custom frontmatter and then
|
|
121
|
+
updating it.
|
|
122
|
+
|
|
123
|
+
🤖 Generated with [Claude Code](https://claude.ai/code)
|
|
124
|
+
|
|
125
|
+
Co-Authored-By: Claude <noreply@anthropic.com>
|
|
126
|
+
|
|
127
|
+
Signed-off-by: phernandez <paul@basicmachines.co>
|
|
128
|
+
|
|
129
|
+
### Chores
|
|
130
|
+
|
|
131
|
+
- Remove duplicate code in entity_service.py from bad merge
|
|
132
|
+
([`681af5d`](https://github.com/basicmachines-co/basic-memory/commit/681af5d4505dadc40b4086630f739d76bac9201d))
|
|
133
|
+
|
|
134
|
+
Signed-off-by: phernandez <paul@basicmachines.co>
|
|
135
|
+
|
|
136
|
+
### Documentation
|
|
137
|
+
|
|
138
|
+
- Add help docs to mcp cli tools
|
|
139
|
+
([`731b502`](https://github.com/basicmachines-co/basic-memory/commit/731b502d36cec253d114403d73b48fab3c47786e))
|
|
140
|
+
|
|
141
|
+
Signed-off-by: phernandez <paul@basicmachines.co>
|
|
142
|
+
|
|
143
|
+
- Add mcp badge, update cli reference, llms-install.md
|
|
144
|
+
([`b26afa9`](https://github.com/basicmachines-co/basic-memory/commit/b26afa927f98021246cd8b64858e57333595ea90))
|
|
145
|
+
|
|
146
|
+
Signed-off-by: phernandez <paul@basicmachines.co>
|
|
147
|
+
|
|
148
|
+
- Update CLAUDE.md ([#33](https://github.com/basicmachines-co/basic-memory/pull/33),
|
|
149
|
+
[`dfaf0fe`](https://github.com/basicmachines-co/basic-memory/commit/dfaf0fea9cf5b97d169d51a6276ec70162c21a7e))
|
|
150
|
+
|
|
151
|
+
fix spelling in CLAUDE.md: enviroment -> environment Signed-off-by: Ikko Eltociear Ashimine
|
|
152
|
+
<eltociear@gmail.com>
|
|
153
|
+
|
|
154
|
+
### Refactoring
|
|
155
|
+
|
|
156
|
+
- Move project stats into projct subcommand
|
|
157
|
+
([`2a881b1`](https://github.com/basicmachines-co/basic-memory/commit/2a881b1425c73947f037fbe7ac5539c015b62526))
|
|
158
|
+
|
|
159
|
+
Signed-off-by: phernandez <paul@basicmachines.co>
|
|
160
|
+
|
|
161
|
+
|
|
4
162
|
## v0.10.0 (2025-03-15)
|
|
5
163
|
|
|
6
164
|
### Bug Fixes
|
|
@@ -37,6 +37,7 @@ See the [README.md](README.md) file for a project overview.
|
|
|
37
37
|
- API uses FastAPI for endpoints
|
|
38
38
|
- Follow the repository pattern for data access
|
|
39
39
|
- Tools communicate to api routers via the httpx ASGI client (in process)
|
|
40
|
+
- avoid using "private" functions in modules or classes (prepended with _)
|
|
40
41
|
|
|
41
42
|
### Codebase Architecture
|
|
42
43
|
|
|
@@ -63,7 +64,7 @@ See the [README.md](README.md) file for a project overview.
|
|
|
63
64
|
- Testing uses pytest with asyncio support (strict mode)
|
|
64
65
|
- Test database uses in-memory SQLite
|
|
65
66
|
- Avoid creating mocks in tests in most circumstances.
|
|
66
|
-
- Each test runs in a standalone
|
|
67
|
+
- Each test runs in a standalone environment with in memory SQLite and tmp_file directory
|
|
67
68
|
|
|
68
69
|
## BASIC MEMORY PRODUCT USAGE
|
|
69
70
|
|
|
@@ -106,7 +107,7 @@ See the [README.md](README.md) file for a project overview.
|
|
|
106
107
|
1d", "1 week")
|
|
107
108
|
|
|
108
109
|
**Search & Discovery:**
|
|
109
|
-
- `
|
|
110
|
+
- `search_notes(query, page, page_size)` - Full-text search across all content with filtering options
|
|
110
111
|
|
|
111
112
|
**Visualization:**
|
|
112
113
|
- `canvas(nodes, edges, title, folder)` - Generate Obsidian canvas files for knowledge graph visualization
|
|
@@ -114,7 +115,7 @@ See the [README.md](README.md) file for a project overview.
|
|
|
114
115
|
- MCP Prompts for better AI interaction:
|
|
115
116
|
- `ai_assistant_guide()` - Guidance on effectively using Basic Memory tools for AI assistants
|
|
116
117
|
- `continue_conversation(topic, timeframe)` - Continue previous conversations with relevant historical context
|
|
117
|
-
- `
|
|
118
|
+
- `search_notes(query, after_date)` - Search with detailed, formatted results for better context understanding
|
|
118
119
|
- `recent_activity(timeframe)` - View recently changed items with formatted output
|
|
119
120
|
- `json_canvas_spec()` - Full JSON Canvas specification for Obsidian visualization
|
|
120
121
|
|
|
@@ -134,30 +135,32 @@ could achieve independently.
|
|
|
134
135
|
|
|
135
136
|
## GitHub Integration
|
|
136
137
|
|
|
137
|
-
Basic Memory
|
|
138
|
+
Basic Memory uses Claude directly into the development workflow through GitHub:
|
|
138
139
|
|
|
139
140
|
### GitHub MCP Tools
|
|
140
141
|
|
|
141
|
-
Using the GitHub Model Context Protocol server, Claude can
|
|
142
|
+
Using the GitHub Model Context Protocol server, Claude can:
|
|
142
143
|
|
|
143
144
|
- **Repository Management**:
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
145
|
+
- View repository files and structure
|
|
146
|
+
- Read file contents
|
|
147
|
+
- Create new branches
|
|
148
|
+
- Create and update files
|
|
148
149
|
|
|
149
150
|
- **Issue Management**:
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
151
|
+
- Create new issues
|
|
152
|
+
- Comment on existing issues
|
|
153
|
+
- Close and update issues
|
|
154
|
+
- Search across issues
|
|
154
155
|
|
|
155
156
|
- **Pull Request Workflow**:
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
157
|
+
- Create pull requests
|
|
158
|
+
- Review code changes
|
|
159
|
+
- Add comments to PRs
|
|
159
160
|
|
|
160
|
-
This integration enables Claude to participate as a full team member in the development process, not just as a code
|
|
161
|
+
This integration enables Claude to participate as a full team member in the development process, not just as a code
|
|
162
|
+
generation tool. Claude's GitHub account ([bm-claudeai](https://github.com/bm-claudeai)) is a member of the Basic
|
|
163
|
+
Machines organization with direct contributor access to the codebase.
|
|
161
164
|
|
|
162
165
|
### Collaborative Development Process
|
|
163
166
|
|
|
@@ -168,4 +171,5 @@ With GitHub integration, the development workflow includes:
|
|
|
168
171
|
3. **Branch management** - Claude can create feature branches for implementations
|
|
169
172
|
4. **Documentation maintenance** - Claude can keep documentation updated as the code evolves
|
|
170
173
|
|
|
171
|
-
|
|
174
|
+
With this integration, the AI assistant is a full-fledged team member rather than just a tool for generating code
|
|
175
|
+
snippets.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: basic-memory
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.11.0
|
|
4
4
|
Summary: Local-first knowledge management combining Zettelkasten with knowledge graphs
|
|
5
5
|
Project-URL: Homepage, https://github.com/basicmachines-co/basic-memory
|
|
6
6
|
Project-URL: Repository, https://github.com/basicmachines-co/basic-memory
|
|
@@ -37,6 +37,8 @@ Description-Content-Type: text/markdown
|
|
|
37
37
|
[](https://www.python.org/downloads/)
|
|
38
38
|
[](https://github.com/basicmachines-co/basic-memory/actions)
|
|
39
39
|
[](https://github.com/astral-sh/ruff)
|
|
40
|
+

|
|
41
|
+

|
|
40
42
|
[](https://smithery.ai/server/@basicmachines-co/basic-memory)
|
|
41
43
|
|
|
42
44
|
# Basic Memory
|
|
@@ -317,7 +319,8 @@ for OS X):
|
|
|
317
319
|
}
|
|
318
320
|
```
|
|
319
321
|
|
|
320
|
-
If you want to use a specific project (see [Multiple Projects](#multiple-projects)
|
|
322
|
+
If you want to use a specific project (see [Multiple Projects](docs/User%20Guide.md#multiple-projects)), update your
|
|
323
|
+
Claude Desktop
|
|
321
324
|
config:
|
|
322
325
|
|
|
323
326
|
```json
|
|
@@ -352,7 +355,7 @@ basic-memory sync --watch
|
|
|
352
355
|
write_note(title, content, folder, tags) - Create or update notes
|
|
353
356
|
read_note(identifier, page, page_size) - Read notes by title or permalink
|
|
354
357
|
build_context(url, depth, timeframe) - Navigate knowledge graph via memory:// URLs
|
|
355
|
-
|
|
358
|
+
search_notes(query, page, page_size) - Search across your knowledge base
|
|
356
359
|
recent_activity(type, depth, timeframe) - Find recently updated information
|
|
357
360
|
canvas(nodes, edges, title, folder) - Generate knowledge visualizations
|
|
358
361
|
```
|
|
@@ -383,4 +386,14 @@ AGPL-3.0
|
|
|
383
386
|
Contributions are welcome. See the [Contributing](CONTRIBUTING.md) guide for info about setting up the project locally
|
|
384
387
|
and submitting PRs.
|
|
385
388
|
|
|
386
|
-
|
|
389
|
+
## Star History
|
|
390
|
+
|
|
391
|
+
<a href="https://www.star-history.com/#basicmachines-co/basic-memory&Date">
|
|
392
|
+
<picture>
|
|
393
|
+
<source media="(prefers-color-scheme: dark)" srcset="https://api.star-history.com/svg?repos=basicmachines-co/basic-memory&type=Date&theme=dark" />
|
|
394
|
+
<source media="(prefers-color-scheme: light)" srcset="https://api.star-history.com/svg?repos=basicmachines-co/basic-memory&type=Date" />
|
|
395
|
+
<img alt="Star History Chart" src="https://api.star-history.com/svg?repos=basicmachines-co/basic-memory&type=Date" />
|
|
396
|
+
</picture>
|
|
397
|
+
</a>
|
|
398
|
+
|
|
399
|
+
Built with ♥️ by Basic Machines
|
|
@@ -3,6 +3,8 @@
|
|
|
3
3
|
[](https://www.python.org/downloads/)
|
|
4
4
|
[](https://github.com/basicmachines-co/basic-memory/actions)
|
|
5
5
|
[](https://github.com/astral-sh/ruff)
|
|
6
|
+

|
|
7
|
+

|
|
6
8
|
[](https://smithery.ai/server/@basicmachines-co/basic-memory)
|
|
7
9
|
|
|
8
10
|
# Basic Memory
|
|
@@ -283,7 +285,8 @@ for OS X):
|
|
|
283
285
|
}
|
|
284
286
|
```
|
|
285
287
|
|
|
286
|
-
If you want to use a specific project (see [Multiple Projects](#multiple-projects)
|
|
288
|
+
If you want to use a specific project (see [Multiple Projects](docs/User%20Guide.md#multiple-projects)), update your
|
|
289
|
+
Claude Desktop
|
|
287
290
|
config:
|
|
288
291
|
|
|
289
292
|
```json
|
|
@@ -318,7 +321,7 @@ basic-memory sync --watch
|
|
|
318
321
|
write_note(title, content, folder, tags) - Create or update notes
|
|
319
322
|
read_note(identifier, page, page_size) - Read notes by title or permalink
|
|
320
323
|
build_context(url, depth, timeframe) - Navigate knowledge graph via memory:// URLs
|
|
321
|
-
|
|
324
|
+
search_notes(query, page, page_size) - Search across your knowledge base
|
|
322
325
|
recent_activity(type, depth, timeframe) - Find recently updated information
|
|
323
326
|
canvas(nodes, edges, title, folder) - Generate knowledge visualizations
|
|
324
327
|
```
|
|
@@ -349,4 +352,14 @@ AGPL-3.0
|
|
|
349
352
|
Contributions are welcome. See the [Contributing](CONTRIBUTING.md) guide for info about setting up the project locally
|
|
350
353
|
and submitting PRs.
|
|
351
354
|
|
|
352
|
-
|
|
355
|
+
## Star History
|
|
356
|
+
|
|
357
|
+
<a href="https://www.star-history.com/#basicmachines-co/basic-memory&Date">
|
|
358
|
+
<picture>
|
|
359
|
+
<source media="(prefers-color-scheme: dark)" srcset="https://api.star-history.com/svg?repos=basicmachines-co/basic-memory&type=Date&theme=dark" />
|
|
360
|
+
<source media="(prefers-color-scheme: light)" srcset="https://api.star-history.com/svg?repos=basicmachines-co/basic-memory&type=Date" />
|
|
361
|
+
<img alt="Star History Chart" src="https://api.star-history.com/svg?repos=basicmachines-co/basic-memory&type=Date" />
|
|
362
|
+
</picture>
|
|
363
|
+
</a>
|
|
364
|
+
|
|
365
|
+
Built with ♥️ by Basic Machines
|
|
@@ -4,6 +4,8 @@ type: note
|
|
|
4
4
|
permalink: docs/ai-assistant-guide
|
|
5
5
|
---
|
|
6
6
|
> Note: This is an optional document that can be copy/pasted into the project knowledge for an LLM to provide a full description of how it can work with Basic Memory. It is provided as a helpful resource. The tools contain extensive usage description prompts with enable the LLM to understand them.
|
|
7
|
+
|
|
8
|
+
You can [download](https://github.com/basicmachines-co/basic-memory/blob/main/docs/AI%20Assistant%20Guide.md) the contents of this file from GitHub
|
|
7
9
|
# AI Assistant Guide for Basic Memory
|
|
8
10
|
|
|
9
11
|
This guide helps you, the AI assistant, use Basic Memory tools effectively when working with users. It covers reading, writing, and navigating knowledge through the Model Context Protocol (MCP).
|
|
@@ -51,7 +53,7 @@ content = await read_note("specs/search-design") # By path
|
|
|
51
53
|
content = await read_note("memory://specs/search") # By memory URL
|
|
52
54
|
|
|
53
55
|
# Searching for knowledge
|
|
54
|
-
results = await
|
|
56
|
+
results = await search_notes(
|
|
55
57
|
query="authentication system", # Text to search for
|
|
56
58
|
page=1, # Optional: Pagination
|
|
57
59
|
page_size=10 # Optional: Results per page
|
|
@@ -152,7 +154,7 @@ Users will interact with Basic Memory in patterns like:
|
|
|
152
154
|
Human: "What were our decisions about auth?"
|
|
153
155
|
|
|
154
156
|
You: Let me find that information for you.
|
|
155
|
-
[Use
|
|
157
|
+
[Use search_notes() to find relevant notes]
|
|
156
158
|
[Then build_context() to understand connections]
|
|
157
159
|
```
|
|
158
160
|
|
|
@@ -249,7 +251,7 @@ When creating relations, you can:
|
|
|
249
251
|
# Example workflow for creating notes with effective relations
|
|
250
252
|
async def create_note_with_effective_relations():
|
|
251
253
|
# Search for existing entities to reference
|
|
252
|
-
search_results = await
|
|
254
|
+
search_results = await search_notes("travel")
|
|
253
255
|
existing_entities = [result.title for result in search_results.primary_results]
|
|
254
256
|
|
|
255
257
|
# Check if specific entities exist
|
|
@@ -321,7 +323,7 @@ Common issues to watch for:
|
|
|
321
323
|
content = await read_note("Document")
|
|
322
324
|
except:
|
|
323
325
|
# Try search instead
|
|
324
|
-
results = await
|
|
326
|
+
results = await search_notes("Document")
|
|
325
327
|
if results and results.primary_results:
|
|
326
328
|
# Found something similar
|
|
327
329
|
content = await read_note(results.primary_results[0].permalink)
|
|
@@ -367,7 +369,7 @@ Common issues to watch for:
|
|
|
367
369
|
- **Create deliberate relations**: Connect each note to at least 2-3 related entities
|
|
368
370
|
- **Use existing entities**: Before creating a new relation, search for existing entities
|
|
369
371
|
- **Verify wikilinks**: When referencing `[[Entity]]`, use exact titles of existing notes
|
|
370
|
-
- **Check accuracy**: Use `
|
|
372
|
+
- **Check accuracy**: Use `search_notes()` or `recent_activity()` to confirm entity titles
|
|
371
373
|
- **Use precise relation types**: Choose specific relation types that convey meaning (e.g., "implements" instead of "relates_to")
|
|
372
374
|
- **Consider bidirectional relations**: When appropriate, create inverse relations in both entities
|
|
373
375
|
|
|
@@ -21,14 +21,13 @@ basic-memory sync
|
|
|
21
21
|
# Watch for changes
|
|
22
22
|
basic-memory sync --watch
|
|
23
23
|
|
|
24
|
-
#
|
|
25
|
-
basic-memory sync
|
|
24
|
+
# Show detailed sync information
|
|
25
|
+
basic-memory sync --verbose
|
|
26
26
|
```
|
|
27
27
|
|
|
28
28
|
Options:
|
|
29
29
|
- `--watch`: Continuously monitor for changes
|
|
30
30
|
- `--verbose`: Show detailed output
|
|
31
|
-
- `PATH`: Optional path to sync (defaults to ~/basic-memory)
|
|
32
31
|
|
|
33
32
|
### import
|
|
34
33
|
|
|
@@ -43,13 +42,13 @@ basic-memory import claude projects
|
|
|
43
42
|
|
|
44
43
|
# ChatGPT history
|
|
45
44
|
basic-memory import chatgpt
|
|
46
|
-
```
|
|
47
45
|
|
|
48
|
-
|
|
49
|
-
-
|
|
50
|
-
|
|
51
|
-
|
|
46
|
+
# ChatGPT history
|
|
47
|
+
basic-memory import memory-json /path/to/memory.json
|
|
48
|
+
|
|
49
|
+
```
|
|
52
50
|
|
|
51
|
+
> **Note**: After importing, run `basic-memory sync` to index the new files.
|
|
53
52
|
### status
|
|
54
53
|
|
|
55
54
|
Shows system status information:
|
|
@@ -242,10 +241,12 @@ You can redirect input from a file:
|
|
|
242
241
|
basic-memory tool write-note --title "Meeting Notes" --folder "meetings" < meeting_notes.md
|
|
243
242
|
```
|
|
244
243
|
|
|
245
|
-
|
|
244
|
+
## Integration with Claude Code
|
|
246
245
|
|
|
247
246
|
This feature works well with Claude Code in the terminal:
|
|
248
247
|
|
|
248
|
+
### cli
|
|
249
|
+
|
|
249
250
|
In a Claude Code session, let Claude know he can use the basic-memory tools, then he can execute them via the cli:
|
|
250
251
|
|
|
251
252
|
```
|
|
@@ -258,6 +259,32 @@ In a Claude Code session, let Claude know he can use the basic-memory tools, the
|
|
|
258
259
|
|
|
259
260
|
```
|
|
260
261
|
|
|
262
|
+
### MCP
|
|
263
|
+
|
|
264
|
+
Claude code can also now use mcp tools, so it can use any of the basic-memory tool natively. To install basic-memory in Claude Code:
|
|
265
|
+
|
|
266
|
+
Run
|
|
267
|
+
```
|
|
268
|
+
claude mcp add basic-memory basic-memory mcp
|
|
269
|
+
```
|
|
270
|
+
|
|
271
|
+
For example:
|
|
272
|
+
|
|
273
|
+
```
|
|
274
|
+
➜ ~ claude mcp add basic-memory basic-memory mcp
|
|
275
|
+
Added stdio MCP server basic-memory with command: basic-memory mcp to project config
|
|
276
|
+
➜ ~ claude mcp list
|
|
277
|
+
basic-memory: basic-memory mcp
|
|
278
|
+
```
|
|
279
|
+
|
|
280
|
+
You can then use the `/mcp` command in the REPL:
|
|
281
|
+
|
|
282
|
+
```
|
|
283
|
+
/mcp
|
|
284
|
+
⎿ MCP Server Status
|
|
285
|
+
|
|
286
|
+
• basic-memory: connected
|
|
287
|
+
```
|
|
261
288
|
|
|
262
289
|
## Troubleshooting Common Issues
|
|
263
290
|
|
|
@@ -14,6 +14,10 @@ It can be used with any service that supports the MCP, but Claude Desktop works
|
|
|
14
14
|
|
|
15
15
|
## Installation
|
|
16
16
|
|
|
17
|
+
### Prerequisites
|
|
18
|
+
|
|
19
|
+
The easiest way to install basic memory is via `uv`. See the [uv installation guide](https://docs.astral.sh/uv/getting-started/installation/).
|
|
20
|
+
|
|
17
21
|
### 1. Install Basic Memory
|
|
18
22
|
|
|
19
23
|
```bash
|
|
@@ -26,14 +30,32 @@ pip install basic-memory
|
|
|
26
30
|
|
|
27
31
|
> **Important**: You need to install Basic Memory using one of the commands above to use the command line tools.
|
|
28
32
|
|
|
29
|
-
Using `uv tool install` will install the basic-memory package in a standalone virtual environment.
|
|
30
|
-
See the [UV docs](https://docs.astral.sh/uv/concepts/tools/) for more info.
|
|
33
|
+
Using `uv tool install` will install the basic-memory package in a standalone virtual environment. See the [UV docs](https://docs.astral.sh/uv/concepts/tools/) for more info.
|
|
31
34
|
|
|
32
35
|
### 2. Configure Claude Desktop
|
|
33
36
|
|
|
34
|
-
Claude Desktop
|
|
37
|
+
Edit your Claude Desktop config, located at `~/Library/Application Support/Claude/claude_desktop_config.json`:
|
|
38
|
+
|
|
39
|
+
```json
|
|
40
|
+
{
|
|
41
|
+
"mcpServers": {
|
|
42
|
+
"basic-memory": {
|
|
43
|
+
"command": "uvx",
|
|
44
|
+
"args": [
|
|
45
|
+
"basic-memory",
|
|
46
|
+
"mcp"
|
|
47
|
+
]
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
**Restart Claude Desktop**. You should see Basic Memory tools available in the "tools" menu in Claude Desktop (the little hammer icon in the bottom-right corner of the chat interface). Click it to view available tools.
|
|
54
|
+
#### Fix Path to uv
|
|
55
|
+
|
|
56
|
+
If you get an error that says `ENOENT` , this most likely means Claude Desktop could not find your `uv` installation. Make sure that you have `uv` installed per the instructions above, then:
|
|
35
57
|
|
|
36
|
-
|
|
58
|
+
**Step 1: Find the absolute path to uvx**
|
|
37
59
|
|
|
38
60
|
Open Terminal and run:
|
|
39
61
|
|
|
@@ -43,9 +65,9 @@ which uvx
|
|
|
43
65
|
|
|
44
66
|
This will show you the full path (e.g., `/Users/yourusername/.cargo/bin/uvx`).
|
|
45
67
|
|
|
46
|
-
|
|
68
|
+
**Step 2: Edit Claude Desktop Configuration**
|
|
47
69
|
|
|
48
|
-
Edit the
|
|
70
|
+
Edit the Claude Desktop config:
|
|
49
71
|
|
|
50
72
|
```json
|
|
51
73
|
{
|
|
@@ -63,14 +85,14 @@ Edit the configuration file located at `~/Library/Application Support/Claude/cla
|
|
|
63
85
|
|
|
64
86
|
Replace `/absolute/path/to/uvx` with the actual path you found in Step 1.
|
|
65
87
|
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
#### Step 3: Restart Claude Desktop
|
|
88
|
+
**Step 3: Restart Claude Desktop**
|
|
69
89
|
|
|
70
90
|
Close and reopen Claude Desktop for the changes to take effect.
|
|
71
91
|
|
|
72
92
|
### 3. Start the Sync Service
|
|
73
93
|
|
|
94
|
+
> Note the sync service is optional. You can run it if you want your local change to be available in Claude Desktop
|
|
95
|
+
|
|
74
96
|
Start the sync service to monitor your files for changes:
|
|
75
97
|
|
|
76
98
|
```bash
|
|
@@ -81,7 +103,7 @@ basic-memory sync
|
|
|
81
103
|
basic-memory sync --watch
|
|
82
104
|
```
|
|
83
105
|
|
|
84
|
-
The `--watch` flag enables automatic detection of file changes,
|
|
106
|
+
The `--watch` flag enables automatic detection of file changes, updating your knowledge in real time.
|
|
85
107
|
|
|
86
108
|
### 4. Staying Updated
|
|
87
109
|
|
|
@@ -97,6 +119,21 @@ pip install --upgrade basic-memory
|
|
|
97
119
|
|
|
98
120
|
> **Note**: After updating, you'll need to restart Claude Desktop and your sync process for changes to take effect.
|
|
99
121
|
|
|
122
|
+
### 5. Change the default project directory
|
|
123
|
+
|
|
124
|
+
By default, Basic Memory will create a project in the `basic-memory` folder in your home directory. You can change this via the `project` [[CLI Reference#project|cli command]].
|
|
125
|
+
|
|
126
|
+
```
|
|
127
|
+
# Add a new project
|
|
128
|
+
basic-memory project add work ~/work-basic-memory
|
|
129
|
+
|
|
130
|
+
# Set the default project
|
|
131
|
+
basic-memory project default work
|
|
132
|
+
|
|
133
|
+
# List all configured projects
|
|
134
|
+
basic-memory project list
|
|
135
|
+
```
|
|
136
|
+
|
|
100
137
|
## Troubleshooting Installation
|
|
101
138
|
|
|
102
139
|
### Common Issues
|
|
@@ -119,30 +156,24 @@ If you encounter permission errors:
|
|
|
119
156
|
|
|
120
157
|
## Creating Your First Knowledge Note
|
|
121
158
|
|
|
122
|
-
1. **
|
|
123
|
-
```bash
|
|
124
|
-
basic-memory sync --watch
|
|
125
|
-
```
|
|
126
|
-
Keep this running in the background.
|
|
159
|
+
1. **Open Claude Desktop** and start a new conversation.
|
|
127
160
|
|
|
128
|
-
2. **
|
|
129
|
-
|
|
130
|
-
3. **Have a natural conversation** about any topic:
|
|
161
|
+
2. **Have a natural conversation** about any topic:
|
|
131
162
|
```
|
|
132
163
|
You: "Let's talk about coffee brewing methods I've been experimenting with."
|
|
133
164
|
Claude: "I'd be happy to discuss coffee brewing methods..."
|
|
134
165
|
You: "I've found that pour over gives more flavor clarity than French press..."
|
|
135
166
|
```
|
|
136
167
|
|
|
137
|
-
|
|
168
|
+
3. **Ask Claude to create a note**:
|
|
138
169
|
```
|
|
139
170
|
You: "Could you create a note summarizing what we've discussed about coffee brewing?"
|
|
140
171
|
```
|
|
141
172
|
|
|
142
|
-
|
|
173
|
+
4. **Confirm note creation**:
|
|
143
174
|
Claude will confirm when the note has been created and where it's stored.
|
|
144
175
|
|
|
145
|
-
|
|
176
|
+
5. **View the created file** in your `~/basic-memory` directory using any text editor or Obsidian.
|
|
146
177
|
The file structure will look similar to:
|
|
147
178
|
```markdown
|
|
148
179
|
---
|
|
@@ -160,6 +191,12 @@ If you encounter permission errors:
|
|
|
160
191
|
- relates_to [[Other Coffee Topics]]
|
|
161
192
|
```
|
|
162
193
|
|
|
194
|
+
5. **Start the sync process** in a Terminal window (optional):
|
|
195
|
+
```bash
|
|
196
|
+
basic-memory sync --watch
|
|
197
|
+
```
|
|
198
|
+
Keep this running in the background.
|
|
199
|
+
|
|
163
200
|
## Using Special Prompts
|
|
164
201
|
|
|
165
202
|
Basic Memory includes special prompts that help you start conversations with context from your knowledge base:
|
|
@@ -196,7 +196,7 @@ flowchart TD
|
|
|
196
196
|
end
|
|
197
197
|
|
|
198
198
|
BMCP <-->|"write_note() read_note()"| KnowledgeFiles
|
|
199
|
-
BMCP <-->|"
|
|
199
|
+
BMCP <-->|"search_notes() build_context()"| KnowledgeIndex
|
|
200
200
|
KnowledgeFiles <-.->|Sync Process| KnowledgeIndex
|
|
201
201
|
KnowledgeFiles <-->|Direct Editing| Editors((Text Editors & Git))
|
|
202
202
|
|
|
Binary file
|