kodit 0.5.0__tar.gz → 0.5.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 kodit might be problematic. Click here for more details.

Files changed (352) hide show
  1. {kodit-0.5.0 → kodit-0.5.1}/.github/workflows/test.yaml +1 -1
  2. {kodit-0.5.0 → kodit-0.5.1}/CLAUDE.md +36 -35
  3. {kodit-0.5.0 → kodit-0.5.1}/Makefile +5 -3
  4. {kodit-0.5.0 → kodit-0.5.1}/PKG-INFO +1 -1
  5. {kodit-0.5.0 → kodit-0.5.1}/docs/_index.md +12 -19
  6. {kodit-0.5.0 → kodit-0.5.1}/docs/getting-started/installation/index.md +14 -9
  7. kodit-0.5.1/docs/getting-started/quick-start/index.md +67 -0
  8. {kodit-0.5.0 → kodit-0.5.1}/docs/reference/api/index.md +118 -1
  9. {kodit-0.5.0 → kodit-0.5.1}/docs/reference/api/openapi.json +271 -2
  10. kodit-0.5.1/docs/reference/configuration/index.md +82 -0
  11. kodit-0.5.1/docs/reference/configuration/templates/template.j2 +53 -0
  12. {kodit-0.5.0 → kodit-0.5.1}/docs/reference/deployment/docker-compose.yaml +22 -5
  13. {kodit-0.5.0 → kodit-0.5.1}/docs/reference/deployment/kubernetes.yaml +1 -14
  14. {kodit-0.5.0 → kodit-0.5.1}/docs/reference/hosted-kodit/index.md +1 -1
  15. kodit-0.5.1/docs/reference/indexing/index.md +83 -0
  16. {kodit-0.5.0 → kodit-0.5.1}/docs/reference/sync/index.md +0 -9
  17. kodit-0.5.1/docs/reference/troubleshooting/index.md +5 -0
  18. {kodit-0.5.0 → kodit-0.5.1}/pyproject.toml +2 -0
  19. {kodit-0.5.0 → kodit-0.5.1}/src/kodit/_version.py +2 -2
  20. {kodit-0.5.0 → kodit-0.5.1}/src/kodit/app.py +10 -12
  21. {kodit-0.5.0 → kodit-0.5.1}/src/kodit/application/factories/server_factory.py +53 -11
  22. {kodit-0.5.0 → kodit-0.5.1}/src/kodit/application/services/commit_indexing_application_service.py +188 -31
  23. {kodit-0.5.0 → kodit-0.5.1}/src/kodit/config.py +3 -3
  24. kodit-0.5.1/src/kodit/domain/enrichments/__init__.py +1 -0
  25. kodit-0.5.1/src/kodit/domain/enrichments/architecture/__init__.py +1 -0
  26. kodit-0.5.1/src/kodit/domain/enrichments/architecture/architecture.py +20 -0
  27. kodit-0.5.1/src/kodit/domain/enrichments/architecture/physical/__init__.py +1 -0
  28. kodit-0.5.1/src/kodit/domain/enrichments/architecture/physical/discovery_notes.py +14 -0
  29. kodit-0.5.1/src/kodit/domain/enrichments/architecture/physical/formatter.py +11 -0
  30. kodit-0.5.1/src/kodit/domain/enrichments/architecture/physical/physical.py +17 -0
  31. kodit-0.5.1/src/kodit/domain/enrichments/development/__init__.py +1 -0
  32. kodit-0.5.1/src/kodit/domain/enrichments/development/development.py +18 -0
  33. kodit-0.5.1/src/kodit/domain/enrichments/development/snippet/__init__.py +1 -0
  34. kodit-0.5.1/src/kodit/domain/enrichments/development/snippet/snippet.py +21 -0
  35. kodit-0.5.1/src/kodit/domain/enrichments/enricher.py +17 -0
  36. kodit-0.5.1/src/kodit/domain/enrichments/enrichment.py +39 -0
  37. kodit-0.5.1/src/kodit/domain/enrichments/request.py +12 -0
  38. kodit-0.5.1/src/kodit/domain/enrichments/response.py +11 -0
  39. kodit-0.5.1/src/kodit/domain/enrichments/usage/__init__.py +1 -0
  40. kodit-0.5.1/src/kodit/domain/enrichments/usage/api_docs.py +19 -0
  41. kodit-0.5.1/src/kodit/domain/enrichments/usage/usage.py +18 -0
  42. {kodit-0.5.0 → kodit-0.5.1}/src/kodit/domain/protocols.py +7 -6
  43. kodit-0.5.1/src/kodit/domain/services/enrichment_service.py +27 -0
  44. kodit-0.5.1/src/kodit/domain/services/physical_architecture_service.py +182 -0
  45. {kodit-0.5.0 → kodit-0.5.1}/src/kodit/domain/value_objects.py +6 -23
  46. {kodit-0.5.0 → kodit-0.5.1}/src/kodit/infrastructure/api/v1/routers/commits.py +81 -0
  47. kodit-0.5.1/src/kodit/infrastructure/api/v1/schemas/enrichment.py +29 -0
  48. {kodit-0.5.0 → kodit-0.5.1}/src/kodit/infrastructure/cloning/git/git_python_adaptor.py +71 -4
  49. kodit-0.5.1/src/kodit/infrastructure/enricher/__init__.py +1 -0
  50. kodit-0.5.1/src/kodit/infrastructure/enricher/enricher_factory.py +53 -0
  51. kodit-0.5.0/src/kodit/infrastructure/enrichment/litellm_enrichment_provider.py → kodit-0.5.1/src/kodit/infrastructure/enricher/litellm_enricher.py +20 -33
  52. kodit-0.5.0/src/kodit/infrastructure/enrichment/local_enrichment_provider.py → kodit-0.5.1/src/kodit/infrastructure/enricher/local_enricher.py +19 -24
  53. kodit-0.5.1/src/kodit/infrastructure/enricher/null_enricher.py +36 -0
  54. kodit-0.5.1/src/kodit/infrastructure/mappers/enrichment_mapper.py +83 -0
  55. {kodit-0.5.0 → kodit-0.5.1}/src/kodit/infrastructure/mappers/snippet_mapper.py +20 -22
  56. kodit-0.5.1/src/kodit/infrastructure/physical_architecture/__init__.py +1 -0
  57. kodit-0.5.1/src/kodit/infrastructure/physical_architecture/detectors/__init__.py +1 -0
  58. kodit-0.5.1/src/kodit/infrastructure/physical_architecture/detectors/docker_compose_detector.py +336 -0
  59. kodit-0.5.1/src/kodit/infrastructure/physical_architecture/formatters/__init__.py +1 -0
  60. kodit-0.5.1/src/kodit/infrastructure/physical_architecture/formatters/narrative_formatter.py +149 -0
  61. kodit-0.5.1/src/kodit/infrastructure/slicing/api_doc_extractor.py +836 -0
  62. kodit-0.5.1/src/kodit/infrastructure/slicing/ast_analyzer.py +1128 -0
  63. {kodit-0.5.0 → kodit-0.5.1}/src/kodit/infrastructure/slicing/slicer.py +56 -391
  64. kodit-0.5.1/src/kodit/infrastructure/sqlalchemy/enrichment_v2_repository.py +118 -0
  65. {kodit-0.5.0 → kodit-0.5.1}/src/kodit/infrastructure/sqlalchemy/entities.py +46 -38
  66. {kodit-0.5.0 → kodit-0.5.1}/src/kodit/infrastructure/sqlalchemy/git_branch_repository.py +22 -11
  67. {kodit-0.5.0 → kodit-0.5.1}/src/kodit/infrastructure/sqlalchemy/git_commit_repository.py +23 -14
  68. {kodit-0.5.0 → kodit-0.5.1}/src/kodit/infrastructure/sqlalchemy/git_repository.py +27 -17
  69. {kodit-0.5.0 → kodit-0.5.1}/src/kodit/infrastructure/sqlalchemy/git_tag_repository.py +22 -11
  70. {kodit-0.5.0 → kodit-0.5.1}/src/kodit/infrastructure/sqlalchemy/snippet_v2_repository.py +101 -106
  71. kodit-0.5.1/src/kodit/migrations/versions/19f8c7faf8b9_add_generic_enrichment_type.py +260 -0
  72. kodit-0.5.1/src/kodit/utils/dump_config.py +361 -0
  73. {kodit-0.5.0 → kodit-0.5.1}/src/kodit/utils/dump_openapi.py +5 -6
  74. {kodit-0.5.0 → kodit-0.5.1}/tests/kodit/application/services/commit_indexing_application_service_test.py +38 -2
  75. kodit-0.5.1/tests/kodit/domain/enrichment_service_test.py +120 -0
  76. {kodit-0.5.0 → kodit-0.5.1}/tests/kodit/infrastructure/embedding/embedding_provider/litellm_embedding_provider_test.py +7 -7
  77. {kodit-0.5.0 → kodit-0.5.1}/tests/kodit/infrastructure/embedding/test_litellm_socket_providers.py +9 -10
  78. kodit-0.5.1/tests/kodit/infrastructure/enricher/__init__.py +1 -0
  79. kodit-0.5.1/tests/kodit/infrastructure/enricher/null_enricher_test.py +32 -0
  80. {kodit-0.5.0 → kodit-0.5.1}/tests/kodit/infrastructure/mappers/git_mapper_test.py +6 -49
  81. kodit-0.5.1/tests/kodit/infrastructure/physical_architecture/__init__.py +1 -0
  82. kodit-0.5.1/tests/kodit/infrastructure/physical_architecture/detectors/__init__.py +1 -0
  83. kodit-0.5.1/tests/kodit/infrastructure/physical_architecture/detectors/docker_compose_detector_test.py +91 -0
  84. kodit-0.5.1/tests/kodit/infrastructure/physical_architecture/end_to_end_test.py +99 -0
  85. kodit-0.5.1/tests/kodit/infrastructure/physical_architecture/fixtures/simple_web_app/docker-compose.yml +39 -0
  86. kodit-0.5.1/tests/kodit/infrastructure/physical_architecture/formatters/__init__.py +1 -0
  87. kodit-0.5.1/tests/kodit/infrastructure/physical_architecture/formatters/narrative_formatter_test.py +44 -0
  88. kodit-0.5.1/tests/kodit/infrastructure/slicing/api_doc_extractor_test.py +151 -0
  89. kodit-0.5.1/tests/kodit/infrastructure/slicing/ast_analyzer_test.py +115 -0
  90. kodit-0.5.1/tests/kodit/infrastructure/slicing/data/go/api/pkg/controller/filestore.go +24 -0
  91. kodit-0.5.1/tests/kodit/infrastructure/slicing/data/go/api/pkg/controller/filestore_test.go +10 -0
  92. kodit-0.5.1/tests/kodit/infrastructure/slicing/data/python/submodule/__init__.py +1 -0
  93. kodit-0.5.1/tests/kodit/infrastructure/slicing/data/python/submodule/main.py +5 -0
  94. kodit-0.5.1/tests/kodit/infrastructure/slicing/slicer_test.py +53 -0
  95. kodit-0.5.1/tests/kodit/infrastructure/sqlalchemy/enrichment_v2_repository_test.py +232 -0
  96. {kodit-0.5.0 → kodit-0.5.1}/tests/kodit/infrastructure/sqlalchemy/snippet_v2_repository_test.py +142 -1
  97. kodit-0.5.1/understanding_architecture.md +398 -0
  98. {kodit-0.5.0 → kodit-0.5.1}/uv.lock +11 -0
  99. kodit-0.5.0/docs/getting-started/quick-start/index.md +0 -56
  100. kodit-0.5.0/docs/reference/configuration/index.md +0 -189
  101. kodit-0.5.0/docs/reference/indexing/index.md +0 -378
  102. kodit-0.5.0/src/kodit/domain/services/enrichment_service.py +0 -48
  103. kodit-0.5.0/src/kodit/infrastructure/enrichment/__init__.py +0 -1
  104. kodit-0.5.0/src/kodit/infrastructure/enrichment/enrichment_factory.py +0 -52
  105. kodit-0.5.0/src/kodit/infrastructure/enrichment/null_enrichment_provider.py +0 -19
  106. kodit-0.5.0/tests/kodit/domain/enrichment_service_test.py +0 -131
  107. kodit-0.5.0/tests/kodit/infrastructure/enrichment/__init__.py +0 -1
  108. kodit-0.5.0/tests/kodit/infrastructure/enrichment/enrichment_factory_test.py +0 -44
  109. kodit-0.5.0/tests/kodit/infrastructure/enrichment/enrichment_provider/__init__.py +0 -1
  110. kodit-0.5.0/tests/kodit/infrastructure/enrichment/enrichment_provider/litellm_enrichment_provider_test.py +0 -377
  111. kodit-0.5.0/tests/kodit/infrastructure/enrichment/enrichment_provider/local_enrichment_provider_test.py +0 -272
  112. kodit-0.5.0/tests/kodit/infrastructure/enrichment/enrichment_provider/null_enrichment_provider_test.py +0 -97
  113. kodit-0.5.0/tests/kodit/infrastructure/enrichment/utils_test.py +0 -110
  114. {kodit-0.5.0 → kodit-0.5.1}/.claude/commands/debug.md +0 -0
  115. {kodit-0.5.0 → kodit-0.5.1}/.claude/commands/new-requirement.md +0 -0
  116. {kodit-0.5.0 → kodit-0.5.1}/.claude/commands/refactor.md +0 -0
  117. {kodit-0.5.0 → kodit-0.5.1}/.claude/commands/update-docs.md +0 -0
  118. {kodit-0.5.0 → kodit-0.5.1}/.claude/settings.json +0 -0
  119. {kodit-0.5.0 → kodit-0.5.1}/.cursor/rules/kodit.mdc +0 -0
  120. {kodit-0.5.0 → kodit-0.5.1}/.cursor/rules/style.mdc +0 -0
  121. {kodit-0.5.0 → kodit-0.5.1}/.dockerignore +0 -0
  122. {kodit-0.5.0 → kodit-0.5.1}/.github/CODE_OF_CONDUCT.md +0 -0
  123. {kodit-0.5.0 → kodit-0.5.1}/.github/CONTRIBUTING.md +0 -0
  124. {kodit-0.5.0 → kodit-0.5.1}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
  125. {kodit-0.5.0 → kodit-0.5.1}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
  126. {kodit-0.5.0 → kodit-0.5.1}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
  127. {kodit-0.5.0 → kodit-0.5.1}/.github/dependabot.yml +0 -0
  128. {kodit-0.5.0 → kodit-0.5.1}/.github/workflows/docker.yaml +0 -0
  129. {kodit-0.5.0 → kodit-0.5.1}/.github/workflows/docs.yaml +0 -0
  130. {kodit-0.5.0 → kodit-0.5.1}/.github/workflows/pull_request.yaml +0 -0
  131. {kodit-0.5.0 → kodit-0.5.1}/.github/workflows/pypi-test.yaml +0 -0
  132. {kodit-0.5.0 → kodit-0.5.1}/.github/workflows/pypi.yaml +0 -0
  133. {kodit-0.5.0 → kodit-0.5.1}/.gitignore +0 -0
  134. {kodit-0.5.0 → kodit-0.5.1}/.python-version +0 -0
  135. {kodit-0.5.0 → kodit-0.5.1}/.vscode/launch.json +0 -0
  136. {kodit-0.5.0 → kodit-0.5.1}/.vscode/settings.json +0 -0
  137. {kodit-0.5.0 → kodit-0.5.1}/Dockerfile +0 -0
  138. {kodit-0.5.0 → kodit-0.5.1}/LICENSE +0 -0
  139. {kodit-0.5.0 → kodit-0.5.1}/README.md +0 -0
  140. {kodit-0.5.0 → kodit-0.5.1}/alembic.ini +0 -0
  141. {kodit-0.5.0 → kodit-0.5.1}/docs/demos/_index.md +0 -0
  142. {kodit-0.5.0 → kodit-0.5.1}/docs/demos/go-simple-microservice/index.md +0 -0
  143. {kodit-0.5.0 → kodit-0.5.1}/docs/demos/knock-knock-auth/index.md +0 -0
  144. {kodit-0.5.0 → kodit-0.5.1}/docs/developer/index.md +0 -0
  145. {kodit-0.5.0 → kodit-0.5.1}/docs/getting-started/_index.md +0 -0
  146. {kodit-0.5.0 → kodit-0.5.1}/docs/getting-started/integration/index.md +0 -0
  147. {kodit-0.5.0 → kodit-0.5.1}/docs/reference/_index.md +0 -0
  148. {kodit-0.5.0 → kodit-0.5.1}/docs/reference/api/templates/_content.md.j2 +0 -0
  149. {kodit-0.5.0 → kodit-0.5.1}/docs/reference/api/templates/_example.md.j2 +0 -0
  150. {kodit-0.5.0 → kodit-0.5.1}/docs/reference/api/templates/_object_schema.md.j2 +0 -0
  151. {kodit-0.5.0 → kodit-0.5.1}/docs/reference/api/templates/_security_scheme.md.j2 +0 -0
  152. {kodit-0.5.0 → kodit-0.5.1}/docs/reference/api/templates/api_doc_template.md.j2 +0 -0
  153. {kodit-0.5.0 → kodit-0.5.1}/docs/reference/deployment/index.md +0 -0
  154. {kodit-0.5.0 → kodit-0.5.1}/docs/reference/mcp/index.md +0 -0
  155. {kodit-0.5.0 → kodit-0.5.1}/docs/reference/telemetry/index.md +0 -0
  156. {kodit-0.5.0 → kodit-0.5.1}/src/kodit/.gitignore +0 -0
  157. {kodit-0.5.0 → kodit-0.5.1}/src/kodit/__init__.py +0 -0
  158. {kodit-0.5.0 → kodit-0.5.1}/src/kodit/application/__init__.py +0 -0
  159. {kodit-0.5.0 → kodit-0.5.1}/src/kodit/application/factories/__init__.py +0 -0
  160. {kodit-0.5.0 → kodit-0.5.1}/src/kodit/application/factories/reporting_factory.py +0 -0
  161. {kodit-0.5.0 → kodit-0.5.1}/src/kodit/application/services/__init__.py +0 -0
  162. {kodit-0.5.0 → kodit-0.5.1}/src/kodit/application/services/code_search_application_service.py +0 -0
  163. {kodit-0.5.0 → kodit-0.5.1}/src/kodit/application/services/indexing_worker_service.py +0 -0
  164. {kodit-0.5.0 → kodit-0.5.1}/src/kodit/application/services/queue_service.py +0 -0
  165. {kodit-0.5.0 → kodit-0.5.1}/src/kodit/application/services/reporting.py +0 -0
  166. {kodit-0.5.0 → kodit-0.5.1}/src/kodit/application/services/sync_scheduler.py +0 -0
  167. {kodit-0.5.0 → kodit-0.5.1}/src/kodit/cli.py +0 -0
  168. {kodit-0.5.0 → kodit-0.5.1}/src/kodit/cli_utils.py +0 -0
  169. {kodit-0.5.0 → kodit-0.5.1}/src/kodit/database.py +0 -0
  170. {kodit-0.5.0 → kodit-0.5.1}/src/kodit/domain/__init__.py +0 -0
  171. {kodit-0.5.0 → kodit-0.5.1}/src/kodit/domain/entities/__init__.py +0 -0
  172. {kodit-0.5.0 → kodit-0.5.1}/src/kodit/domain/entities/git.py +0 -0
  173. {kodit-0.5.0 → kodit-0.5.1}/src/kodit/domain/errors.py +0 -0
  174. {kodit-0.5.0 → kodit-0.5.1}/src/kodit/domain/factories/__init__.py +0 -0
  175. {kodit-0.5.0 → kodit-0.5.1}/src/kodit/domain/factories/git_repo_factory.py +0 -0
  176. {kodit-0.5.0 → kodit-0.5.1}/src/kodit/domain/services/__init__.py +0 -0
  177. {kodit-0.5.0 → kodit-0.5.1}/src/kodit/domain/services/bm25_service.py +0 -0
  178. {kodit-0.5.0 → kodit-0.5.1}/src/kodit/domain/services/embedding_service.py +0 -0
  179. {kodit-0.5.0 → kodit-0.5.1}/src/kodit/domain/services/git_repository_service.py +0 -0
  180. {kodit-0.5.0 → kodit-0.5.1}/src/kodit/domain/services/git_service.py +0 -0
  181. {kodit-0.5.0 → kodit-0.5.1}/src/kodit/domain/services/task_status_query_service.py +0 -0
  182. {kodit-0.5.0 → kodit-0.5.1}/src/kodit/infrastructure/__init__.py +0 -0
  183. {kodit-0.5.0 → kodit-0.5.1}/src/kodit/infrastructure/api/__init__.py +0 -0
  184. {kodit-0.5.0 → kodit-0.5.1}/src/kodit/infrastructure/api/client/__init__.py +0 -0
  185. {kodit-0.5.0 → kodit-0.5.1}/src/kodit/infrastructure/api/client/base.py +0 -0
  186. {kodit-0.5.0 → kodit-0.5.1}/src/kodit/infrastructure/api/client/exceptions.py +0 -0
  187. {kodit-0.5.0 → kodit-0.5.1}/src/kodit/infrastructure/api/client/generated_endpoints.py +0 -0
  188. {kodit-0.5.0 → kodit-0.5.1}/src/kodit/infrastructure/api/client/search_client.py +0 -0
  189. {kodit-0.5.0 → kodit-0.5.1}/src/kodit/infrastructure/api/middleware/__init__.py +0 -0
  190. {kodit-0.5.0 → kodit-0.5.1}/src/kodit/infrastructure/api/middleware/auth.py +0 -0
  191. {kodit-0.5.0 → kodit-0.5.1}/src/kodit/infrastructure/api/v1/__init__.py +0 -0
  192. {kodit-0.5.0 → kodit-0.5.1}/src/kodit/infrastructure/api/v1/dependencies.py +0 -0
  193. {kodit-0.5.0 → kodit-0.5.1}/src/kodit/infrastructure/api/v1/routers/__init__.py +0 -0
  194. {kodit-0.5.0 → kodit-0.5.1}/src/kodit/infrastructure/api/v1/routers/queue.py +0 -0
  195. {kodit-0.5.0 → kodit-0.5.1}/src/kodit/infrastructure/api/v1/routers/repositories.py +0 -0
  196. {kodit-0.5.0 → kodit-0.5.1}/src/kodit/infrastructure/api/v1/routers/search.py +0 -0
  197. {kodit-0.5.0 → kodit-0.5.1}/src/kodit/infrastructure/api/v1/schemas/__init__.py +0 -0
  198. {kodit-0.5.0 → kodit-0.5.1}/src/kodit/infrastructure/api/v1/schemas/commit.py +0 -0
  199. {kodit-0.5.0 → kodit-0.5.1}/src/kodit/infrastructure/api/v1/schemas/context.py +0 -0
  200. {kodit-0.5.0 → kodit-0.5.1}/src/kodit/infrastructure/api/v1/schemas/queue.py +0 -0
  201. {kodit-0.5.0 → kodit-0.5.1}/src/kodit/infrastructure/api/v1/schemas/repository.py +0 -0
  202. {kodit-0.5.0 → kodit-0.5.1}/src/kodit/infrastructure/api/v1/schemas/search.py +0 -0
  203. {kodit-0.5.0 → kodit-0.5.1}/src/kodit/infrastructure/api/v1/schemas/snippet.py +0 -0
  204. {kodit-0.5.0 → kodit-0.5.1}/src/kodit/infrastructure/api/v1/schemas/tag.py +0 -0
  205. {kodit-0.5.0 → kodit-0.5.1}/src/kodit/infrastructure/api/v1/schemas/task_status.py +0 -0
  206. {kodit-0.5.0 → kodit-0.5.1}/src/kodit/infrastructure/bm25/__init__.py +0 -0
  207. {kodit-0.5.0 → kodit-0.5.1}/src/kodit/infrastructure/bm25/local_bm25_repository.py +0 -0
  208. {kodit-0.5.0 → kodit-0.5.1}/src/kodit/infrastructure/bm25/vectorchord_bm25_repository.py +0 -0
  209. {kodit-0.5.0 → kodit-0.5.1}/src/kodit/infrastructure/cloning/git/__init__.py +0 -0
  210. {kodit-0.5.0 → kodit-0.5.1}/src/kodit/infrastructure/cloning/git/working_copy.py +0 -0
  211. {kodit-0.5.0 → kodit-0.5.1}/src/kodit/infrastructure/embedding/__init__.py +0 -0
  212. {kodit-0.5.0 → kodit-0.5.1}/src/kodit/infrastructure/embedding/embedding_factory.py +0 -0
  213. {kodit-0.5.0 → kodit-0.5.1}/src/kodit/infrastructure/embedding/embedding_providers/__init__.py +0 -0
  214. {kodit-0.5.0 → kodit-0.5.1}/src/kodit/infrastructure/embedding/embedding_providers/batching.py +0 -0
  215. {kodit-0.5.0 → kodit-0.5.1}/src/kodit/infrastructure/embedding/embedding_providers/hash_embedding_provider.py +0 -0
  216. {kodit-0.5.0 → kodit-0.5.1}/src/kodit/infrastructure/embedding/embedding_providers/litellm_embedding_provider.py +0 -0
  217. {kodit-0.5.0 → kodit-0.5.1}/src/kodit/infrastructure/embedding/embedding_providers/local_embedding_provider.py +0 -0
  218. {kodit-0.5.0 → kodit-0.5.1}/src/kodit/infrastructure/embedding/local_vector_search_repository.py +0 -0
  219. {kodit-0.5.0 → kodit-0.5.1}/src/kodit/infrastructure/embedding/vectorchord_vector_search_repository.py +0 -0
  220. {kodit-0.5.0/src/kodit/infrastructure/enrichment → kodit-0.5.1/src/kodit/infrastructure/enricher}/utils.py +0 -0
  221. {kodit-0.5.0 → kodit-0.5.1}/src/kodit/infrastructure/git/__init__.py +0 -0
  222. {kodit-0.5.0 → kodit-0.5.1}/src/kodit/infrastructure/git/git_utils.py +0 -0
  223. {kodit-0.5.0 → kodit-0.5.1}/src/kodit/infrastructure/ignore/__init__.py +0 -0
  224. {kodit-0.5.0 → kodit-0.5.1}/src/kodit/infrastructure/ignore/ignore_pattern_provider.py +0 -0
  225. {kodit-0.5.0 → kodit-0.5.1}/src/kodit/infrastructure/indexing/__init__.py +0 -0
  226. {kodit-0.5.0 → kodit-0.5.1}/src/kodit/infrastructure/indexing/fusion_service.py +0 -0
  227. {kodit-0.5.0 → kodit-0.5.1}/src/kodit/infrastructure/mappers/__init__.py +0 -0
  228. {kodit-0.5.0 → kodit-0.5.1}/src/kodit/infrastructure/mappers/git_mapper.py +0 -0
  229. {kodit-0.5.0 → kodit-0.5.1}/src/kodit/infrastructure/mappers/task_mapper.py +0 -0
  230. {kodit-0.5.0 → kodit-0.5.1}/src/kodit/infrastructure/mappers/task_status_mapper.py +0 -0
  231. {kodit-0.5.0 → kodit-0.5.1}/src/kodit/infrastructure/reporting/__init__.py +0 -0
  232. {kodit-0.5.0 → kodit-0.5.1}/src/kodit/infrastructure/reporting/db_progress.py +0 -0
  233. {kodit-0.5.0 → kodit-0.5.1}/src/kodit/infrastructure/reporting/log_progress.py +0 -0
  234. {kodit-0.5.0 → kodit-0.5.1}/src/kodit/infrastructure/reporting/telemetry_progress.py +0 -0
  235. {kodit-0.5.0 → kodit-0.5.1}/src/kodit/infrastructure/slicing/__init__.py +0 -0
  236. {kodit-0.5.0 → kodit-0.5.1}/src/kodit/infrastructure/sqlalchemy/__init__.py +0 -0
  237. {kodit-0.5.0 → kodit-0.5.1}/src/kodit/infrastructure/sqlalchemy/embedding_repository.py +0 -0
  238. {kodit-0.5.0 → kodit-0.5.1}/src/kodit/infrastructure/sqlalchemy/task_repository.py +0 -0
  239. {kodit-0.5.0 → kodit-0.5.1}/src/kodit/infrastructure/sqlalchemy/task_status_repository.py +0 -0
  240. {kodit-0.5.0 → kodit-0.5.1}/src/kodit/infrastructure/sqlalchemy/unit_of_work.py +0 -0
  241. {kodit-0.5.0 → kodit-0.5.1}/src/kodit/log.py +0 -0
  242. {kodit-0.5.0 → kodit-0.5.1}/src/kodit/mcp.py +0 -0
  243. {kodit-0.5.0 → kodit-0.5.1}/src/kodit/middleware.py +0 -0
  244. {kodit-0.5.0 → kodit-0.5.1}/src/kodit/migrations/README +0 -0
  245. {kodit-0.5.0 → kodit-0.5.1}/src/kodit/migrations/__init__.py +0 -0
  246. {kodit-0.5.0 → kodit-0.5.1}/src/kodit/migrations/env.py +0 -0
  247. {kodit-0.5.0 → kodit-0.5.1}/src/kodit/migrations/script.py.mako +0 -0
  248. {kodit-0.5.0 → kodit-0.5.1}/src/kodit/migrations/versions/04b80f802e0c_foreign_key_review.py +0 -0
  249. {kodit-0.5.0 → kodit-0.5.1}/src/kodit/migrations/versions/4073b33f9436_add_file_processing_flag.py +0 -0
  250. {kodit-0.5.0 → kodit-0.5.1}/src/kodit/migrations/versions/4552eb3f23ce_add_summary.py +0 -0
  251. {kodit-0.5.0 → kodit-0.5.1}/src/kodit/migrations/versions/7c3bbc2ab32b_add_embeddings_table.py +0 -0
  252. {kodit-0.5.0 → kodit-0.5.1}/src/kodit/migrations/versions/7f15f878c3a1_add_new_git_entities.py +0 -0
  253. {kodit-0.5.0 → kodit-0.5.1}/src/kodit/migrations/versions/85155663351e_initial.py +0 -0
  254. {kodit-0.5.0 → kodit-0.5.1}/src/kodit/migrations/versions/9cf0e87de578_add_queue.py +0 -0
  255. {kodit-0.5.0 → kodit-0.5.1}/src/kodit/migrations/versions/9e53ea8bb3b0_add_authors.py +0 -0
  256. {kodit-0.5.0 → kodit-0.5.1}/src/kodit/migrations/versions/__init__.py +0 -0
  257. {kodit-0.5.0 → kodit-0.5.1}/src/kodit/migrations/versions/b9cd1c3fd762_add_task_status.py +0 -0
  258. {kodit-0.5.0 → kodit-0.5.1}/src/kodit/migrations/versions/c3f5137d30f5_index_all_the_things.py +0 -0
  259. {kodit-0.5.0 → kodit-0.5.1}/src/kodit/migrations/versions/f9e5ef5e688f_add_git_commits_number.py +0 -0
  260. {kodit-0.5.0 → kodit-0.5.1}/src/kodit/py.typed +0 -0
  261. {kodit-0.5.0 → kodit-0.5.1}/src/kodit/utils/__init__.py +0 -0
  262. {kodit-0.5.0 → kodit-0.5.1}/src/kodit/utils/generate_api_paths.py +0 -0
  263. {kodit-0.5.0 → kodit-0.5.1}/src/kodit/utils/path_utils.py +0 -0
  264. {kodit-0.5.0 → kodit-0.5.1}/tests/__init__.py +0 -0
  265. {kodit-0.5.0 → kodit-0.5.1}/tests/conftest.py +0 -0
  266. {kodit-0.5.0 → kodit-0.5.1}/tests/docker-smoke.sh +0 -0
  267. {kodit-0.5.0 → kodit-0.5.1}/tests/kodit/__init__.py +0 -0
  268. {kodit-0.5.0 → kodit-0.5.1}/tests/kodit/application/__init__.py +0 -0
  269. {kodit-0.5.0 → kodit-0.5.1}/tests/kodit/application/services/__init__.py +0 -0
  270. {kodit-0.5.0 → kodit-0.5.1}/tests/kodit/application/services/queue_service_get_task_test.py +0 -0
  271. {kodit-0.5.0 → kodit-0.5.1}/tests/kodit/application/services/queue_service_test.py +0 -0
  272. {kodit-0.5.0 → kodit-0.5.1}/tests/kodit/application/services/reporting_test.py +0 -0
  273. {kodit-0.5.0 → kodit-0.5.1}/tests/kodit/cli_test.py +0 -0
  274. {kodit-0.5.0 → kodit-0.5.1}/tests/kodit/domain/__init__.py +0 -0
  275. {kodit-0.5.0 → kodit-0.5.1}/tests/kodit/domain/bm25_service_test.py +0 -0
  276. {kodit-0.5.0 → kodit-0.5.1}/tests/kodit/domain/embedding_service_test.py +0 -0
  277. {kodit-0.5.0 → kodit-0.5.1}/tests/kodit/domain/entities_test.py +0 -0
  278. {kodit-0.5.0 → kodit-0.5.1}/tests/kodit/domain/language_detection_service_test.py +0 -0
  279. {kodit-0.5.0 → kodit-0.5.1}/tests/kodit/domain/services/__init__.py +0 -0
  280. {kodit-0.5.0 → kodit-0.5.1}/tests/kodit/domain/services/git_repository_service_test.py +0 -0
  281. {kodit-0.5.0 → kodit-0.5.1}/tests/kodit/e2e.py +0 -0
  282. {kodit-0.5.0 → kodit-0.5.1}/tests/kodit/infrastructure/__init__.py +0 -0
  283. {kodit-0.5.0 → kodit-0.5.1}/tests/kodit/infrastructure/bm25/__init__.py +0 -0
  284. {kodit-0.5.0 → kodit-0.5.1}/tests/kodit/infrastructure/bm25/local_bm25_repository_test.py +0 -0
  285. {kodit-0.5.0 → kodit-0.5.1}/tests/kodit/infrastructure/cloning/__init__.py +0 -0
  286. {kodit-0.5.0 → kodit-0.5.1}/tests/kodit/infrastructure/cloning/git/__init__.py +0 -0
  287. {kodit-0.5.0 → kodit-0.5.1}/tests/kodit/infrastructure/cloning/git/git_python_adaptor_test.py +0 -0
  288. {kodit-0.5.0 → kodit-0.5.1}/tests/kodit/infrastructure/cloning/git_cloning/__init__.py +0 -0
  289. {kodit-0.5.0 → kodit-0.5.1}/tests/kodit/infrastructure/cloning/git_cloning/working_copy_test.py +0 -0
  290. {kodit-0.5.0 → kodit-0.5.1}/tests/kodit/infrastructure/embedding/__init__.py +0 -0
  291. {kodit-0.5.0 → kodit-0.5.1}/tests/kodit/infrastructure/embedding/batching_test.py +0 -0
  292. {kodit-0.5.0 → kodit-0.5.1}/tests/kodit/infrastructure/embedding/embedding_factory_test.py +0 -0
  293. {kodit-0.5.0 → kodit-0.5.1}/tests/kodit/infrastructure/embedding/embedding_provider/__init__.py +0 -0
  294. {kodit-0.5.0 → kodit-0.5.1}/tests/kodit/infrastructure/embedding/embedding_provider/hash_embedding_provider_test.py +0 -0
  295. {kodit-0.5.0 → kodit-0.5.1}/tests/kodit/infrastructure/embedding/embedding_provider/local_embedding_provider_test.py +0 -0
  296. {kodit-0.5.0 → kodit-0.5.1}/tests/kodit/infrastructure/mappers/__init__.py +0 -0
  297. {kodit-0.5.0 → kodit-0.5.1}/tests/kodit/infrastructure/slicing/__init__.py +0 -0
  298. {kodit-0.5.0 → kodit-0.5.1}/tests/kodit/infrastructure/slicing/data/__init__.py +0 -0
  299. {kodit-0.5.0 → kodit-0.5.1}/tests/kodit/infrastructure/slicing/data/c/main.c +0 -0
  300. {kodit-0.5.0 → kodit-0.5.1}/tests/kodit/infrastructure/slicing/data/c/models.c +0 -0
  301. {kodit-0.5.0 → kodit-0.5.1}/tests/kodit/infrastructure/slicing/data/c/models.h +0 -0
  302. {kodit-0.5.0 → kodit-0.5.1}/tests/kodit/infrastructure/slicing/data/c/utils.c +0 -0
  303. {kodit-0.5.0 → kodit-0.5.1}/tests/kodit/infrastructure/slicing/data/c/utils.h +0 -0
  304. {kodit-0.5.0 → kodit-0.5.1}/tests/kodit/infrastructure/slicing/data/cpp/main.cpp +0 -0
  305. {kodit-0.5.0 → kodit-0.5.1}/tests/kodit/infrastructure/slicing/data/cpp/models.cpp +0 -0
  306. {kodit-0.5.0 → kodit-0.5.1}/tests/kodit/infrastructure/slicing/data/cpp/models.hpp +0 -0
  307. {kodit-0.5.0 → kodit-0.5.1}/tests/kodit/infrastructure/slicing/data/cpp/utils.cpp +0 -0
  308. {kodit-0.5.0 → kodit-0.5.1}/tests/kodit/infrastructure/slicing/data/cpp/utils.hpp +0 -0
  309. {kodit-0.5.0 → kodit-0.5.1}/tests/kodit/infrastructure/slicing/data/csharp/Main.cs +0 -0
  310. {kodit-0.5.0 → kodit-0.5.1}/tests/kodit/infrastructure/slicing/data/csharp/Models.cs +0 -0
  311. {kodit-0.5.0 → kodit-0.5.1}/tests/kodit/infrastructure/slicing/data/csharp/Utils.cs +0 -0
  312. {kodit-0.5.0 → kodit-0.5.1}/tests/kodit/infrastructure/slicing/data/css/components.css +0 -0
  313. {kodit-0.5.0 → kodit-0.5.1}/tests/kodit/infrastructure/slicing/data/css/main.css +0 -0
  314. {kodit-0.5.0 → kodit-0.5.1}/tests/kodit/infrastructure/slicing/data/css/utilities.css +0 -0
  315. {kodit-0.5.0 → kodit-0.5.1}/tests/kodit/infrastructure/slicing/data/go/main.go +0 -0
  316. {kodit-0.5.0 → kodit-0.5.1}/tests/kodit/infrastructure/slicing/data/go/models.go +0 -0
  317. {kodit-0.5.0 → kodit-0.5.1}/tests/kodit/infrastructure/slicing/data/go/utils.go +0 -0
  318. {kodit-0.5.0 → kodit-0.5.1}/tests/kodit/infrastructure/slicing/data/html/components.html +0 -0
  319. {kodit-0.5.0 → kodit-0.5.1}/tests/kodit/infrastructure/slicing/data/html/forms.html +0 -0
  320. {kodit-0.5.0 → kodit-0.5.1}/tests/kodit/infrastructure/slicing/data/html/main.html +0 -0
  321. {kodit-0.5.0 → kodit-0.5.1}/tests/kodit/infrastructure/slicing/data/java/Main.java +0 -0
  322. {kodit-0.5.0 → kodit-0.5.1}/tests/kodit/infrastructure/slicing/data/java/Models.java +0 -0
  323. {kodit-0.5.0 → kodit-0.5.1}/tests/kodit/infrastructure/slicing/data/java/Utils.java +0 -0
  324. {kodit-0.5.0 → kodit-0.5.1}/tests/kodit/infrastructure/slicing/data/javascript/main.js +0 -0
  325. {kodit-0.5.0 → kodit-0.5.1}/tests/kodit/infrastructure/slicing/data/javascript/models.js +0 -0
  326. {kodit-0.5.0 → kodit-0.5.1}/tests/kodit/infrastructure/slicing/data/javascript/utils.js +0 -0
  327. {kodit-0.5.0 → kodit-0.5.1}/tests/kodit/infrastructure/slicing/data/python/__init__.py +0 -0
  328. {kodit-0.5.0 → kodit-0.5.1}/tests/kodit/infrastructure/slicing/data/python/main.py +0 -0
  329. {kodit-0.5.0 → kodit-0.5.1}/tests/kodit/infrastructure/slicing/data/python/models.py +0 -0
  330. {kodit-0.5.0 → kodit-0.5.1}/tests/kodit/infrastructure/slicing/data/python/utils.py +0 -0
  331. {kodit-0.5.0 → kodit-0.5.1}/tests/kodit/infrastructure/slicing/data/rust/main.rs +0 -0
  332. {kodit-0.5.0 → kodit-0.5.1}/tests/kodit/infrastructure/slicing/data/rust/models.rs +0 -0
  333. {kodit-0.5.0 → kodit-0.5.1}/tests/kodit/infrastructure/slicing/data/rust/utils.rs +0 -0
  334. {kodit-0.5.0 → kodit-0.5.1}/tests/kodit/infrastructure/snippets/__init__.py +0 -0
  335. {kodit-0.5.0 → kodit-0.5.1}/tests/kodit/infrastructure/snippets/csharp.cs +0 -0
  336. {kodit-0.5.0 → kodit-0.5.1}/tests/kodit/infrastructure/snippets/golang.go +0 -0
  337. {kodit-0.5.0 → kodit-0.5.1}/tests/kodit/infrastructure/snippets/javascript.js +0 -0
  338. {kodit-0.5.0 → kodit-0.5.1}/tests/kodit/infrastructure/snippets/knock_knock_server.py +0 -0
  339. {kodit-0.5.0 → kodit-0.5.1}/tests/kodit/infrastructure/snippets/python.py +0 -0
  340. {kodit-0.5.0 → kodit-0.5.1}/tests/kodit/infrastructure/snippets/typescript.tsx +0 -0
  341. {kodit-0.5.0 → kodit-0.5.1}/tests/kodit/infrastructure/sqlalchemy/__init__.py +0 -0
  342. {kodit-0.5.0 → kodit-0.5.1}/tests/kodit/infrastructure/sqlalchemy/embedding_repository_test.py +0 -0
  343. {kodit-0.5.0 → kodit-0.5.1}/tests/kodit/infrastructure/sqlalchemy/git_branch_repository_test.py +0 -0
  344. {kodit-0.5.0 → kodit-0.5.1}/tests/kodit/infrastructure/sqlalchemy/git_commit_repository_test.py +0 -0
  345. {kodit-0.5.0 → kodit-0.5.1}/tests/kodit/infrastructure/sqlalchemy/git_repository_test.py +0 -0
  346. {kodit-0.5.0 → kodit-0.5.1}/tests/kodit/infrastructure/sqlalchemy/git_tag_repository_test.py +0 -0
  347. {kodit-0.5.0 → kodit-0.5.1}/tests/kodit/log_test.py +0 -0
  348. {kodit-0.5.0 → kodit-0.5.1}/tests/kodit/mcp_test.py +0 -0
  349. {kodit-0.5.0 → kodit-0.5.1}/tests/smoke.py +0 -0
  350. {kodit-0.5.0 → kodit-0.5.1}/tests/utils/__init__.py +0 -0
  351. {kodit-0.5.0 → kodit-0.5.1}/tests/utils/path_utils_test.py +0 -0
  352. {kodit-0.5.0 → kodit-0.5.1}/tests/vectorchord-smoke.sh +0 -0
@@ -39,7 +39,7 @@ jobs:
39
39
  run: make no-database-changes-check
40
40
 
41
41
  - name: API Doc check
42
- run: make openapi-check
42
+ run: make docs-check
43
43
 
44
44
  - name: Run tests
45
45
  run: make test
@@ -47,31 +47,6 @@ The codebase follows Domain-Driven Design (DDD) with clean architecture:
47
47
  - `bm25/` - BM25 search implementations
48
48
  - `indexing/` - Code indexing services
49
49
 
50
- ### Key Components
51
-
52
- **Advanced Indexing Pipeline:**
53
-
54
- 1. Clone/read source code with Git metadata extraction
55
- 2. Language detection for 20+ programming languages
56
- 3. Advanced snippet extraction using Tree-sitter with dependency analysis
57
- 4. Build call graphs and import maps for context-aware extraction
58
- 5. Generate embeddings and BM25 indices
59
- 6. Store in database with selective reindexing for performance
60
-
61
- **Advanced Search System:**
62
-
63
- - Hybrid search combining semantic (embeddings) and keyword (BM25) with Reciprocal Rank Fusion
64
- - Multi-dimensional filtering: language, author, date range, source, file path
65
- - Context-aware results with dependency tracking and usage examples
66
- - Multiple providers: local models, OpenAI, custom APIs
67
- - Configurable via environment variables
68
- - Support for 20+ programming languages including HTML/CSS
69
-
70
- **MCP Server:**
71
-
72
- - FastMCP-based server exposing search tools
73
- - Integrates with Cursor, Cline, and other AI assistants
74
-
75
50
  ## Configuration
76
51
 
77
52
  Key environment variables:
@@ -89,7 +64,7 @@ Uses SQLAlchemy with async support. Supports:
89
64
  - SQLite (default, local development)
90
65
  - PostgreSQL with Vectorchord (production)
91
66
 
92
- Migrations managed with Alembic in `migrations/` directory. DO NOT EDIT THESE FILES.
67
+ Migrations managed with Alembic in `src/kodit/migrations/` directory. DO NOT EDIT THESE FILES.
93
68
 
94
69
  ## Refactoring Strategy
95
70
 
@@ -99,19 +74,45 @@ Migrations managed with Alembic in `migrations/` directory. DO NOT EDIT THESE FI
99
74
 
100
75
  ## Testing Strategy
101
76
 
102
- - Unit tests for domain services and repositories
103
- - Integration tests for database operations
104
- - E2E tests for full indexing pipeline
105
- - Smoke tests for deployment validation
106
- - Performance tests for similarity search
77
+ When writing tests for my code, follow these guidelines:
78
+
79
+ **Test Strategy:**
80
+
81
+ - Focus on testing critical paths and core functionality, not on achieving high coverage percentages
82
+ - Prioritize practical, valuable tests over comprehensive coverage
83
+
84
+ **Test Types & Architecture:**
85
+
86
+ - Write integration tests that use the real database layer
87
+ - Write end-to-end tests that mock the database layer to keep tests fast
88
+ - Avoid tests that take a long time to run
107
89
 
108
- Test file names should mirror the source structure under `tests/` directory and end in
109
- the name `_test.py`.
90
+ **Testing Workflow:**
91
+
92
+ - Write tests after the implementation is complete
93
+ - Tests should validate the working implementation
94
+
95
+ **Test Scope:**
96
+
97
+ - Focus primarily on happy path scenarios
98
+ - Test only public interfaces, not private methods or implementation details
99
+ - Only add edge case tests when bugs are discovered that need regression protection
100
+
101
+ **Mocking Philosophy:**
102
+
103
+ - Minimize mocking - only mock when it provides clear benefits
104
+ - Database layer mocking is acceptable for end-to-end tests
105
+ - Avoid mocking everything else
106
+ - Do not use patches in tests because they are fragile to changes. If you must use them,
107
+ ONLY use them on core python libraries.
108
+
109
+ **Test Organization:**
110
+
111
+ - Test file structure should mirror the production codebase structure
112
+ - Keep test organization consistent with the code being tested
110
113
 
111
114
  ## Coding Style
112
115
 
113
116
  - Docstrings should be very minimal. Descriptions only. No arguments or return types. No
114
117
  examples. No deprecation notices.
115
118
  - Do not store imports imports in `__init__.py` files.
116
- - Do not use patches in tests because they are fragile to changes. If you must use them,
117
- ONLY use them on core python libraries.
@@ -4,11 +4,13 @@
4
4
  build:
5
5
  uv build
6
6
 
7
- openapi: build
7
+ docs: build
8
8
  uv run src/kodit/utils/dump_openapi.py --out docs/reference/api/ kodit.app:app
9
+ uv run python src/kodit/utils/dump_config.py
9
10
 
10
- openapi-check: openapi
11
+ docs-check: docs
11
12
  git diff --exit-code docs/reference/api/index.md
13
+ git diff --exit-code docs/reference/configuration/index.md
12
14
 
13
15
  generate-api-paths: openapi
14
16
  uv run python src/kodit/utils/generate_api_paths.py
@@ -19,7 +21,7 @@ type:
19
21
  lint:
20
22
  uv run ruff check --fix --unsafe-fixes
21
23
 
22
- test: lint type openapi-check
24
+ test: lint type docs-check
23
25
  uv run pytest -s --cov=src --cov-report=xml tests/kodit
24
26
 
25
27
  no-database-changes-check:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: kodit
3
- Version: 0.5.0
3
+ Version: 0.5.1
4
4
  Summary: Code indexing for better AI code generation
5
5
  Project-URL: Homepage, https://docs.helixml.tech/kodit/
6
6
  Project-URL: Documentation, https://docs.helixml.tech/kodit/
@@ -44,21 +44,18 @@ and produce fewer hallucinations.
44
44
 
45
45
  ### Codebase Indexing
46
46
 
47
- Kodit connects to a variety of local and remote codebases to build an index of your
47
+ Kodit connects to remote codebases to build an index of your
48
48
  code. This index is used to build a snippet library, ready for ingestion into an LLM.
49
49
 
50
- - Index local directories and public Git repositories
50
+ - Index public and private Git repositories (via a PAT)
51
51
  - Build comprehensive snippet libraries for LLM ingestion
52
52
  - Support for 20+ programming languages including Python, JavaScript/TypeScript, Java, Go, Rust, C/C++, C#, HTML/CSS, and more
53
- - Advanced code analysis with dependency tracking and call graph generation
53
+ - Advanced code slicing with dependency tracking and call graph generation
54
54
  - Intelligent snippet extraction with context-aware dependencies
55
55
  - Efficient indexing with selective reindexing (only processes modified files)
56
56
  - Privacy first: respects .gitignore and .noindex files
57
- - **NEW in 0.3**: Auto-indexing configuration for shared server deployments
58
- - **NEW in 0.3**: Enhanced Git provider support including Azure DevOps
59
- - **NEW in 0.3**: Index private repositories via a PAT
60
- - **NEW in 0.3**: Improved progress monitoring and reporting during indexing
61
- - **NEW in 0.4**: Advanced code slicing infrastructure with Tree-sitter parsing
57
+ - Enhanced Git provider support including Github, Gitlab, Azure DevOps
58
+ - **New in 0.5**: Index Git structure for incremental indexing and unlock future enrichments
62
59
 
63
60
  ### MCP Server
64
61
 
@@ -68,16 +65,16 @@ intent. Kodit has been tested to work well with:
68
65
 
69
66
  - Seamless integration with popular AI coding assistants
70
67
  - Tested and verified with:
71
- - [Cursor](./getting-started/integration/index.md#integration-with-cursor)
72
- - [Cline](./getting-started/integration/index.md#integration-with-cline)
68
+ - [Cursor](./reference/mcp/index.md)
69
+ - [Cline](./reference/mcp/index.md)
70
+ - [Claude Code](./reference/mcp/index.md)
73
71
  - Please contribute more instructions! ... any other assistant is likely to work ...
74
- - **New in 0.3**: Advanced search filters by source, language, author, date range, and file path
75
- - **New in 0.3**: Hybrid search combining BM25 keyword search with semantic search
76
- - **New in 0.3**: Enhanced MCP tools with rich context parameters and metadata
72
+ - Advanced search filters by source, language, author, date range, and file path
73
+ - Hybrid search combining BM25 keyword search with semantic search
77
74
 
78
75
  ### Hosted MCP Server
79
76
 
80
- **New in 0.4**: Try Kodit instantly with our hosted MCP server at [https://kodit.helix.ml/mcp](https://kodit.helix.ml/mcp)! No installation required - just add it to your AI coding assistant and start searching popular codebases immediately.
77
+ Try Kodit instantly with our hosted MCP server at [https://kodit.helix.ml/mcp](https://kodit.helix.ml/mcp)! No installation required - just add it to your AI coding assistant and start searching popular codebases immediately.
81
78
 
82
79
  The hosted server provides:
83
80
 
@@ -103,12 +100,8 @@ Supported databases:
103
100
  Supported providers:
104
101
 
105
102
  - Local (which uses tiny CPU-only open-source models)
106
- - OpenAI
107
103
  - Secure, private LLM enclave with [Helix](https://helix.ml).
108
- - Any other OpenAI compatible API
109
-
110
- **NEW in 0.3**: Enhanced deployment options:
111
-
104
+ - Any other provider supported by [LiteLLM](https://docs.litellm.ai/docs/providers).
112
105
  - Docker Compose configurations with VectorChord
113
106
  - Kubernetes manifests for production deployments
114
107
 
@@ -4,7 +4,20 @@ description: How to install Kodit.
4
4
  weight: 1
5
5
  ---
6
6
 
7
- Kodit is a Python CLI application that can be installed locally or remotely. To install choose the path that is most appropriate for your setup. Most users start by experimenting with Kodit locally and progress to installing it remotely on a server.
7
+ Unlike many MCP tools, Kodit is designed to run as a server. You're welcome to use the
8
+ [public server](../_index.md), but if you want to index your own private repositories
9
+ then you should deploy your own server.
10
+
11
+ Kodit is a Python-based webserver that hosts a REST API and an MCP server. Although most
12
+ people install Kodit remotely in a container, you can also install it as a package.
13
+
14
+ ## Docker
15
+
16
+ ```sh
17
+ docker run -it --rm registry.helix.ml/helix/kodit:latest
18
+ ```
19
+
20
+ Always replace latest with a specific version.
8
21
 
9
22
  ## homebrew
10
23
 
@@ -24,14 +37,6 @@ uv tool install kodit
24
37
  pipx install kodit
25
38
  ```
26
39
 
27
- ## Docker
28
-
29
- ```sh
30
- docker run -it --rm registry.helix.ml/helix/kodit:latest
31
- ```
32
-
33
- Always replace latest with a specific version.
34
-
35
40
  ## pip
36
41
 
37
42
  Use this if you want to use kodit as a python library:
@@ -0,0 +1,67 @@
1
+ ---
2
+ title: Quick Start
3
+ description: The quickest way to get started with Kodit.
4
+ weight: 2
5
+ ---
6
+
7
+ This guide assumes you have already installed Kodit and have verified it is running.
8
+
9
+ ## 1. View the API Docs
10
+
11
+ Open: <http://localhost:8000/docs> (replace with your own server URL)
12
+
13
+ ## 2. Index a Repository
14
+
15
+ Replace the repository URL with the one you want to index. This is a small, toy
16
+ application that should index quickly.
17
+
18
+ ```sh
19
+ curl http://localhost:8080/api/v1/repositories \
20
+ -X POST \
21
+ -H "Content-Type: application/json" \
22
+ -d '{
23
+ "data": {
24
+ "type": "repository",
25
+ "attributes": {
26
+ "url": "https://gist.github.com/philwinder/7aa38185e20433c04c533f2b28f4e217.git"
27
+ }
28
+ }
29
+ }'
30
+ ```
31
+
32
+ ## 3. Check the Status of the Indexing Process
33
+
34
+ ```sh
35
+ curl http://localhost:8080/api/v1/repositories/1/status
36
+ ```
37
+
38
+ Wait for the indexing process to complete. If you see any errors at this stage, check
39
+ your logs and consult the [troubleshooting guide](../reference/troubleshooting/index.md).
40
+
41
+ ## 4. Search for Code
42
+
43
+ When indexing is complete, you can search through the index of the repository:
44
+
45
+ ```sh
46
+ curl http://localhost:8080/api/v1/search \
47
+ -X POST \
48
+ -H "Content-Type: application/json" \
49
+ -d '{
50
+ "data": {
51
+ "type": "search",
52
+ "attributes": {
53
+ "keywords": [
54
+ "orders"
55
+ ],
56
+ "code": "func (s *OrderService) GetAllOrders() []Order {",
57
+ "text": "code to get all orders",
58
+ }
59
+ }
60
+ }'
61
+ ```
62
+
63
+ Check the API docs for more endpoints and examples.
64
+
65
+ ## 5. Integrate with your AI coding assistant
66
+
67
+ Now [add the Kodit MCP server to your AI coding assistant](../integration/index.md).
@@ -12,7 +12,7 @@ look at the [hosted version](https://kodit.helix.ml/docs).
12
12
  This is the REST API for the Kodit server. Please refer to the
13
13
  [Kodit documentation](https://docs.helix.ml/kodit/) for more information.
14
14
 
15
- Current version: 0.5.0
15
+ Current version: 0.5.1
16
16
 
17
17
  ## Authentication
18
18
 
@@ -270,6 +270,84 @@ List all embeddings for snippets in a specific commit.
270
270
 
271
271
  - 404: Repository or commit not found
272
272
 
273
+ ### GET /api/v1/repositories/{repo_id}/commits/{commit_sha}/enrichments
274
+
275
+ List all enrichments for a specific commit.
276
+
277
+
278
+ #### Parameters
279
+
280
+ | Name | Type | Required | Description |
281
+ |------|------|----------|-------------|
282
+ | repo_id | string | True | |
283
+ | commit_sha | string | True | |
284
+
285
+
286
+ #### Responses
287
+
288
+ - 200: Successful Response
289
+
290
+ [EnrichmentListResponse](#enrichmentlistresponse)
291
+
292
+ - 500: Internal server error
293
+
294
+ - 401: Unauthorized
295
+
296
+ - 422: Invalid request
297
+
298
+ - 404: Repository or commit not found
299
+
300
+ ### DELETE /api/v1/repositories/{repo_id}/commits/{commit_sha}/enrichments
301
+
302
+ Delete all enrichments for a specific commit.
303
+
304
+
305
+ #### Parameters
306
+
307
+ | Name | Type | Required | Description |
308
+ |------|------|----------|-------------|
309
+ | repo_id | string | True | |
310
+ | commit_sha | string | True | |
311
+
312
+
313
+ #### Responses
314
+
315
+ - 204: Successful Response
316
+
317
+ - 500: Internal server error
318
+
319
+ - 401: Unauthorized
320
+
321
+ - 422: Invalid request
322
+
323
+ - 404: Commit not found
324
+
325
+ ### DELETE /api/v1/repositories/{repo_id}/commits/{commit_sha}/enrichments/{enrichment_id}
326
+
327
+ Delete a specific enrichment for a commit.
328
+
329
+
330
+ #### Parameters
331
+
332
+ | Name | Type | Required | Description |
333
+ |------|------|----------|-------------|
334
+ | repo_id | string | True | |
335
+ | commit_sha | string | True | |
336
+ | enrichment_id | integer | True | |
337
+
338
+
339
+ #### Responses
340
+
341
+ - 204: Successful Response
342
+
343
+ - 500: Internal server error
344
+
345
+ - 401: Unauthorized
346
+
347
+ - 422: Invalid request
348
+
349
+ - 404: Enrichment not found
350
+
273
351
  ### GET /api/v1/repositories
274
352
 
275
353
  List all cloned repositories.
@@ -529,6 +607,45 @@ Embedding list response following JSON-API spec.
529
607
  | data | array | |
530
608
 
531
609
 
610
+ ### EnrichmentAttributes
611
+
612
+
613
+ Enrichment attributes following JSON-API spec.
614
+
615
+
616
+ | Field | Type | Description |
617
+ |-------|------|-------------|
618
+ | type | string | |
619
+ | subtype | | |
620
+ | content | string | |
621
+ | created_at | | |
622
+ | updated_at | | |
623
+
624
+
625
+ ### EnrichmentData
626
+
627
+
628
+ Enrichment data following JSON-API spec.
629
+
630
+
631
+ | Field | Type | Description |
632
+ |-------|------|-------------|
633
+ | type | string | |
634
+ | id | string | |
635
+ | attributes | | |
636
+
637
+
638
+ ### EnrichmentListResponse
639
+
640
+
641
+ Enrichment list response following JSON-API spec.
642
+
643
+
644
+ | Field | Type | Description |
645
+ |-------|------|-------------|
646
+ | data | array | |
647
+
648
+
532
649
  ### EnrichmentSchema
533
650
 
534
651