basic-memory 0.13.0b3__tar.gz → 0.13.0b4__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 (307) hide show
  1. basic_memory-0.13.0b4/.claude/commands/check-health.md +190 -0
  2. basic_memory-0.13.0b4/.claude/commands/commands.md +62 -0
  3. basic_memory-0.13.0b4/.claude/commands/lint-fix.md +145 -0
  4. basic_memory-0.13.0b4/.claude/commands/release/beta.md +69 -0
  5. basic_memory-0.13.0b4/.claude/commands/release/changelog.md +157 -0
  6. basic_memory-0.13.0b4/.claude/commands/release/release-check.md +131 -0
  7. basic_memory-0.13.0b4/.claude/commands/release/release.md +84 -0
  8. basic_memory-0.13.0b4/.claude/commands/test-coverage.md +131 -0
  9. basic_memory-0.13.0b4/.claude/commands/test-live.md +397 -0
  10. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/PKG-INFO +1 -1
  11. basic_memory-0.13.0b4/src/basic_memory/alembic/versions/647e7a75e2cd_project_constraint_fix.py +104 -0
  12. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/src/basic_memory/api/routers/project_router.py +3 -4
  13. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/src/basic_memory/models/project.py +1 -3
  14. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/src/basic_memory/services/project_service.py +63 -12
  15. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/tests/services/test_project_service.py +165 -0
  16. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/.env.oauth.example +0 -0
  17. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
  18. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/.github/ISSUE_TEMPLATE/config.yml +0 -0
  19. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/.github/ISSUE_TEMPLATE/documentation.md +0 -0
  20. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
  21. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/.github/dependabot.yml +0 -0
  22. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/.github/workflows/claude.yml +0 -0
  23. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/.github/workflows/dev-release.yml +0 -0
  24. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/.github/workflows/pr-title.yml +0 -0
  25. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/.github/workflows/release.yml +0 -0
  26. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/.github/workflows/test.yml +0 -0
  27. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/.gitignore +0 -0
  28. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/.mcp.json +0 -0
  29. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/.python-version +0 -0
  30. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/AUTH.md +0 -0
  31. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/CHANGELOG.md +0 -0
  32. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/CITATION.cff +0 -0
  33. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/CLA.md +0 -0
  34. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/CLAUDE.md +0 -0
  35. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/CODE_OF_CONDUCT.md +0 -0
  36. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/CONTRIBUTING.md +0 -0
  37. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/Dockerfile +0 -0
  38. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/LICENSE +0 -0
  39. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/Makefile +0 -0
  40. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/README.md +0 -0
  41. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/RELEASE_NOTES_v0.13.0.md +0 -0
  42. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/SECURITY.md +0 -0
  43. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/TESTING.md +0 -0
  44. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/basic-memory.md +0 -0
  45. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/docs/AI Assistant Guide.md +0 -0
  46. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/docs/CLI Reference.md +0 -0
  47. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/docs/Canvas.md +0 -0
  48. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/docs/Claude.ai Integration.md +0 -0
  49. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/docs/Getting Started with Basic Memory.md +0 -0
  50. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/docs/Knowledge Format.md +0 -0
  51. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/docs/OAuth Authentication Guide.md +0 -0
  52. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/docs/Obsidian Integration.md +0 -0
  53. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/docs/Supabase OAuth Setup.md +0 -0
  54. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/docs/Technical Information.md +0 -0
  55. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/docs/User Guide.md +0 -0
  56. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/docs/Welcome to Basic memory.md +0 -0
  57. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/docs/attachments/Canvas.png +0 -0
  58. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/docs/attachments/Claude-Obsidian-Demo.mp4 +0 -0
  59. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/docs/attachments/Prompt.png +0 -0
  60. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/docs/attachments/disk-ai-logo-400x400.png +0 -0
  61. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/docs/attachments/disk-ai-logo.png +0 -0
  62. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/docs/attachments/prompt 1.png +0 -0
  63. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/docs/attachments/prompt2.png +0 -0
  64. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/docs/attachments/prompt3.png +0 -0
  65. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/docs/attachments/prompt4.png +0 -0
  66. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/docs/publish.js +0 -0
  67. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/examples/Coffee Notes/Brewing Equipment.md +0 -0
  68. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/examples/Coffee Notes/Coffee Bean Origins.md +0 -0
  69. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/examples/Coffee Notes/Coffee Brewing Methods.md +0 -0
  70. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/examples/Coffee Notes/Coffee Flavor Map.md +0 -0
  71. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/examples/Coffee Notes/Coffee Knowledge Base.md +0 -0
  72. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/examples/Coffee Notes/Flavor Extraction.md +0 -0
  73. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/examples/Coffee Notes/Perfect Pour Over Coffee Method.canvas +0 -0
  74. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/examples/Coffee Notes/Tasting Notes.md +0 -0
  75. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/examples/testing/Test Note Creation - Basic Functionality.md +0 -0
  76. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/llms-install.md +0 -0
  77. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/memory.json +0 -0
  78. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/pyproject.toml +0 -0
  79. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/scripts/install.sh +0 -0
  80. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/smithery.yaml +0 -0
  81. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/src/basic_memory/__init__.py +0 -0
  82. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/src/basic_memory/alembic/alembic.ini +0 -0
  83. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/src/basic_memory/alembic/env.py +0 -0
  84. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/src/basic_memory/alembic/migrations.py +0 -0
  85. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/src/basic_memory/alembic/script.py.mako +0 -0
  86. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/src/basic_memory/alembic/versions/3dae7c7b1564_initial_schema.py +0 -0
  87. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/src/basic_memory/alembic/versions/502b60eaa905_remove_required_from_entity_permalink.py +0 -0
  88. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/src/basic_memory/alembic/versions/5fe1ab1ccebe_add_projects_table.py +0 -0
  89. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/src/basic_memory/alembic/versions/b3c3938bacdb_relation_to_name_unique_index.py +0 -0
  90. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/src/basic_memory/alembic/versions/cc7172b46608_update_search_index_schema.py +0 -0
  91. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/src/basic_memory/api/__init__.py +0 -0
  92. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/src/basic_memory/api/app.py +0 -0
  93. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/src/basic_memory/api/routers/__init__.py +0 -0
  94. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/src/basic_memory/api/routers/directory_router.py +0 -0
  95. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/src/basic_memory/api/routers/importer_router.py +0 -0
  96. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/src/basic_memory/api/routers/knowledge_router.py +0 -0
  97. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/src/basic_memory/api/routers/management_router.py +0 -0
  98. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/src/basic_memory/api/routers/memory_router.py +0 -0
  99. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/src/basic_memory/api/routers/prompt_router.py +0 -0
  100. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/src/basic_memory/api/routers/resource_router.py +0 -0
  101. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/src/basic_memory/api/routers/search_router.py +0 -0
  102. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/src/basic_memory/api/routers/utils.py +0 -0
  103. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/src/basic_memory/api/template_loader.py +0 -0
  104. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/src/basic_memory/cli/__init__.py +0 -0
  105. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/src/basic_memory/cli/app.py +0 -0
  106. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/src/basic_memory/cli/commands/__init__.py +0 -0
  107. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/src/basic_memory/cli/commands/auth.py +0 -0
  108. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/src/basic_memory/cli/commands/db.py +0 -0
  109. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/src/basic_memory/cli/commands/import_chatgpt.py +0 -0
  110. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/src/basic_memory/cli/commands/import_claude_conversations.py +0 -0
  111. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/src/basic_memory/cli/commands/import_claude_projects.py +0 -0
  112. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/src/basic_memory/cli/commands/import_memory_json.py +0 -0
  113. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/src/basic_memory/cli/commands/mcp.py +0 -0
  114. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/src/basic_memory/cli/commands/project.py +0 -0
  115. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/src/basic_memory/cli/commands/status.py +0 -0
  116. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/src/basic_memory/cli/commands/sync.py +0 -0
  117. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/src/basic_memory/cli/commands/tool.py +0 -0
  118. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/src/basic_memory/cli/main.py +0 -0
  119. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/src/basic_memory/config.py +0 -0
  120. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/src/basic_memory/db.py +0 -0
  121. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/src/basic_memory/deps.py +0 -0
  122. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/src/basic_memory/file_utils.py +0 -0
  123. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/src/basic_memory/importers/__init__.py +0 -0
  124. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/src/basic_memory/importers/base.py +0 -0
  125. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/src/basic_memory/importers/chatgpt_importer.py +0 -0
  126. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/src/basic_memory/importers/claude_conversations_importer.py +0 -0
  127. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/src/basic_memory/importers/claude_projects_importer.py +0 -0
  128. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/src/basic_memory/importers/memory_json_importer.py +0 -0
  129. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/src/basic_memory/importers/utils.py +0 -0
  130. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/src/basic_memory/markdown/__init__.py +0 -0
  131. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/src/basic_memory/markdown/entity_parser.py +0 -0
  132. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/src/basic_memory/markdown/markdown_processor.py +0 -0
  133. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/src/basic_memory/markdown/plugins.py +0 -0
  134. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/src/basic_memory/markdown/schemas.py +0 -0
  135. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/src/basic_memory/markdown/utils.py +0 -0
  136. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/src/basic_memory/mcp/__init__.py +0 -0
  137. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/src/basic_memory/mcp/async_client.py +0 -0
  138. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/src/basic_memory/mcp/auth_provider.py +0 -0
  139. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/src/basic_memory/mcp/external_auth_provider.py +0 -0
  140. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/src/basic_memory/mcp/project_session.py +0 -0
  141. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/src/basic_memory/mcp/prompts/__init__.py +0 -0
  142. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/src/basic_memory/mcp/prompts/ai_assistant_guide.py +0 -0
  143. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/src/basic_memory/mcp/prompts/continue_conversation.py +0 -0
  144. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/src/basic_memory/mcp/prompts/recent_activity.py +0 -0
  145. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/src/basic_memory/mcp/prompts/search.py +0 -0
  146. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/src/basic_memory/mcp/prompts/utils.py +0 -0
  147. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/src/basic_memory/mcp/resources/ai_assistant_guide.md +0 -0
  148. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/src/basic_memory/mcp/resources/project_info.py +0 -0
  149. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/src/basic_memory/mcp/server.py +0 -0
  150. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/src/basic_memory/mcp/supabase_auth_provider.py +0 -0
  151. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/src/basic_memory/mcp/tools/__init__.py +0 -0
  152. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/src/basic_memory/mcp/tools/build_context.py +0 -0
  153. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/src/basic_memory/mcp/tools/canvas.py +0 -0
  154. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/src/basic_memory/mcp/tools/delete_note.py +0 -0
  155. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/src/basic_memory/mcp/tools/edit_note.py +0 -0
  156. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/src/basic_memory/mcp/tools/list_directory.py +0 -0
  157. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/src/basic_memory/mcp/tools/move_note.py +0 -0
  158. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/src/basic_memory/mcp/tools/project_management.py +0 -0
  159. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/src/basic_memory/mcp/tools/read_content.py +0 -0
  160. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/src/basic_memory/mcp/tools/read_note.py +0 -0
  161. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/src/basic_memory/mcp/tools/recent_activity.py +0 -0
  162. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/src/basic_memory/mcp/tools/search.py +0 -0
  163. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/src/basic_memory/mcp/tools/utils.py +0 -0
  164. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/src/basic_memory/mcp/tools/write_note.py +0 -0
  165. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/src/basic_memory/models/__init__.py +0 -0
  166. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/src/basic_memory/models/base.py +0 -0
  167. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/src/basic_memory/models/knowledge.py +0 -0
  168. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/src/basic_memory/models/search.py +0 -0
  169. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/src/basic_memory/repository/__init__.py +0 -0
  170. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/src/basic_memory/repository/entity_repository.py +0 -0
  171. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/src/basic_memory/repository/observation_repository.py +0 -0
  172. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/src/basic_memory/repository/project_info_repository.py +0 -0
  173. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/src/basic_memory/repository/project_repository.py +0 -0
  174. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/src/basic_memory/repository/relation_repository.py +0 -0
  175. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/src/basic_memory/repository/repository.py +0 -0
  176. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/src/basic_memory/repository/search_repository.py +0 -0
  177. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/src/basic_memory/schemas/__init__.py +0 -0
  178. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/src/basic_memory/schemas/base.py +0 -0
  179. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/src/basic_memory/schemas/delete.py +0 -0
  180. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/src/basic_memory/schemas/directory.py +0 -0
  181. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/src/basic_memory/schemas/importer.py +0 -0
  182. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/src/basic_memory/schemas/memory.py +0 -0
  183. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/src/basic_memory/schemas/project_info.py +0 -0
  184. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/src/basic_memory/schemas/prompt.py +0 -0
  185. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/src/basic_memory/schemas/request.py +0 -0
  186. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/src/basic_memory/schemas/response.py +0 -0
  187. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/src/basic_memory/schemas/search.py +0 -0
  188. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/src/basic_memory/services/__init__.py +0 -0
  189. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/src/basic_memory/services/context_service.py +0 -0
  190. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/src/basic_memory/services/directory_service.py +0 -0
  191. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/src/basic_memory/services/entity_service.py +0 -0
  192. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/src/basic_memory/services/exceptions.py +0 -0
  193. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/src/basic_memory/services/file_service.py +0 -0
  194. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/src/basic_memory/services/initialization.py +0 -0
  195. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/src/basic_memory/services/link_resolver.py +0 -0
  196. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/src/basic_memory/services/search_service.py +0 -0
  197. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/src/basic_memory/services/service.py +0 -0
  198. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/src/basic_memory/sync/__init__.py +0 -0
  199. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/src/basic_memory/sync/background_sync.py +0 -0
  200. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/src/basic_memory/sync/sync_service.py +0 -0
  201. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/src/basic_memory/sync/watch_service.py +0 -0
  202. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/src/basic_memory/templates/prompts/continue_conversation.hbs +0 -0
  203. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/src/basic_memory/templates/prompts/search.hbs +0 -0
  204. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/src/basic_memory/utils.py +0 -0
  205. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/static/ai_assistant_guide.md +0 -0
  206. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/static/json_canvas_spec_1_0.md +0 -0
  207. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/test-int/conftest.py +0 -0
  208. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/test-int/mcp/.coverage.Pauls-MacBook-Pro-2.local.66900.XDhpuELx +0 -0
  209. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/test-int/mcp/test_delete_note_integration.py +0 -0
  210. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/test-int/mcp/test_edit_note_integration.py +0 -0
  211. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/test-int/mcp/test_list_directory_integration.py +0 -0
  212. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/test-int/mcp/test_move_note_integration.py +0 -0
  213. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/test-int/mcp/test_project_management_integration.py +0 -0
  214. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/test-int/mcp/test_read_content_integration.py +0 -0
  215. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/test-int/mcp/test_read_note_integration.py +0 -0
  216. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/test-int/mcp/test_search_integration.py +0 -0
  217. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/test-int/mcp/test_write_note_integration.py +0 -0
  218. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/tests/.coverage.Pauls-MacBook-Pro-2.local.28077.XqMfGOxx +0 -0
  219. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/tests/Non-MarkdownFileSupport.pdf +0 -0
  220. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/tests/Screenshot.png +0 -0
  221. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/tests/__init__.py +0 -0
  222. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/tests/api/.coverage.Pauls-MacBook-Pro-2.local.60974.XPpBfqqx +0 -0
  223. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/tests/api/conftest.py +0 -0
  224. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/tests/api/test_continue_conversation_template.py +0 -0
  225. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/tests/api/test_directory_router.py +0 -0
  226. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/tests/api/test_importer_router.py +0 -0
  227. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/tests/api/test_knowledge_router.py +0 -0
  228. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/tests/api/test_management_router.py +0 -0
  229. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/tests/api/test_memory_router.py +0 -0
  230. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/tests/api/test_project_router.py +0 -0
  231. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/tests/api/test_project_router_operations.py +0 -0
  232. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/tests/api/test_prompt_router.py +0 -0
  233. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/tests/api/test_resource_router.py +0 -0
  234. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/tests/api/test_search_router.py +0 -0
  235. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/tests/api/test_search_template.py +0 -0
  236. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/tests/api/test_template_loader.py +0 -0
  237. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/tests/api/test_template_loader_helpers.py +0 -0
  238. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/tests/cli/.coverage.Pauls-MacBook-Pro-2.local.63666.XDIUQNrx +0 -0
  239. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/tests/cli/conftest.py +0 -0
  240. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/tests/cli/test_auth_commands.py +0 -0
  241. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/tests/cli/test_cli_tools.py +0 -0
  242. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/tests/cli/test_import_chatgpt.py +0 -0
  243. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/tests/cli/test_import_claude_conversations.py +0 -0
  244. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/tests/cli/test_import_claude_projects.py +0 -0
  245. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/tests/cli/test_import_memory_json.py +0 -0
  246. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/tests/cli/test_project_commands.py +0 -0
  247. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/tests/cli/test_project_info.py +0 -0
  248. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/tests/cli/test_status.py +0 -0
  249. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/tests/cli/test_sync.py +0 -0
  250. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/tests/cli/test_version.py +0 -0
  251. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/tests/conftest.py +0 -0
  252. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/tests/importers/test_importer_base.py +0 -0
  253. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/tests/importers/test_importer_utils.py +0 -0
  254. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/tests/markdown/__init__.py +0 -0
  255. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/tests/markdown/test_entity_parser.py +0 -0
  256. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/tests/markdown/test_markdown_plugins.py +0 -0
  257. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/tests/markdown/test_markdown_processor.py +0 -0
  258. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/tests/markdown/test_observation_edge_cases.py +0 -0
  259. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/tests/markdown/test_parser_edge_cases.py +0 -0
  260. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/tests/markdown/test_relation_edge_cases.py +0 -0
  261. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/tests/markdown/test_task_detection.py +0 -0
  262. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/tests/mcp/.coverage.Pauls-MacBook-Pro-2.local.63904.XiAZuuhx +0 -0
  263. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/tests/mcp/conftest.py +0 -0
  264. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/tests/mcp/test_auth_provider.py +0 -0
  265. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/tests/mcp/test_prompts.py +0 -0
  266. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/tests/mcp/test_resource_project_info.py +0 -0
  267. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/tests/mcp/test_resources.py +0 -0
  268. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/tests/mcp/test_server.py +0 -0
  269. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/tests/mcp/test_tool_build_context.py +0 -0
  270. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/tests/mcp/test_tool_canvas.py +0 -0
  271. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/tests/mcp/test_tool_edit_note.py +0 -0
  272. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/tests/mcp/test_tool_list_directory.py +0 -0
  273. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/tests/mcp/test_tool_move_note.py +0 -0
  274. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/tests/mcp/test_tool_read_note.py +0 -0
  275. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/tests/mcp/test_tool_recent_activity.py +0 -0
  276. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/tests/mcp/test_tool_resource.py +0 -0
  277. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/tests/mcp/test_tool_search.py +0 -0
  278. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/tests/mcp/test_tool_utils.py +0 -0
  279. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/tests/mcp/test_tool_write_note.py +0 -0
  280. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/tests/repository/test_entity_repository.py +0 -0
  281. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/tests/repository/test_observation_repository.py +0 -0
  282. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/tests/repository/test_project_info_repository.py +0 -0
  283. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/tests/repository/test_project_repository.py +0 -0
  284. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/tests/repository/test_relation_repository.py +0 -0
  285. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/tests/repository/test_repository.py +0 -0
  286. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/tests/repository/test_search_repository.py +0 -0
  287. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/tests/schemas/test_memory_url.py +0 -0
  288. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/tests/schemas/test_schemas.py +0 -0
  289. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/tests/schemas/test_search.py +0 -0
  290. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/tests/services/test_context_service.py +0 -0
  291. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/tests/services/test_directory_service.py +0 -0
  292. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/tests/services/test_entity_service.py +0 -0
  293. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/tests/services/test_file_service.py +0 -0
  294. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/tests/services/test_initialization.py +0 -0
  295. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/tests/services/test_link_resolver.py +0 -0
  296. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/tests/services/test_project_service_operations.py +0 -0
  297. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/tests/services/test_search_service.py +0 -0
  298. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/tests/sync/test_sync_service.py +0 -0
  299. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/tests/sync/test_sync_wikilink_issue.py +0 -0
  300. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/tests/sync/test_tmp_files.py +0 -0
  301. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/tests/sync/test_watch_service.py +0 -0
  302. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/tests/sync/test_watch_service_edge_cases.py +0 -0
  303. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/tests/utils/test_file_utils.py +0 -0
  304. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/tests/utils/test_parse_tags.py +0 -0
  305. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/tests/utils/test_permalink_formatting.py +0 -0
  306. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/tests/utils/test_utf8_handling.py +0 -0
  307. {basic_memory-0.13.0b3 → basic_memory-0.13.0b4}/uv.lock +0 -0
@@ -0,0 +1,190 @@
1
+ # /project:check-health - Project Health Assessment
2
+
3
+ Comprehensive health check of the Basic Memory project including code quality, test coverage, dependencies, and documentation.
4
+
5
+ ## Usage
6
+ ```
7
+ /project:check-health
8
+ ```
9
+
10
+ ## Implementation
11
+
12
+ You are an expert DevOps engineer for the Basic Memory project. When the user runs `/project:check-health`, execute the following comprehensive assessment:
13
+
14
+ ### Step 1: Git Repository Health
15
+ 1. **Repository Status**
16
+ ```bash
17
+ git status
18
+ git log --oneline -5
19
+ git branch -vv
20
+ ```
21
+ - Check working directory status
22
+ - Verify branch alignment with remote
23
+ - Check recent commit activity
24
+
25
+ 2. **Branch Analysis**
26
+ - Verify on main branch
27
+ - Check if ahead/behind remote
28
+ - Identify any untracked files
29
+
30
+ ### Step 2: Code Quality Assessment
31
+ 1. **Linting and Formatting**
32
+ ```bash
33
+ uv run ruff check .
34
+ uv run pyright
35
+ ```
36
+ - Count linting issues by severity
37
+ - Check type annotation coverage
38
+ - Verify code formatting compliance
39
+
40
+ 2. **Test Suite Health**
41
+ ```bash
42
+ uv run pytest --collect-only -q
43
+ uv run pytest --co -q | wc -l
44
+ ```
45
+ - Count total tests
46
+ - Check for test discovery issues
47
+ - Verify test structure integrity
48
+
49
+ ### Step 3: Dependency Analysis
50
+ 1. **Dependency Health**
51
+ ```bash
52
+ uv tree
53
+ uv lock --dry-run
54
+ ```
55
+ - Check for dependency conflicts
56
+ - Identify outdated dependencies
57
+ - Verify lock file consistency
58
+
59
+ 2. **Security Scan**
60
+ ```bash
61
+ uv run pip-audit --desc
62
+ ```
63
+ - Scan for known vulnerabilities
64
+ - Check dependency licenses
65
+ - Identify security advisories
66
+
67
+ ### Step 4: Performance Metrics
68
+ 1. **Test Performance**
69
+ ```bash
70
+ uv run pytest --durations=10
71
+ ```
72
+ - Identify slowest tests
73
+ - Check overall test execution time
74
+ - Monitor test suite growth
75
+
76
+ 2. **Build Performance**
77
+ ```bash
78
+ time uv run python -c "import basic_memory"
79
+ ```
80
+ - Check import time
81
+ - Validate package installation
82
+ - Monitor startup performance
83
+
84
+ ### Step 5: Documentation Health
85
+ 1. **Documentation Coverage**
86
+ - Check README.md currency
87
+ - Verify CLI documentation
88
+ - Validate MCP tool documentation
89
+ - Check changelog completeness
90
+
91
+ 2. **API Documentation**
92
+ - Verify docstring coverage
93
+ - Check type annotation completeness
94
+ - Validate example code
95
+
96
+ ### Step 6: Project Metrics
97
+ 1. **Code Statistics**
98
+ ```bash
99
+ find src -name "*.py" | xargs wc -l
100
+ find tests -name "*.py" | xargs wc -l
101
+ ```
102
+ - Lines of code trends
103
+ - Test-to-code ratio
104
+ - File organization metrics
105
+
106
+ ## Health Report Format
107
+
108
+ Generate comprehensive health dashboard:
109
+
110
+ ```
111
+ 🏥 Basic Memory Project Health Report
112
+
113
+ 📊 OVERALL HEALTH: 🟢 EXCELLENT (92/100)
114
+
115
+ 🗂️ GIT REPOSITORY
116
+ ✅ Clean working directory
117
+ ✅ Up to date with origin/main
118
+ ✅ Recent commit activity (5 commits this week)
119
+
120
+ 🔍 CODE QUALITY
121
+ ✅ Linting: 0 errors, 2 warnings
122
+ ✅ Type checking: 100% coverage
123
+ ✅ Formatting: Compliant
124
+ ⚠️ Complex functions: 3 need refactoring
125
+
126
+ 🧪 TEST SUITE
127
+ ✅ Total tests: 744
128
+ ✅ Test discovery: All tests found
129
+ ✅ Coverage: 98.2%
130
+ ⚡ Performance: 45.2s (good)
131
+
132
+ 📦 DEPENDENCIES
133
+ ✅ Dependencies: Up to date
134
+ ✅ Security: No vulnerabilities
135
+ ✅ Conflicts: None detected
136
+ ⚠️ Outdated: 2 minor updates available
137
+
138
+ 📖 DOCUMENTATION
139
+ ✅ README: Current
140
+ ✅ API docs: 95% coverage
141
+ ⚠️ CLI reference: Needs update
142
+ ✅ Changelog: Complete
143
+
144
+ 📈 METRICS
145
+ ├── Source code: 15,432 lines
146
+ ├── Test code: 8,967 lines
147
+ ├── Test ratio: 58% (excellent)
148
+ └── Complexity: Low (maintainable)
149
+
150
+ 🎯 RECOMMENDATIONS:
151
+ 1. Update CLI documentation
152
+ 2. Refactor 3 complex functions
153
+ 3. Update minor dependencies
154
+ 4. Consider splitting large test files
155
+
156
+ 🏆 PROJECT STATUS: Ready for v0.13.0 release!
157
+ ```
158
+
159
+ ## Health Scoring
160
+
161
+ ### Excellent (90-100)
162
+ - All quality gates pass
163
+ - High test coverage (>95%)
164
+ - No security issues
165
+ - Documentation current
166
+
167
+ ### Good (75-89)
168
+ - Minor issues present
169
+ - Good test coverage (>90%)
170
+ - No critical security issues
171
+ - Most documentation current
172
+
173
+ ### Needs Attention (60-74)
174
+ - Several quality issues
175
+ - Adequate test coverage (>80%)
176
+ - Minor security concerns
177
+ - Documentation gaps
178
+
179
+ ### Critical (<60)
180
+ - Major quality problems
181
+ - Low test coverage (<80%)
182
+ - Security vulnerabilities
183
+ - Significant documentation issues
184
+
185
+ ## Context
186
+ - Provides comprehensive project overview
187
+ - Identifies potential issues before they become problems
188
+ - Tracks project health trends over time
189
+ - Helps prioritize maintenance tasks
190
+ - Supports release readiness decisions
@@ -0,0 +1,62 @@
1
+ # Basic Memory Custom Commands
2
+
3
+ This directory contains custom Claude Code slash commands for the Basic Memory project.
4
+
5
+ ## Available Commands
6
+
7
+ ### Release Management (`/project:release:*`)
8
+ - `/project:release:beta` - Create beta releases with automated quality checks
9
+ - `/project:release:release` - Create stable releases with comprehensive validation
10
+ - `/project:release:release-check` - Pre-flight validation without making changes
11
+ - `/project:release:changelog` - Generate changelog entries from commits
12
+
13
+ ### Development (`/project:*`)
14
+ - `/project:test-coverage` - Run tests with detailed coverage analysis
15
+ - `/project:test-live` - Live testing suite using real Basic Memory installation
16
+ - `/project:lint-fix` - Run comprehensive linting with auto-fix
17
+ - `/project:check-health` - Comprehensive project health assessment
18
+
19
+ ## Command Structure
20
+
21
+ Commands are organized by functionality:
22
+ ```
23
+ .claude/commands/
24
+ ├── release/ # Release management commands
25
+ │ ├── beta.md # /project:release:beta
26
+ │ ├── release.md # /project:release:release
27
+ │ ├── release-check.md # /project:release:release-check
28
+ │ └── changelog.md # /project:release:changelog
29
+ ├── test-coverage.md # /project:test-coverage
30
+ ├── test-live.md # /project:test-live
31
+ ├── lint-fix.md # /project:lint-fix
32
+ ├── check-health.md # /project:check-health
33
+ └── commands.md # This overview file
34
+ ```
35
+
36
+ ## Usage
37
+
38
+ Commands are invoked using the `/project:` prefix:
39
+ - `/project:release:beta v0.13.0b4`
40
+ - `/project:test-coverage mcp`
41
+ - `/project:test-live core`
42
+ - `/project:release:release-check`
43
+ - `/project:check-health`
44
+
45
+ ## Implementation
46
+
47
+ Each command is implemented as a Markdown file containing structured prompts that:
48
+ 1. Validate preconditions
49
+ 2. Execute steps in the correct order
50
+ 3. Handle errors gracefully
51
+ 4. Provide clear status updates
52
+ 5. Return actionable results
53
+
54
+ ## Tooling Integration
55
+
56
+ Commands leverage existing project tooling:
57
+ - `make check` - Quality checks
58
+ - `make test` - Test suite
59
+ - `make update-deps` - Dependency updates
60
+ - `uv` - Package management
61
+ - `git` - Version control
62
+ - GitHub Actions - CI/CD pipeline
@@ -0,0 +1,145 @@
1
+ # /project:lint-fix - Comprehensive Code Quality Fix
2
+
3
+ Run comprehensive linting and auto-fix code quality issues across the codebase.
4
+
5
+ ## Usage
6
+ ```
7
+ /project:lint-fix
8
+ ```
9
+
10
+ ## Implementation
11
+
12
+ You are an expert code quality engineer for the Basic Memory project. When the user runs `/project:lint-fix`, execute the following steps:
13
+
14
+ ### Step 1: Pre-flight Check
15
+ 1. **Verify Clean Working Directory**
16
+ ```bash
17
+ git status --porcelain
18
+ ```
19
+ - Check for uncommitted changes
20
+ - Warn if working directory is not clean
21
+ - Suggest stashing changes if needed
22
+
23
+ ### Step 2: Import Organization
24
+ 1. **Fix Import Order and Cleanup**
25
+ ```bash
26
+ uv run ruff check --select I --fix .
27
+ ```
28
+ - Sort imports by category (standard, third-party, local)
29
+ - Remove unused imports
30
+ - Fix import spacing and organization
31
+
32
+ ### Step 3: Code Formatting
33
+ 1. **Apply Consistent Formatting**
34
+ ```bash
35
+ uv run ruff format .
36
+ ```
37
+ - Format code according to project style
38
+ - Fix line length issues (100 chars max)
39
+ - Standardize quotes and spacing
40
+
41
+ ### Step 4: Linting with Auto-fix
42
+ 1. **Fix Linting Issues**
43
+ ```bash
44
+ uv run ruff check --fix .
45
+ ```
46
+ - Auto-fix safe linting issues
47
+ - Report any remaining manual fixes needed
48
+ - Focus on code quality and best practices
49
+
50
+ ### Step 5: Type Checking
51
+ 1. **Validate Type Annotations**
52
+ ```bash
53
+ uv run pyright
54
+ ```
55
+ - Check for type errors
56
+ - Report any missing type annotations
57
+ - Validate type compatibility
58
+
59
+ ### Step 6: Report Generation
60
+ Generate comprehensive quality report:
61
+
62
+ ```
63
+ 🔧 Code Quality Fix Report
64
+
65
+ ✅ FIXES APPLIED:
66
+ ├── Import organization: 12 files updated
67
+ ├── Code formatting: 8 files reformatted
68
+ ├── Auto-fixable lint issues: 23 issues resolved
69
+ └── Total files processed: 156
70
+
71
+ ⚠️ MANUAL ATTENTION NEEDED:
72
+ ├── Type annotations missing in entity_service.py:45
73
+ ├── Complex function needs refactoring in sync_service.py:123
74
+ └── Unused variable in test_utils.py:67
75
+
76
+ 🎯 QUALITY SCORE: 96.2% (excellent)
77
+
78
+ 📁 Run `git diff` to review all changes
79
+ ```
80
+
81
+ ## Error Handling
82
+
83
+ ### Common Issues
84
+ - **Merge Conflicts**: Provide resolution guidance
85
+ - **Syntax Errors**: Point to specific files and lines
86
+ - **Type Errors**: Suggest specific fixes
87
+ - **Import Errors**: Check for missing dependencies
88
+
89
+ ### Recovery Steps
90
+ - If auto-fixes introduce issues, provide rollback instructions
91
+ - If type checking fails, suggest incremental fixes
92
+ - If tests break, provide debugging guidance
93
+
94
+ ## Quality Gates
95
+
96
+ ### Must Pass
97
+ - [ ] All auto-fixable lint issues resolved
98
+ - [ ] Code formatting consistent
99
+ - [ ] No syntax errors
100
+ - [ ] Import organization clean
101
+
102
+ ### Should Pass (Warnings)
103
+ - [ ] No type checking errors
104
+ - [ ] No complex function warnings
105
+ - [ ] No unused variables/imports
106
+ - [ ] Consistent naming conventions
107
+
108
+ ## Output Examples
109
+
110
+ ### Successful Fix
111
+ ```
112
+ 🎉 CODE QUALITY IMPROVED!
113
+
114
+ ✅ All auto-fixes applied successfully
115
+ 📏 Code formatting: 100% compliant
116
+ 🔍 Linting: No issues found
117
+ 🏷️ Type checking: All passed
118
+
119
+ Ready for commit! Use:
120
+ git add -A && git commit -m "style: fix code quality issues"
121
+ ```
122
+
123
+ ### Issues Requiring Attention
124
+ ```
125
+ ⚠️ PARTIAL SUCCESS - MANUAL FIXES NEEDED
126
+
127
+ ✅ Auto-fixes applied: 45 issues
128
+ ❌ Manual fixes needed: 3 issues
129
+
130
+ Priority fixes:
131
+ 1. Fix type annotation in services/entity_service.py:142
132
+ 2. Simplify complex function in sync/sync_service.py:67
133
+ 3. Remove unused import in tests/conftest.py:12
134
+
135
+ Run these commands:
136
+ # Fix specific file
137
+ uv run pyright src/basic_memory/services/entity_service.py
138
+ ```
139
+
140
+ ## Context
141
+ - Uses ruff for fast Python linting and formatting
142
+ - Uses pyright for type checking
143
+ - Follows project code style guidelines (100 char line length)
144
+ - Maintains backward compatibility
145
+ - Integrates with existing pre-commit hooks
@@ -0,0 +1,69 @@
1
+ # /beta - Create Beta Release
2
+
3
+ Create a new beta release for the current version with automated quality checks and tagging.
4
+
5
+ ## Usage
6
+ ```
7
+ /beta [version]
8
+ ```
9
+
10
+ **Parameters:**
11
+ - `version` (optional): Beta version like `v0.13.0b4`. If not provided, auto-increments from latest beta tag.
12
+
13
+ ## Implementation
14
+
15
+ You are an expert release manager for the Basic Memory project. When the user runs `/beta`, execute the following steps:
16
+
17
+ ### Step 1: Pre-flight Checks
18
+ 1. Check current git status for uncommitted changes
19
+ 2. Verify we're on the `main` branch
20
+ 3. Get the latest beta tag to determine next version if not provided
21
+
22
+ ### Step 2: Quality Assurance
23
+ 1. Run `make check` to ensure code quality
24
+ 2. If any checks fail, report issues and stop
25
+ 3. Run `make update-deps` to ensure latest dependencies
26
+ 4. Commit any dependency updates with proper message
27
+
28
+ ### Step 3: Version Determination
29
+ If version not provided:
30
+ 1. Get latest git tags with `git tag -l "v*b*" --sort=-version:refname | head -1`
31
+ 2. Auto-increment beta number (e.g., `v0.13.0b2` → `v0.13.0b3`)
32
+ 3. Confirm version with user before proceeding
33
+
34
+ ### Step 4: Release Creation
35
+ 1. Commit any remaining changes
36
+ 2. Push to main: `git push origin main`
37
+ 3. Create tag: `git tag {version}`
38
+ 4. Push tag: `git push origin {version}`
39
+
40
+ ### Step 5: Monitor Release
41
+ 1. Check GitHub Actions workflow starts successfully
42
+ 2. Provide installation instructions for beta
43
+ 3. Report status and next steps
44
+
45
+ ## Error Handling
46
+ - If quality checks fail, provide specific fix instructions
47
+ - If git operations fail, provide manual recovery steps
48
+ - If GitHub Actions fail, provide debugging guidance
49
+
50
+ ## Success Output
51
+ ```
52
+ ✅ Beta Release v0.13.0b4 Created Successfully!
53
+
54
+ 🏷️ Tag: v0.13.0b4
55
+ 🚀 GitHub Actions: Running
56
+ 📦 PyPI: Will be available in ~5 minutes
57
+
58
+ Install with:
59
+ uv tool upgrade basic-memory --prerelease=allow
60
+
61
+ Monitor release: https://github.com/basicmachines-co/basic-memory/actions
62
+ ```
63
+
64
+ ## Context
65
+ - Use the existing Makefile targets (`make check`, `make update-deps`)
66
+ - Follow semantic versioning for beta releases
67
+ - Maintain release notes in CHANGELOG.md
68
+ - Use conventional commit messages
69
+ - Leverage uv-dynamic-versioning for version management
@@ -0,0 +1,157 @@
1
+ # /changelog - Generate or Update Changelog Entry
2
+
3
+ Analyze commits and generate formatted changelog entry for a version.
4
+
5
+ ## Usage
6
+ ```
7
+ /changelog <version> [type]
8
+ ```
9
+
10
+ **Parameters:**
11
+ - `version` (required): Version like `v0.13.0` or `v0.13.0b4`
12
+ - `type` (optional): `beta`, `rc`, or `stable` (default: `stable`)
13
+
14
+ ## Implementation
15
+
16
+ You are an expert technical writer for the Basic Memory project. When the user runs `/changelog`, execute the following steps:
17
+
18
+ ### Step 1: Version Analysis
19
+ 1. **Determine Commit Range**
20
+ ```bash
21
+ # Find last release tag
22
+ git tag -l "v*" --sort=-version:refname | grep -v "b\|rc" | head -1
23
+
24
+ # Get commits since last release
25
+ git log --oneline ${last_tag}..HEAD
26
+ ```
27
+
28
+ 2. **Parse Conventional Commits**
29
+ - Extract feat: (features)
30
+ - Extract fix: (bug fixes)
31
+ - Extract BREAKING CHANGE: (breaking changes)
32
+ - Extract chore:, docs:, test: (other improvements)
33
+
34
+ ### Step 2: Categorize Changes
35
+ 1. **Features (feat:)**
36
+ - New MCP tools
37
+ - New CLI commands
38
+ - New API endpoints
39
+ - Major functionality additions
40
+
41
+ 2. **Bug Fixes (fix:)**
42
+ - User-facing bug fixes
43
+ - Critical issues resolved
44
+ - Performance improvements
45
+ - Security fixes
46
+
47
+ 3. **Technical Improvements**
48
+ - Test coverage improvements
49
+ - Code quality enhancements
50
+ - Dependency updates
51
+ - Documentation updates
52
+
53
+ 4. **Breaking Changes**
54
+ - API changes
55
+ - Configuration changes
56
+ - Behavior changes
57
+ - Migration requirements
58
+
59
+ ### Step 3: Generate Changelog Entry
60
+ Create formatted entry following existing CHANGELOG.md style:
61
+
62
+ ```markdown
63
+ ## v0.13.0 (2025-06-03)
64
+
65
+ ### Features
66
+
67
+ - **Multi-Project Management System** - Switch between projects instantly during conversations
68
+ ([`993e88a`](https://github.com/basicmachines-co/basic-memory/commit/993e88a))
69
+ - Instant project switching with session context
70
+ - Project-specific operations and isolation
71
+ - Project discovery and management tools
72
+
73
+ - **Advanced Note Editing** - Incremental editing with append, prepend, find/replace, and section operations
74
+ ([`6fc3904`](https://github.com/basicmachines-co/basic-memory/commit/6fc3904))
75
+ - `edit_note` tool with multiple operation types
76
+ - Smart frontmatter-aware editing
77
+ - Validation and error handling
78
+
79
+ ### Bug Fixes
80
+
81
+ - **#118**: Fix YAML tag formatting to follow standard specification
82
+ ([`2dc7e27`](https://github.com/basicmachines-co/basic-memory/commit/2dc7e27))
83
+
84
+ - **#110**: Make --project flag work consistently across CLI commands
85
+ ([`02dd91a`](https://github.com/basicmachines-co/basic-memory/commit/02dd91a))
86
+
87
+ ### Technical Improvements
88
+
89
+ - **Comprehensive Testing** - 100% test coverage with integration testing
90
+ ([`468a22f`](https://github.com/basicmachines-co/basic-memory/commit/468a22f))
91
+ - MCP integration test suite
92
+ - End-to-end testing framework
93
+ - Performance and edge case validation
94
+
95
+ ### Breaking Changes
96
+
97
+ - **Database Migration**: Automatic migration from per-project to unified database.
98
+ Data will be re-index from the filesystem, resulting in no data loss.
99
+ - **Configuration Changes**: Projects now synced between config.json and database
100
+ - **Full Backward Compatibility**: All existing setups continue to work seamlessly
101
+ ```
102
+
103
+ ### Step 4: Integration
104
+ 1. **Update CHANGELOG.md**
105
+ - Insert new entry at top
106
+ - Maintain consistent formatting
107
+ - Include commit links and issue references
108
+
109
+ 2. **Validation**
110
+ - Check all major changes are captured
111
+ - Verify commit links work
112
+ - Ensure issue numbers are correct
113
+
114
+ ## Smart Analysis Features
115
+
116
+ ### Automatic Classification
117
+ - Detect feature additions from file changes
118
+ - Identify bug fixes from commit messages
119
+ - Find breaking changes from code analysis
120
+ - Extract issue numbers from commit messages
121
+
122
+ ### Content Enhancement
123
+ - Add context for technical changes
124
+ - Include migration guidance for breaking changes
125
+ - Suggest installation/upgrade instructions
126
+ - Link to relevant documentation
127
+
128
+ ## Output Format
129
+
130
+ ### For Beta Releases
131
+ ```markdown
132
+ ## v0.13.0b4 (2025-06-03)
133
+
134
+ ### Beta Changes Since v0.13.0b3
135
+
136
+ - Fix FastMCP API compatibility issues
137
+ - Update dependencies to latest versions
138
+ - Resolve setuptools import error
139
+
140
+ ### Installation
141
+ ```bash
142
+ uv tool install basic-memory --prerelease=allow
143
+ ```
144
+
145
+ ### Known Issues
146
+ - [List any known issues for beta testing]
147
+ ```
148
+
149
+ ### For Stable Releases
150
+ Full changelog with complete feature list, organized by impact and category.
151
+
152
+ ## Context
153
+ - Follows existing CHANGELOG.md format and style
154
+ - Uses conventional commit standards
155
+ - Includes GitHub commit links for traceability
156
+ - Focuses on user-facing changes and value
157
+ - Maintains consistency with previous entries