basic-memory 0.9.0__tar.gz → 0.10.1__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.

Files changed (244) hide show
  1. basic_memory-0.10.1/.github/dependabot.yml +12 -0
  2. {basic_memory-0.9.0 → basic_memory-0.10.1}/.gitignore +5 -0
  3. {basic_memory-0.9.0 → basic_memory-0.10.1}/CHANGELOG.md +191 -0
  4. {basic_memory-0.9.0 → basic_memory-0.10.1}/CLAUDE.md +44 -2
  5. {basic_memory-0.9.0 → basic_memory-0.10.1}/CONTRIBUTING.md +38 -34
  6. basic_memory-0.10.1/Dockerfile +16 -0
  7. basic_memory-0.10.1/PKG-INFO +398 -0
  8. basic_memory-0.10.1/README.md +364 -0
  9. basic_memory-0.10.1/SECURITY.md +13 -0
  10. {basic_memory-0.9.0 → basic_memory-0.10.1}/docs/AI Assistant Guide.md +2 -0
  11. {basic_memory-0.9.0 → basic_memory-0.10.1}/docs/CLI Reference.md +36 -9
  12. basic_memory-0.10.1/docs/Getting Started with Basic Memory.md +304 -0
  13. basic_memory-0.10.1/docs/Technical Information.md +243 -0
  14. {basic_memory-0.9.0 → basic_memory-0.10.1}/docs/User Guide.md +64 -26
  15. basic_memory-0.10.1/docs/Welcome to Basic memory.md +68 -0
  16. basic_memory-0.10.1/docs/attachments/Claude-Obsidian-Demo.mp4 +0 -0
  17. basic_memory-0.10.1/docs/attachments/disk-ai-logo-400x400.png +0 -0
  18. basic_memory-0.10.1/docs/attachments/disk-ai-logo.png +0 -0
  19. basic_memory-0.10.1/docs/publish.js +5 -0
  20. basic_memory-0.10.1/llms-install.md +128 -0
  21. {basic_memory-0.9.0 → basic_memory-0.10.1}/pyproject.toml +1 -1
  22. basic_memory-0.10.1/smithery.yaml +15 -0
  23. {basic_memory-0.9.0 → basic_memory-0.10.1}/src/basic_memory/__init__.py +1 -1
  24. {basic_memory-0.9.0 → basic_memory-0.10.1}/src/basic_memory/api/routers/project_info_router.py +3 -4
  25. {basic_memory-0.9.0 → basic_memory-0.10.1}/src/basic_memory/cli/commands/__init__.py +1 -2
  26. {basic_memory-0.9.0 → basic_memory-0.10.1}/src/basic_memory/cli/commands/import_chatgpt.py +5 -6
  27. {basic_memory-0.9.0 → basic_memory-0.10.1}/src/basic_memory/cli/commands/import_claude_conversations.py +5 -6
  28. {basic_memory-0.9.0 → basic_memory-0.10.1}/src/basic_memory/cli/commands/import_claude_projects.py +5 -6
  29. basic_memory-0.9.0/src/basic_memory/cli/commands/project_info.py → basic_memory-0.10.1/src/basic_memory/cli/commands/project.py +126 -8
  30. {basic_memory-0.9.0 → basic_memory-0.10.1}/src/basic_memory/cli/commands/tool.py +5 -1
  31. {basic_memory-0.9.0 → basic_memory-0.10.1}/src/basic_memory/config.py +3 -4
  32. {basic_memory-0.9.0 → basic_memory-0.10.1}/src/basic_memory/file_utils.py +3 -3
  33. {basic_memory-0.9.0 → basic_memory-0.10.1}/src/basic_memory/markdown/entity_parser.py +13 -10
  34. {basic_memory-0.9.0 → basic_memory-0.10.1}/src/basic_memory/markdown/markdown_processor.py +1 -1
  35. {basic_memory-0.9.0 → basic_memory-0.10.1}/src/basic_memory/markdown/schemas.py +1 -1
  36. {basic_memory-0.9.0 → basic_memory-0.10.1}/src/basic_memory/mcp/prompts/ai_assistant_guide.py +3 -4
  37. {basic_memory-0.9.0 → basic_memory-0.10.1}/src/basic_memory/mcp/tools/search.py +2 -2
  38. {basic_memory-0.9.0 → basic_memory-0.10.1}/src/basic_memory/mcp/tools/write_note.py +17 -7
  39. {basic_memory-0.9.0 → basic_memory-0.10.1}/src/basic_memory/services/entity_service.py +11 -1
  40. {basic_memory-0.9.0 → basic_memory-0.10.1}/src/basic_memory/services/file_service.py +3 -5
  41. {basic_memory-0.9.0 → basic_memory-0.10.1}/src/basic_memory/sync/watch_service.py +22 -12
  42. {basic_memory-0.9.0 → basic_memory-0.10.1}/src/basic_memory/utils.py +27 -1
  43. basic_memory-0.10.1/static/ai_assistant_guide.md +413 -0
  44. {basic_memory-0.9.0 → basic_memory-0.10.1}/tests/cli/test_project_commands.py +52 -2
  45. {basic_memory-0.9.0 → basic_memory-0.10.1}/tests/cli/test_project_info.py +2 -2
  46. {basic_memory-0.9.0 → basic_memory-0.10.1}/tests/mcp/test_tool_notes.py +92 -1
  47. {basic_memory-0.9.0 → basic_memory-0.10.1}/tests/services/test_entity_service.py +1 -1
  48. basic_memory-0.10.1/tests/sync/test_tmp_files.py +184 -0
  49. basic_memory-0.10.1/tests/utils/test_utf8_handling.py +195 -0
  50. {basic_memory-0.9.0 → basic_memory-0.10.1}/uv.lock +213 -183
  51. basic_memory-0.9.0/PKG-INFO +0 -736
  52. basic_memory-0.9.0/README.md +0 -702
  53. basic_memory-0.9.0/docs/.obsidian/app.json +0 -1
  54. basic_memory-0.9.0/docs/.obsidian/appearance.json +0 -1
  55. basic_memory-0.9.0/docs/.obsidian/core-plugins.json +0 -31
  56. basic_memory-0.9.0/docs/.obsidian/publish.json +0 -6
  57. basic_memory-0.9.0/docs/.obsidian/workspace.json +0 -167
  58. basic_memory-0.9.0/docs/Getting Started with Basic Memory.md +0 -176
  59. basic_memory-0.9.0/docs/Technical Information.md +0 -99
  60. basic_memory-0.9.0/docs/Welcome to Basic memory.md +0 -181
  61. basic_memory-0.9.0/docs/attachments/Obsidian-CoffeeKnowledgeBase-examples-overlays.gif +0 -0
  62. basic_memory-0.9.0/docs/attachments/Obsidian-CoffeeKnowledgeBase-examples.gif +0 -0
  63. basic_memory-0.9.0/examples/.basic-memory/memory.db +0 -0
  64. basic_memory-0.9.0/examples/.obsidian/app.json +0 -3
  65. basic_memory-0.9.0/examples/.obsidian/appearance.json +0 -1
  66. basic_memory-0.9.0/examples/.obsidian/community-plugins.json +0 -3
  67. basic_memory-0.9.0/examples/.obsidian/core-plugins.json +0 -31
  68. basic_memory-0.9.0/examples/.obsidian/graph.json +0 -22
  69. basic_memory-0.9.0/examples/.obsidian/plugins/optimize-canvas-connections/main.js +0 -158
  70. basic_memory-0.9.0/examples/.obsidian/plugins/optimize-canvas-connections/manifest.json +0 -10
  71. basic_memory-0.9.0/examples/.obsidian/publish.json +0 -6
  72. basic_memory-0.9.0/examples/.obsidian/workspace.json +0 -186
  73. basic_memory-0.9.0/examples/Untitled.md +0 -0
  74. basic_memory-0.9.0/src/basic_memory/cli/commands/project.py +0 -119
  75. {basic_memory-0.9.0 → basic_memory-0.10.1}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
  76. {basic_memory-0.9.0 → basic_memory-0.10.1}/.github/ISSUE_TEMPLATE/config.yml +0 -0
  77. {basic_memory-0.9.0 → basic_memory-0.10.1}/.github/ISSUE_TEMPLATE/documentation.md +0 -0
  78. {basic_memory-0.9.0 → basic_memory-0.10.1}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
  79. {basic_memory-0.9.0 → basic_memory-0.10.1}/.github/workflows/pr-title.yml +0 -0
  80. {basic_memory-0.9.0 → basic_memory-0.10.1}/.github/workflows/release.yml +0 -0
  81. {basic_memory-0.9.0 → basic_memory-0.10.1}/.github/workflows/test.yml +0 -0
  82. {basic_memory-0.9.0 → basic_memory-0.10.1}/.python-version +0 -0
  83. {basic_memory-0.9.0 → basic_memory-0.10.1}/CITATION.cff +0 -0
  84. {basic_memory-0.9.0 → basic_memory-0.10.1}/CLA.md +0 -0
  85. {basic_memory-0.9.0 → basic_memory-0.10.1}/CODE_OF_CONDUCT.md +0 -0
  86. {basic_memory-0.9.0 → basic_memory-0.10.1}/LICENSE +0 -0
  87. {basic_memory-0.9.0 → basic_memory-0.10.1}/Makefile +0 -0
  88. {basic_memory-0.9.0 → basic_memory-0.10.1}/basic-memory.md +0 -0
  89. {basic_memory-0.9.0 → basic_memory-0.10.1}/docs/Canvas.md +0 -0
  90. {basic_memory-0.9.0 → basic_memory-0.10.1}/docs/Knowledge Format.md +0 -0
  91. {basic_memory-0.9.0 → basic_memory-0.10.1}/docs/Obsidian Integration.md +0 -0
  92. {basic_memory-0.9.0 → basic_memory-0.10.1}/docs/attachments/Canvas.png +0 -0
  93. {basic_memory-0.9.0 → basic_memory-0.10.1}/docs/attachments/Prompt.png +0 -0
  94. {basic_memory-0.9.0 → basic_memory-0.10.1}/docs/attachments/prompt 1.png +0 -0
  95. {basic_memory-0.9.0 → basic_memory-0.10.1}/docs/attachments/prompt2.png +0 -0
  96. {basic_memory-0.9.0 → basic_memory-0.10.1}/docs/attachments/prompt3.png +0 -0
  97. {basic_memory-0.9.0 → basic_memory-0.10.1}/docs/attachments/prompt4.png +0 -0
  98. {basic_memory-0.9.0 → basic_memory-0.10.1}/examples/Coffee Notes/Brewing Equipment.md +0 -0
  99. {basic_memory-0.9.0 → basic_memory-0.10.1}/examples/Coffee Notes/Coffee Bean Origins.md +0 -0
  100. {basic_memory-0.9.0 → basic_memory-0.10.1}/examples/Coffee Notes/Coffee Brewing Methods.md +0 -0
  101. {basic_memory-0.9.0 → basic_memory-0.10.1}/examples/Coffee Notes/Coffee Flavor Map.md +0 -0
  102. {basic_memory-0.9.0 → basic_memory-0.10.1}/examples/Coffee Notes/Coffee Knowledge Base.md +0 -0
  103. {basic_memory-0.9.0 → basic_memory-0.10.1}/examples/Coffee Notes/Flavor Extraction.md +0 -0
  104. {basic_memory-0.9.0 → basic_memory-0.10.1}/examples/Coffee Notes/Perfect Pour Over Coffee Method.canvas +0 -0
  105. {basic_memory-0.9.0 → basic_memory-0.10.1}/examples/Coffee Notes/Tasting Notes.md +0 -0
  106. {basic_memory-0.9.0 → basic_memory-0.10.1}/installer/Basic.icns +0 -0
  107. {basic_memory-0.9.0 → basic_memory-0.10.1}/installer/README.md +0 -0
  108. {basic_memory-0.9.0 → basic_memory-0.10.1}/installer/icon.svg +0 -0
  109. {basic_memory-0.9.0 → basic_memory-0.10.1}/installer/installer.py +0 -0
  110. {basic_memory-0.9.0 → basic_memory-0.10.1}/installer/make_icons.sh +0 -0
  111. {basic_memory-0.9.0 → basic_memory-0.10.1}/installer/setup.py +0 -0
  112. {basic_memory-0.9.0 → basic_memory-0.10.1}/memory.json +0 -0
  113. {basic_memory-0.9.0 → basic_memory-0.10.1}/scripts/install.sh +0 -0
  114. {basic_memory-0.9.0 → basic_memory-0.10.1}/src/basic_memory/alembic/alembic.ini +0 -0
  115. {basic_memory-0.9.0 → basic_memory-0.10.1}/src/basic_memory/alembic/env.py +0 -0
  116. {basic_memory-0.9.0 → basic_memory-0.10.1}/src/basic_memory/alembic/migrations.py +0 -0
  117. {basic_memory-0.9.0 → basic_memory-0.10.1}/src/basic_memory/alembic/script.py.mako +0 -0
  118. {basic_memory-0.9.0 → basic_memory-0.10.1}/src/basic_memory/alembic/versions/3dae7c7b1564_initial_schema.py +0 -0
  119. {basic_memory-0.9.0 → basic_memory-0.10.1}/src/basic_memory/alembic/versions/502b60eaa905_remove_required_from_entity_permalink.py +0 -0
  120. {basic_memory-0.9.0 → basic_memory-0.10.1}/src/basic_memory/alembic/versions/b3c3938bacdb_relation_to_name_unique_index.py +0 -0
  121. {basic_memory-0.9.0 → basic_memory-0.10.1}/src/basic_memory/alembic/versions/cc7172b46608_update_search_index_schema.py +0 -0
  122. {basic_memory-0.9.0 → basic_memory-0.10.1}/src/basic_memory/api/__init__.py +0 -0
  123. {basic_memory-0.9.0 → basic_memory-0.10.1}/src/basic_memory/api/app.py +0 -0
  124. {basic_memory-0.9.0 → basic_memory-0.10.1}/src/basic_memory/api/routers/__init__.py +0 -0
  125. {basic_memory-0.9.0 → basic_memory-0.10.1}/src/basic_memory/api/routers/knowledge_router.py +0 -0
  126. {basic_memory-0.9.0 → basic_memory-0.10.1}/src/basic_memory/api/routers/memory_router.py +0 -0
  127. {basic_memory-0.9.0 → basic_memory-0.10.1}/src/basic_memory/api/routers/resource_router.py +0 -0
  128. {basic_memory-0.9.0 → basic_memory-0.10.1}/src/basic_memory/api/routers/search_router.py +0 -0
  129. {basic_memory-0.9.0 → basic_memory-0.10.1}/src/basic_memory/cli/__init__.py +0 -0
  130. {basic_memory-0.9.0 → basic_memory-0.10.1}/src/basic_memory/cli/app.py +0 -0
  131. {basic_memory-0.9.0 → basic_memory-0.10.1}/src/basic_memory/cli/commands/db.py +0 -0
  132. {basic_memory-0.9.0 → basic_memory-0.10.1}/src/basic_memory/cli/commands/import_memory_json.py +0 -0
  133. {basic_memory-0.9.0 → basic_memory-0.10.1}/src/basic_memory/cli/commands/mcp.py +0 -0
  134. {basic_memory-0.9.0 → basic_memory-0.10.1}/src/basic_memory/cli/commands/status.py +0 -0
  135. {basic_memory-0.9.0 → basic_memory-0.10.1}/src/basic_memory/cli/commands/sync.py +0 -0
  136. {basic_memory-0.9.0 → basic_memory-0.10.1}/src/basic_memory/cli/main.py +0 -0
  137. {basic_memory-0.9.0 → basic_memory-0.10.1}/src/basic_memory/db.py +0 -0
  138. {basic_memory-0.9.0 → basic_memory-0.10.1}/src/basic_memory/deps.py +0 -0
  139. {basic_memory-0.9.0 → basic_memory-0.10.1}/src/basic_memory/markdown/__init__.py +0 -0
  140. {basic_memory-0.9.0 → basic_memory-0.10.1}/src/basic_memory/markdown/plugins.py +0 -0
  141. {basic_memory-0.9.0 → basic_memory-0.10.1}/src/basic_memory/markdown/utils.py +0 -0
  142. {basic_memory-0.9.0 → basic_memory-0.10.1}/src/basic_memory/mcp/__init__.py +0 -0
  143. {basic_memory-0.9.0 → basic_memory-0.10.1}/src/basic_memory/mcp/async_client.py +0 -0
  144. {basic_memory-0.9.0 → basic_memory-0.10.1}/src/basic_memory/mcp/main.py +0 -0
  145. {basic_memory-0.9.0 → basic_memory-0.10.1}/src/basic_memory/mcp/prompts/__init__.py +0 -0
  146. {basic_memory-0.9.0 → basic_memory-0.10.1}/src/basic_memory/mcp/prompts/continue_conversation.py +0 -0
  147. {basic_memory-0.9.0 → basic_memory-0.10.1}/src/basic_memory/mcp/prompts/recent_activity.py +0 -0
  148. {basic_memory-0.9.0 → basic_memory-0.10.1}/src/basic_memory/mcp/prompts/search.py +0 -0
  149. {basic_memory-0.9.0 → basic_memory-0.10.1}/src/basic_memory/mcp/prompts/utils.py +0 -0
  150. {basic_memory-0.9.0/static → basic_memory-0.10.1/src/basic_memory/mcp/resources}/ai_assistant_guide.md +0 -0
  151. {basic_memory-0.9.0 → basic_memory-0.10.1}/src/basic_memory/mcp/server.py +0 -0
  152. {basic_memory-0.9.0 → basic_memory-0.10.1}/src/basic_memory/mcp/tools/__init__.py +0 -0
  153. {basic_memory-0.9.0 → basic_memory-0.10.1}/src/basic_memory/mcp/tools/build_context.py +0 -0
  154. {basic_memory-0.9.0 → basic_memory-0.10.1}/src/basic_memory/mcp/tools/canvas.py +0 -0
  155. {basic_memory-0.9.0 → basic_memory-0.10.1}/src/basic_memory/mcp/tools/delete_note.py +0 -0
  156. {basic_memory-0.9.0 → basic_memory-0.10.1}/src/basic_memory/mcp/tools/project_info.py +0 -0
  157. {basic_memory-0.9.0 → basic_memory-0.10.1}/src/basic_memory/mcp/tools/read_content.py +0 -0
  158. {basic_memory-0.9.0 → basic_memory-0.10.1}/src/basic_memory/mcp/tools/read_note.py +0 -0
  159. {basic_memory-0.9.0 → basic_memory-0.10.1}/src/basic_memory/mcp/tools/recent_activity.py +0 -0
  160. {basic_memory-0.9.0 → basic_memory-0.10.1}/src/basic_memory/mcp/tools/utils.py +0 -0
  161. {basic_memory-0.9.0 → basic_memory-0.10.1}/src/basic_memory/models/__init__.py +0 -0
  162. {basic_memory-0.9.0 → basic_memory-0.10.1}/src/basic_memory/models/base.py +0 -0
  163. {basic_memory-0.9.0 → basic_memory-0.10.1}/src/basic_memory/models/knowledge.py +0 -0
  164. {basic_memory-0.9.0 → basic_memory-0.10.1}/src/basic_memory/models/search.py +0 -0
  165. {basic_memory-0.9.0 → basic_memory-0.10.1}/src/basic_memory/repository/__init__.py +0 -0
  166. {basic_memory-0.9.0 → basic_memory-0.10.1}/src/basic_memory/repository/entity_repository.py +0 -0
  167. {basic_memory-0.9.0 → basic_memory-0.10.1}/src/basic_memory/repository/observation_repository.py +0 -0
  168. {basic_memory-0.9.0 → basic_memory-0.10.1}/src/basic_memory/repository/project_info_repository.py +0 -0
  169. {basic_memory-0.9.0 → basic_memory-0.10.1}/src/basic_memory/repository/relation_repository.py +0 -0
  170. {basic_memory-0.9.0 → basic_memory-0.10.1}/src/basic_memory/repository/repository.py +0 -0
  171. {basic_memory-0.9.0 → basic_memory-0.10.1}/src/basic_memory/repository/search_repository.py +0 -0
  172. {basic_memory-0.9.0 → basic_memory-0.10.1}/src/basic_memory/schemas/__init__.py +0 -0
  173. {basic_memory-0.9.0 → basic_memory-0.10.1}/src/basic_memory/schemas/base.py +0 -0
  174. {basic_memory-0.9.0 → basic_memory-0.10.1}/src/basic_memory/schemas/delete.py +0 -0
  175. {basic_memory-0.9.0 → basic_memory-0.10.1}/src/basic_memory/schemas/memory.py +0 -0
  176. {basic_memory-0.9.0 → basic_memory-0.10.1}/src/basic_memory/schemas/project_info.py +0 -0
  177. {basic_memory-0.9.0 → basic_memory-0.10.1}/src/basic_memory/schemas/request.py +0 -0
  178. {basic_memory-0.9.0 → basic_memory-0.10.1}/src/basic_memory/schemas/response.py +0 -0
  179. {basic_memory-0.9.0 → basic_memory-0.10.1}/src/basic_memory/schemas/search.py +0 -0
  180. {basic_memory-0.9.0 → basic_memory-0.10.1}/src/basic_memory/services/__init__.py +0 -0
  181. {basic_memory-0.9.0 → basic_memory-0.10.1}/src/basic_memory/services/context_service.py +0 -0
  182. {basic_memory-0.9.0 → basic_memory-0.10.1}/src/basic_memory/services/exceptions.py +0 -0
  183. {basic_memory-0.9.0 → basic_memory-0.10.1}/src/basic_memory/services/link_resolver.py +0 -0
  184. {basic_memory-0.9.0 → basic_memory-0.10.1}/src/basic_memory/services/search_service.py +0 -0
  185. {basic_memory-0.9.0 → basic_memory-0.10.1}/src/basic_memory/services/service.py +0 -0
  186. {basic_memory-0.9.0 → basic_memory-0.10.1}/src/basic_memory/sync/__init__.py +0 -0
  187. {basic_memory-0.9.0 → basic_memory-0.10.1}/src/basic_memory/sync/sync_service.py +0 -0
  188. {basic_memory-0.9.0 → basic_memory-0.10.1}/static/json_canvas_spec_1_0.md +0 -0
  189. {basic_memory-0.9.0 → basic_memory-0.10.1}/tests/Non-MarkdownFileSupport.pdf +0 -0
  190. {basic_memory-0.9.0 → basic_memory-0.10.1}/tests/Screenshot.png +0 -0
  191. {basic_memory-0.9.0 → basic_memory-0.10.1}/tests/__init__.py +0 -0
  192. {basic_memory-0.9.0 → basic_memory-0.10.1}/tests/api/conftest.py +0 -0
  193. {basic_memory-0.9.0 → basic_memory-0.10.1}/tests/api/test_knowledge_router.py +0 -0
  194. {basic_memory-0.9.0 → basic_memory-0.10.1}/tests/api/test_memory_router.py +0 -0
  195. {basic_memory-0.9.0 → basic_memory-0.10.1}/tests/api/test_project_info_router.py +0 -0
  196. {basic_memory-0.9.0 → basic_memory-0.10.1}/tests/api/test_resource_router.py +0 -0
  197. {basic_memory-0.9.0 → basic_memory-0.10.1}/tests/api/test_search_router.py +0 -0
  198. {basic_memory-0.9.0 → basic_memory-0.10.1}/tests/cli/conftest.py +0 -0
  199. {basic_memory-0.9.0 → basic_memory-0.10.1}/tests/cli/test_cli_tools.py +0 -0
  200. {basic_memory-0.9.0 → basic_memory-0.10.1}/tests/cli/test_import_chatgpt.py +0 -0
  201. {basic_memory-0.9.0 → basic_memory-0.10.1}/tests/cli/test_import_claude_conversations.py +0 -0
  202. {basic_memory-0.9.0 → basic_memory-0.10.1}/tests/cli/test_import_claude_projects.py +0 -0
  203. {basic_memory-0.9.0 → basic_memory-0.10.1}/tests/cli/test_import_memory_json.py +0 -0
  204. {basic_memory-0.9.0 → basic_memory-0.10.1}/tests/cli/test_status.py +0 -0
  205. {basic_memory-0.9.0 → basic_memory-0.10.1}/tests/cli/test_sync.py +0 -0
  206. {basic_memory-0.9.0 → basic_memory-0.10.1}/tests/cli/test_version.py +0 -0
  207. {basic_memory-0.9.0 → basic_memory-0.10.1}/tests/conftest.py +0 -0
  208. {basic_memory-0.9.0 → basic_memory-0.10.1}/tests/edit_file_test.py +0 -0
  209. {basic_memory-0.9.0 → basic_memory-0.10.1}/tests/markdown/__init__.py +0 -0
  210. {basic_memory-0.9.0 → basic_memory-0.10.1}/tests/markdown/test_entity_parser.py +0 -0
  211. {basic_memory-0.9.0 → basic_memory-0.10.1}/tests/markdown/test_markdown_plugins.py +0 -0
  212. {basic_memory-0.9.0 → basic_memory-0.10.1}/tests/markdown/test_markdown_processor.py +0 -0
  213. {basic_memory-0.9.0 → basic_memory-0.10.1}/tests/markdown/test_observation_edge_cases.py +0 -0
  214. {basic_memory-0.9.0 → basic_memory-0.10.1}/tests/markdown/test_parser_edge_cases.py +0 -0
  215. {basic_memory-0.9.0 → basic_memory-0.10.1}/tests/markdown/test_relation_edge_cases.py +0 -0
  216. {basic_memory-0.9.0 → basic_memory-0.10.1}/tests/markdown/test_task_detection.py +0 -0
  217. {basic_memory-0.9.0 → basic_memory-0.10.1}/tests/mcp/conftest.py +0 -0
  218. {basic_memory-0.9.0 → basic_memory-0.10.1}/tests/mcp/test_prompts.py +0 -0
  219. {basic_memory-0.9.0 → basic_memory-0.10.1}/tests/mcp/test_resources.py +0 -0
  220. {basic_memory-0.9.0 → basic_memory-0.10.1}/tests/mcp/test_tool_canvas.py +0 -0
  221. {basic_memory-0.9.0 → basic_memory-0.10.1}/tests/mcp/test_tool_memory.py +0 -0
  222. {basic_memory-0.9.0 → basic_memory-0.10.1}/tests/mcp/test_tool_project_info.py +0 -0
  223. {basic_memory-0.9.0 → basic_memory-0.10.1}/tests/mcp/test_tool_read_note.py +0 -0
  224. {basic_memory-0.9.0 → basic_memory-0.10.1}/tests/mcp/test_tool_resource.py +0 -0
  225. {basic_memory-0.9.0 → basic_memory-0.10.1}/tests/mcp/test_tool_search.py +0 -0
  226. {basic_memory-0.9.0 → basic_memory-0.10.1}/tests/mcp/test_tool_utils.py +0 -0
  227. {basic_memory-0.9.0 → basic_memory-0.10.1}/tests/repository/test_entity_repository.py +0 -0
  228. {basic_memory-0.9.0 → basic_memory-0.10.1}/tests/repository/test_observation_repository.py +0 -0
  229. {basic_memory-0.9.0 → basic_memory-0.10.1}/tests/repository/test_relation_repository.py +0 -0
  230. {basic_memory-0.9.0 → basic_memory-0.10.1}/tests/repository/test_repository.py +0 -0
  231. {basic_memory-0.9.0 → basic_memory-0.10.1}/tests/schemas/test_memory_url.py +0 -0
  232. {basic_memory-0.9.0 → basic_memory-0.10.1}/tests/schemas/test_schemas.py +0 -0
  233. {basic_memory-0.9.0 → basic_memory-0.10.1}/tests/schemas/test_search.py +0 -0
  234. {basic_memory-0.9.0 → basic_memory-0.10.1}/tests/services/test_context_service.py +0 -0
  235. {basic_memory-0.9.0 → basic_memory-0.10.1}/tests/services/test_file_service.py +0 -0
  236. {basic_memory-0.9.0 → basic_memory-0.10.1}/tests/services/test_link_resolver.py +0 -0
  237. {basic_memory-0.9.0 → basic_memory-0.10.1}/tests/services/test_search_service.py +0 -0
  238. {basic_memory-0.9.0 → basic_memory-0.10.1}/tests/sync/test_sync_service.py +0 -0
  239. {basic_memory-0.9.0 → basic_memory-0.10.1}/tests/sync/test_watch_service.py +0 -0
  240. {basic_memory-0.9.0 → basic_memory-0.10.1}/tests/sync/test_watch_service_edge_cases.py +0 -0
  241. {basic_memory-0.9.0 → basic_memory-0.10.1}/tests/test_basic_memory.py +0 -0
  242. {basic_memory-0.9.0 → basic_memory-0.10.1}/tests/test_config.py +0 -0
  243. {basic_memory-0.9.0 → basic_memory-0.10.1}/tests/utils/test_file_utils.py +0 -0
  244. {basic_memory-0.9.0 → basic_memory-0.10.1}/tests/utils/test_permalink_formatting.py +0 -0
@@ -0,0 +1,12 @@
1
+ # To get started with Dependabot version updates, you'll need to specify which
2
+ # package ecosystems to update and where the package manifests are located.
3
+ # Please see the documentation for all configuration options:
4
+ # https://docs.github.com/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file
5
+
6
+ version: 2
7
+ updates:
8
+ - package-ecosystem: "" # See documentation for possible values
9
+ directory: "/" # Location of package manifests
10
+ schedule:
11
+ interval: "weekly"
12
+
@@ -43,3 +43,8 @@ ENV/
43
43
  # macOS
44
44
  .DS_Store
45
45
  /.coverage.*
46
+
47
+ # obsidian docs:
48
+ /docs/.obsidian/
49
+ /examples/.obsidian/
50
+ /examples/.basic-memory/
@@ -1,6 +1,197 @@
1
1
  # CHANGELOG
2
2
 
3
3
 
4
+ ## v0.10.1 (2025-03-25)
5
+
6
+ ### Bug Fixes
7
+
8
+ - Make set_default_project also activate project for current session to fix #37
9
+ ([`cbe72be`](https://github.com/basicmachines-co/basic-memory/commit/cbe72be10a646c0b03931bb39aff9285feae47f9))
10
+
11
+ This change makes the 'basic-memory project default <name>' command both: 1. Set the default project
12
+ for future invocations (persistent change) 2. Activate the project for the current session
13
+ (immediate change)
14
+
15
+ Added tests to verify this behavior, which resolves issue #37 where the project name and path
16
+ weren't changing properly when the default project was changed.
17
+
18
+ 🤖 Generated with [Claude Code](https://claude.ai/code)
19
+
20
+ Co-Authored-By: Claude <noreply@anthropic.com>
21
+
22
+ - Make set_default_project also activate project for current session to fix #37
23
+ ([`46c4fd2`](https://github.com/basicmachines-co/basic-memory/commit/46c4fd21645b109af59eb2a0201c7bd849b34a49))
24
+
25
+ This change makes the 'basic-memory project default <name>' command both: 1. Set the default project
26
+ for future invocations (persistent change) 2. Activate the project for the current session
27
+ (immediate change)
28
+
29
+ Added tests to verify this behavior, which resolves issue #37 where the project name and path
30
+ weren't changing properly when the default project was changed.
31
+
32
+ 🤖 Generated with [Claude Code](https://claude.ai/code)
33
+
34
+ Co-Authored-By: Claude <noreply@anthropic.com>
35
+
36
+ Signed-off-by: phernandez <paul@basicmachines.co>
37
+
38
+ - Move ai_assistant_guide.md into package resources to fix #39
39
+ ([`390ff9d`](https://github.com/basicmachines-co/basic-memory/commit/390ff9d31ccee85bef732e8140b5eeecd7ee176f))
40
+
41
+ This change relocates the AI assistant guide from the static directory into the package resources
42
+ directory, ensuring it gets properly included in the distribution package and is accessible when
43
+ installed via pip/uv.
44
+
45
+ 🤖 Generated with [Claude Code](https://claude.ai/code)
46
+
47
+ Co-Authored-By: Claude <noreply@anthropic.com>
48
+
49
+ - Move ai_assistant_guide.md into package resources to fix #39
50
+ ([`cc2cae7`](https://github.com/basicmachines-co/basic-memory/commit/cc2cae72c14b380f78ffeb67c2261e4dbee45faf))
51
+
52
+ This change relocates the AI assistant guide from the static directory into the package resources
53
+ directory, ensuring it gets properly included in the distribution package and is accessible when
54
+ installed via pip/uv.
55
+
56
+ 🤖 Generated with [Claude Code](https://claude.ai/code)
57
+
58
+ Co-Authored-By: Claude <noreply@anthropic.com>
59
+
60
+ Signed-off-by: phernandez <paul@basicmachines.co>
61
+
62
+ - Preserve custom frontmatter fields when updating notes
63
+ ([`78f234b`](https://github.com/basicmachines-co/basic-memory/commit/78f234b1806b578a0a833e8ee4184015b7369a97))
64
+
65
+ Fixes #36 by modifying entity_service.update_entity() to read existing frontmatter from files before
66
+ updating them. Custom metadata fields such as Status, Priority, and Version are now preserved when
67
+ notes are updated through the write_note MCP tool.
68
+
69
+ Added test case that verifies this behavior by creating a note with custom frontmatter and then
70
+ updating it.
71
+
72
+ 🤖 Generated with [Claude Code](https://claude.ai/code)
73
+
74
+ Co-Authored-By: Claude <noreply@anthropic.com>
75
+
76
+ - Preserve custom frontmatter fields when updating notes
77
+ ([`e716946`](https://github.com/basicmachines-co/basic-memory/commit/e716946b4408d017eca4be720956d5a210b4e6b1))
78
+
79
+ Fixes #36 by modifying entity_service.update_entity() to read existing frontmatter from files before
80
+ updating them. Custom metadata fields such as Status, Priority, and Version are now preserved when
81
+ notes are updated through the write_note MCP tool.
82
+
83
+ Added test case that verifies this behavior by creating a note with custom frontmatter and then
84
+ updating it.
85
+
86
+ 🤖 Generated with [Claude Code](https://claude.ai/code)
87
+
88
+ Co-Authored-By: Claude <noreply@anthropic.com>
89
+
90
+ Signed-off-by: phernandez <paul@basicmachines.co>
91
+
92
+ ### Chores
93
+
94
+ - Remove duplicate code in entity_service.py from bad merge
95
+ ([`681af5d`](https://github.com/basicmachines-co/basic-memory/commit/681af5d4505dadc40b4086630f739d76bac9201d))
96
+
97
+ Signed-off-by: phernandez <paul@basicmachines.co>
98
+
99
+ ### Documentation
100
+
101
+ - Add help docs to mcp cli tools
102
+ ([`731b502`](https://github.com/basicmachines-co/basic-memory/commit/731b502d36cec253d114403d73b48fab3c47786e))
103
+
104
+ Signed-off-by: phernandez <paul@basicmachines.co>
105
+
106
+ - Add mcp badge, update cli reference, llms-install.md
107
+ ([`b26afa9`](https://github.com/basicmachines-co/basic-memory/commit/b26afa927f98021246cd8b64858e57333595ea90))
108
+
109
+ Signed-off-by: phernandez <paul@basicmachines.co>
110
+
111
+ - Update CLAUDE.md ([#33](https://github.com/basicmachines-co/basic-memory/pull/33),
112
+ [`dfaf0fe`](https://github.com/basicmachines-co/basic-memory/commit/dfaf0fea9cf5b97d169d51a6276ec70162c21a7e))
113
+
114
+ fix spelling in CLAUDE.md: enviroment -> environment Signed-off-by: Ikko Eltociear Ashimine
115
+ <eltociear@gmail.com>
116
+
117
+ ### Refactoring
118
+
119
+ - Move project stats into projct subcommand
120
+ ([`2a881b1`](https://github.com/basicmachines-co/basic-memory/commit/2a881b1425c73947f037fbe7ac5539c015b62526))
121
+
122
+ Signed-off-by: phernandez <paul@basicmachines.co>
123
+
124
+
125
+ ## v0.10.0 (2025-03-15)
126
+
127
+ ### Bug Fixes
128
+
129
+ - Ai_resource_guide.md path
130
+ ([`da97353`](https://github.com/basicmachines-co/basic-memory/commit/da97353cfc3acc1ceb0eca22ac6af326f77dc199))
131
+
132
+ Signed-off-by: phernandez <paul@basicmachines.co>
133
+
134
+ - Ai_resource_guide.md path
135
+ ([`c4732a4`](https://github.com/basicmachines-co/basic-memory/commit/c4732a47b37dd2e404139fb283b65556c81ce7c9))
136
+
137
+ - Ai_resource_guide.md path
138
+ ([`2e9d673`](https://github.com/basicmachines-co/basic-memory/commit/2e9d673e54ad6a63a971db64f01fc2f4e59c2e69))
139
+
140
+ Signed-off-by: phernandez <paul@basicmachines.co>
141
+
142
+ - Don't sync *.tmp files on watch ([#31](https://github.com/basicmachines-co/basic-memory/pull/31),
143
+ [`6b110b2`](https://github.com/basicmachines-co/basic-memory/commit/6b110b28dd8ba705ebfc0bcb41faf2cb993da2c3))
144
+
145
+ Fixes #30
146
+
147
+ Signed-off-by: phernandez <paul@basicmachines.co>
148
+
149
+ - Drop search_index table on db reindex
150
+ ([`31cca6f`](https://github.com/basicmachines-co/basic-memory/commit/31cca6f913849a0ab8fc944803533e3072e9ef88))
151
+
152
+ Signed-off-by: phernandez <paul@basicmachines.co>
153
+
154
+ - Improve utf-8 support for file reading/writing
155
+ ([#32](https://github.com/basicmachines-co/basic-memory/pull/32),
156
+ [`eb5e4ec`](https://github.com/basicmachines-co/basic-memory/commit/eb5e4ec6bd4d2fe757087be030d867f4ca1d38ba))
157
+
158
+ fixes #29
159
+
160
+ Signed-off-by: phernandez <paul@basicmachines.co>
161
+
162
+ ### Chores
163
+
164
+ - Remove logfire
165
+ ([`9bb8a02`](https://github.com/basicmachines-co/basic-memory/commit/9bb8a020c3425a02cb3a88f6f02adcd281bccee2))
166
+
167
+ Signed-off-by: phernandez <paul@basicmachines.co>
168
+
169
+ ### Documentation
170
+
171
+ - Add glama badge. Fix typos in README.md
172
+ ([#28](https://github.com/basicmachines-co/basic-memory/pull/28),
173
+ [`9af913d`](https://github.com/basicmachines-co/basic-memory/commit/9af913da4fba7bb4908caa3f15f2db2aa03777ec))
174
+
175
+ Signed-off-by: phernandez <paul@basicmachines.co>
176
+
177
+ - Update CLAUDE.md with GitHub integration capabilities
178
+ ([#25](https://github.com/basicmachines-co/basic-memory/pull/25),
179
+ [`fea2f40`](https://github.com/basicmachines-co/basic-memory/commit/fea2f40d1b54d0c533e6d7ee7ce1aa7b83ad9a47))
180
+
181
+ This PR updates the CLAUDE.md file to document the GitHub integration capabilities that enable
182
+ Claude to participate directly in the development workflow.
183
+
184
+ ### Features
185
+
186
+ - Add Smithery integration for easier installation
187
+ ([#24](https://github.com/basicmachines-co/basic-memory/pull/24),
188
+ [`eb1e7b6`](https://github.com/basicmachines-co/basic-memory/commit/eb1e7b6088b0b3dead9c104ee44174b2baebf417))
189
+
190
+ This PR adds support for deploying Basic Memory on the Smithery platform.
191
+
192
+ Signed-off-by: bm-claudeai <claude@basicmachines.co>
193
+
194
+
4
195
  ## v0.9.0 (2025-03-07)
5
196
 
6
197
  ### Chores
@@ -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 enviroment with in memory SQLite and tmp_file directory
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
 
@@ -130,4 +131,45 @@ of using AI just for code generation, we've developed a true collaborative workf
130
131
  5. Results improve through iterative collaboration and shared understanding
131
132
 
132
133
  This approach has allowed us to tackle more complex challenges and build a more robust system than either humans or AI
133
- could achieve independently.
134
+ could achieve independently.
135
+
136
+ ## GitHub Integration
137
+
138
+ Basic Memory uses Claude directly into the development workflow through GitHub:
139
+
140
+ ### GitHub MCP Tools
141
+
142
+ Using the GitHub Model Context Protocol server, Claude can:
143
+
144
+ - **Repository Management**:
145
+ - View repository files and structure
146
+ - Read file contents
147
+ - Create new branches
148
+ - Create and update files
149
+
150
+ - **Issue Management**:
151
+ - Create new issues
152
+ - Comment on existing issues
153
+ - Close and update issues
154
+ - Search across issues
155
+
156
+ - **Pull Request Workflow**:
157
+ - Create pull requests
158
+ - Review code changes
159
+ - Add comments to PRs
160
+
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.
164
+
165
+ ### Collaborative Development Process
166
+
167
+ With GitHub integration, the development workflow includes:
168
+
169
+ 1. **Direct code review** - Claude can analyze PRs and provide detailed feedback
170
+ 2. **Contribution tracking** - All of Claude's contributions are properly attributed in the Git history
171
+ 3. **Branch management** - Claude can create feature branches for implementations
172
+ 4. **Documentation maintenance** - Claude can keep documentation updated as the code evolves
173
+
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,7 @@
1
1
  # Contributing to Basic Memory
2
2
 
3
- Thank you for considering contributing to Basic Memory! This document outlines the process for contributing to the project and how to get started as a developer.
3
+ Thank you for considering contributing to Basic Memory! This document outlines the process for contributing to the
4
+ project and how to get started as a developer.
4
5
 
5
6
  ## Getting Started
6
7
 
@@ -65,61 +66,64 @@ Thank you for considering contributing to Basic Memory! This document outlines t
65
66
 
66
67
  This project is designed for collaborative development between humans and LLMs (Large Language Models):
67
68
 
68
- 1. **CLAUDE.md**: The repository includes a `CLAUDE.md` file that serves as a project guide for both humans and LLMs. This file contains:
69
- - Key project information and architectural overview
70
- - Development commands and workflows
71
- - Code style guidelines
72
- - Documentation standards
69
+ 1. **CLAUDE.md**: The repository includes a `CLAUDE.md` file that serves as a project guide for both humans and LLMs.
70
+ This file contains:
71
+ - Key project information and architectural overview
72
+ - Development commands and workflows
73
+ - Code style guidelines
74
+ - Documentation standards
73
75
 
74
76
  2. **AI-Human Collaborative Workflow**:
75
- - We encourage using LLMs like Claude for code generation, reviews, and documentation
76
- - When possible, save context in markdown files that can be referenced later
77
- - This enables seamless knowledge transfer between different development sessions
78
- - Claude can help with implementation details while you focus on architecture and design
77
+ - We encourage using LLMs like Claude for code generation, reviews, and documentation
78
+ - When possible, save context in markdown files that can be referenced later
79
+ - This enables seamless knowledge transfer between different development sessions
80
+ - Claude can help with implementation details while you focus on architecture and design
79
81
 
80
82
  3. **Adding to CLAUDE.md**:
81
- - If you discover useful project information or common commands, consider adding them to CLAUDE.md
82
- - This helps all contributors (human and AI) maintain consistent knowledge of the project
83
+ - If you discover useful project information or common commands, consider adding them to CLAUDE.md
84
+ - This helps all contributors (human and AI) maintain consistent knowledge of the project
83
85
 
84
86
  ## Pull Request Process
85
87
 
86
88
  1. **Create a Pull Request**: Open a PR against the `main` branch with a clear title and description.
87
- 2. **Sign the Developer Certificate of Origin (DCO)**: All contributions require signing our DCO, which certifies that you have the right to submit your contributions. This will be automatically checked by our CLA assistant when you create a PR.
89
+ 2. **Sign the Developer Certificate of Origin (DCO)**: All contributions require signing our DCO, which certifies that
90
+ you have the right to submit your contributions. This will be automatically checked by our CLA assistant when you
91
+ create a PR.
88
92
  3. **PR Description**: Include:
89
- - What the PR changes
90
- - Why the change is needed
91
- - How you tested the changes
92
- - Any related issues (use "Fixes #123" to automatically close issues)
93
+ - What the PR changes
94
+ - Why the change is needed
95
+ - How you tested the changes
96
+ - Any related issues (use "Fixes #123" to automatically close issues)
93
97
  4. **Code Review**: Wait for code review and address any feedback.
94
98
  5. **CI Checks**: Ensure all CI checks pass.
95
99
  6. **Merge**: Once approved, a maintainer will merge your PR.
96
100
 
97
101
  ## Developer Certificate of Origin
98
102
 
99
- By contributing to this project, you agree to the [Developer Certificate of Origin (DCO)](CLA.md). This means you certify that:
103
+ By contributing to this project, you agree to the [Developer Certificate of Origin (DCO)](CLA.md). This means you
104
+ certify that:
105
+
100
106
  - You have the right to submit your contributions
101
107
  - You're not knowingly submitting code with patent or copyright issues
102
108
  - Your contributions are provided under the project's license (AGPL-3.0)
103
109
 
104
- This is a lightweight alternative to a Contributor License Agreement and helps ensure that all contributions can be properly incorporated into the project and potentially used in commercial applications.
110
+ This is a lightweight alternative to a Contributor License Agreement and helps ensure that all contributions can be
111
+ properly incorporated into the project and potentially used in commercial applications.
105
112
 
106
113
  ### Signing Your Commits
107
114
 
108
- You can sign your commits in one of two ways:
115
+ Sign your commit:
109
116
 
110
- 1. **Using the `-s` or `--signoff` flag**:
111
- ```bash
112
- git commit -s -m "Your commit message"
113
- ```
114
- This adds a `Signed-off-by` line to your commit message, certifying that you adhere to the DCO.
117
+ **Using the `-s` or `--signoff` flag**:
115
118
 
116
- 2. **Configuring Git to automatically sign off**:
117
- ```bash
118
- git config --global alias.cs 'commit -s'
119
- ```
120
- Then use `git cs -m "Your commit message"` to commit with sign-off.
119
+ ```bash
120
+ git commit -s -m "Your commit message"
121
+ ```
122
+
123
+ This adds a `Signed-off-by` line to your commit message, certifying that you adhere to the DCO.
121
124
 
122
- The sign-off certifies that you have the right to submit your contribution under the project's license and verifies your agreement to the DCO.
125
+ The sign-off certifies that you have the right to submit your contribution under the project's license and verifies your
126
+ agreement to the DCO.
123
127
 
124
128
  ## Code Style Guidelines
125
129
 
@@ -135,10 +139,10 @@ The sign-off certifies that you have the right to submit your contribution under
135
139
 
136
140
  - **Coverage Target**: We aim for 100% test coverage for all code
137
141
  - **Test Framework**: Use pytest for unit and integration tests
138
- - **Mocking**: Use pytest-mock for mocking dependencies
142
+ - **Mocking**: Use pytest-mock for mocking dependencies only when necessary
139
143
  - **Edge Cases**: Test both normal operation and edge cases
140
144
  - **Database Testing**: Use in-memory SQLite for testing database operations
141
- - **Fixtures**: Use pytest fixtures for setup and teardown
145
+ - **Fixtures**: Use async pytest fixtures for setup and teardown
142
146
 
143
147
  ## Creating Issues
144
148
 
@@ -156,4 +160,4 @@ All contributors must follow the [Code of Conduct](CODE_OF_CONDUCT.md).
156
160
 
157
161
  ## Thank You!
158
162
 
159
- Your contributions help make Basic Memory better for everyone. We appreciate your time and effort!
163
+ Your contributions help make Basic Memory better. We appreciate your time and effort!
@@ -0,0 +1,16 @@
1
+ # Generated by https://smithery.ai. See: https://smithery.ai/docs/config#dockerfile
2
+ FROM python:3.12-slim
3
+
4
+ WORKDIR /app
5
+
6
+ # Copy the project files
7
+ COPY . .
8
+
9
+ # Install pip and build dependencies
10
+ RUN pip install --upgrade pip \
11
+ && pip install . --no-cache-dir --ignore-installed
12
+
13
+ # Expose port if necessary (e.g., uv might use a port, but MCP over stdio so not needed here)
14
+
15
+ # Use the basic-memory entrypoint to run the MCP server
16
+ CMD ["basic-memory", "mcp"]