kodit 0.1.18__tar.gz → 0.2.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of kodit might be problematic. Click here for more details.
- {kodit-0.1.18 → kodit-0.2.0}/PKG-INFO +8 -10
- {kodit-0.1.18 → kodit-0.2.0}/README.md +7 -9
- kodit-0.2.0/docs/_index.md +97 -0
- {kodit-0.1.18 → kodit-0.2.0}/docs/demos/_index.md +2 -2
- {kodit-0.1.18 → kodit-0.2.0}/docs/demos/knock-knock-auth/index.md +2 -0
- {kodit-0.1.18 → kodit-0.2.0}/docs/developer/index.md +0 -1
- kodit-0.2.0/docs/getting-started/_index.md +12 -0
- kodit-0.2.0/docs/getting-started/installation/index.md +43 -0
- kodit-0.2.0/docs/getting-started/integration/index.md +97 -0
- kodit-0.2.0/docs/getting-started/quick-start/index.md +56 -0
- kodit-0.2.0/docs/reference/_index.md +12 -0
- kodit-0.2.0/docs/reference/configuration/index.md +100 -0
- kodit-0.2.0/docs/reference/telemetry/index.md +34 -0
- {kodit-0.1.18 → kodit-0.2.0}/src/kodit/_version.py +2 -2
- kodit-0.1.18/docs/_index.md +0 -259
- {kodit-0.1.18 → kodit-0.2.0}/.cursor/rules/kodit.mdc +0 -0
- {kodit-0.1.18 → kodit-0.2.0}/.github/CODE_OF_CONDUCT.md +0 -0
- {kodit-0.1.18 → kodit-0.2.0}/.github/CONTRIBUTING.md +0 -0
- {kodit-0.1.18 → kodit-0.2.0}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
- {kodit-0.1.18 → kodit-0.2.0}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
- {kodit-0.1.18 → kodit-0.2.0}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
- {kodit-0.1.18 → kodit-0.2.0}/.github/dependabot.yml +0 -0
- {kodit-0.1.18 → kodit-0.2.0}/.github/workflows/docker.yaml +0 -0
- {kodit-0.1.18 → kodit-0.2.0}/.github/workflows/docs.yaml +0 -0
- {kodit-0.1.18 → kodit-0.2.0}/.github/workflows/pull_request.yaml +0 -0
- {kodit-0.1.18 → kodit-0.2.0}/.github/workflows/pypi-test.yaml +0 -0
- {kodit-0.1.18 → kodit-0.2.0}/.github/workflows/pypi.yaml +0 -0
- {kodit-0.1.18 → kodit-0.2.0}/.github/workflows/test.yaml +0 -0
- {kodit-0.1.18 → kodit-0.2.0}/.gitignore +0 -0
- {kodit-0.1.18 → kodit-0.2.0}/.python-version +0 -0
- {kodit-0.1.18 → kodit-0.2.0}/.vscode/launch.json +0 -0
- {kodit-0.1.18 → kodit-0.2.0}/.vscode/settings.json +0 -0
- {kodit-0.1.18 → kodit-0.2.0}/Dockerfile +0 -0
- {kodit-0.1.18 → kodit-0.2.0}/LICENSE +0 -0
- {kodit-0.1.18 → kodit-0.2.0}/alembic.ini +0 -0
- {kodit-0.1.18 → kodit-0.2.0}/pyproject.toml +0 -0
- {kodit-0.1.18 → kodit-0.2.0}/src/kodit/.gitignore +0 -0
- {kodit-0.1.18 → kodit-0.2.0}/src/kodit/__init__.py +0 -0
- {kodit-0.1.18 → kodit-0.2.0}/src/kodit/app.py +0 -0
- {kodit-0.1.18 → kodit-0.2.0}/src/kodit/bm25/__init__.py +0 -0
- {kodit-0.1.18 → kodit-0.2.0}/src/kodit/bm25/keyword_search_factory.py +0 -0
- {kodit-0.1.18 → kodit-0.2.0}/src/kodit/bm25/keyword_search_service.py +0 -0
- {kodit-0.1.18 → kodit-0.2.0}/src/kodit/bm25/local_bm25.py +0 -0
- {kodit-0.1.18 → kodit-0.2.0}/src/kodit/bm25/vectorchord_bm25.py +0 -0
- {kodit-0.1.18 → kodit-0.2.0}/src/kodit/cli.py +0 -0
- {kodit-0.1.18 → kodit-0.2.0}/src/kodit/config.py +0 -0
- {kodit-0.1.18 → kodit-0.2.0}/src/kodit/database.py +0 -0
- {kodit-0.1.18 → kodit-0.2.0}/src/kodit/embedding/__init__.py +0 -0
- {kodit-0.1.18 → kodit-0.2.0}/src/kodit/embedding/embedding_factory.py +0 -0
- {kodit-0.1.18 → kodit-0.2.0}/src/kodit/embedding/embedding_models.py +0 -0
- {kodit-0.1.18 → kodit-0.2.0}/src/kodit/embedding/embedding_provider/__init__.py +0 -0
- {kodit-0.1.18 → kodit-0.2.0}/src/kodit/embedding/embedding_provider/embedding_provider.py +0 -0
- {kodit-0.1.18 → kodit-0.2.0}/src/kodit/embedding/embedding_provider/hash_embedding_provider.py +0 -0
- {kodit-0.1.18 → kodit-0.2.0}/src/kodit/embedding/embedding_provider/local_embedding_provider.py +0 -0
- {kodit-0.1.18 → kodit-0.2.0}/src/kodit/embedding/embedding_provider/openai_embedding_provider.py +0 -0
- {kodit-0.1.18 → kodit-0.2.0}/src/kodit/embedding/embedding_repository.py +0 -0
- {kodit-0.1.18 → kodit-0.2.0}/src/kodit/embedding/local_vector_search_service.py +0 -0
- {kodit-0.1.18 → kodit-0.2.0}/src/kodit/embedding/vector_search_service.py +0 -0
- {kodit-0.1.18 → kodit-0.2.0}/src/kodit/embedding/vectorchord_vector_search_service.py +0 -0
- {kodit-0.1.18 → kodit-0.2.0}/src/kodit/enrichment/__init__.py +0 -0
- {kodit-0.1.18 → kodit-0.2.0}/src/kodit/enrichment/enrichment_factory.py +0 -0
- {kodit-0.1.18 → kodit-0.2.0}/src/kodit/enrichment/enrichment_provider/__init__.py +0 -0
- {kodit-0.1.18 → kodit-0.2.0}/src/kodit/enrichment/enrichment_provider/enrichment_provider.py +0 -0
- {kodit-0.1.18 → kodit-0.2.0}/src/kodit/enrichment/enrichment_provider/local_enrichment_provider.py +0 -0
- {kodit-0.1.18 → kodit-0.2.0}/src/kodit/enrichment/enrichment_provider/openai_enrichment_provider.py +0 -0
- {kodit-0.1.18 → kodit-0.2.0}/src/kodit/enrichment/enrichment_service.py +0 -0
- {kodit-0.1.18 → kodit-0.2.0}/src/kodit/indexing/__init__.py +0 -0
- {kodit-0.1.18 → kodit-0.2.0}/src/kodit/indexing/fusion.py +0 -0
- {kodit-0.1.18 → kodit-0.2.0}/src/kodit/indexing/indexing_models.py +0 -0
- {kodit-0.1.18 → kodit-0.2.0}/src/kodit/indexing/indexing_repository.py +0 -0
- {kodit-0.1.18 → kodit-0.2.0}/src/kodit/indexing/indexing_service.py +0 -0
- {kodit-0.1.18 → kodit-0.2.0}/src/kodit/log.py +0 -0
- {kodit-0.1.18 → kodit-0.2.0}/src/kodit/mcp.py +0 -0
- {kodit-0.1.18 → kodit-0.2.0}/src/kodit/middleware.py +0 -0
- {kodit-0.1.18 → kodit-0.2.0}/src/kodit/migrations/README +0 -0
- {kodit-0.1.18 → kodit-0.2.0}/src/kodit/migrations/__init__.py +0 -0
- {kodit-0.1.18 → kodit-0.2.0}/src/kodit/migrations/env.py +0 -0
- {kodit-0.1.18 → kodit-0.2.0}/src/kodit/migrations/script.py.mako +0 -0
- {kodit-0.1.18 → kodit-0.2.0}/src/kodit/migrations/versions/7c3bbc2ab32b_add_embeddings_table.py +0 -0
- {kodit-0.1.18 → kodit-0.2.0}/src/kodit/migrations/versions/85155663351e_initial.py +0 -0
- {kodit-0.1.18 → kodit-0.2.0}/src/kodit/migrations/versions/__init__.py +0 -0
- {kodit-0.1.18 → kodit-0.2.0}/src/kodit/migrations/versions/c3f5137d30f5_index_all_the_things.py +0 -0
- {kodit-0.1.18 → kodit-0.2.0}/src/kodit/snippets/__init__.py +0 -0
- {kodit-0.1.18 → kodit-0.2.0}/src/kodit/snippets/languages/__init__.py +0 -0
- {kodit-0.1.18 → kodit-0.2.0}/src/kodit/snippets/languages/csharp.scm +0 -0
- {kodit-0.1.18 → kodit-0.2.0}/src/kodit/snippets/languages/go.scm +0 -0
- {kodit-0.1.18 → kodit-0.2.0}/src/kodit/snippets/languages/javascript.scm +0 -0
- {kodit-0.1.18 → kodit-0.2.0}/src/kodit/snippets/languages/python.scm +0 -0
- {kodit-0.1.18 → kodit-0.2.0}/src/kodit/snippets/languages/typescript.scm +0 -0
- {kodit-0.1.18 → kodit-0.2.0}/src/kodit/snippets/method_snippets.py +0 -0
- {kodit-0.1.18 → kodit-0.2.0}/src/kodit/snippets/snippets.py +0 -0
- {kodit-0.1.18 → kodit-0.2.0}/src/kodit/source/__init__.py +0 -0
- {kodit-0.1.18 → kodit-0.2.0}/src/kodit/source/source_models.py +0 -0
- {kodit-0.1.18 → kodit-0.2.0}/src/kodit/source/source_repository.py +0 -0
- {kodit-0.1.18 → kodit-0.2.0}/src/kodit/source/source_service.py +0 -0
- {kodit-0.1.18 → kodit-0.2.0}/src/kodit/util/__init__.py +0 -0
- {kodit-0.1.18 → kodit-0.2.0}/src/kodit/util/spinner.py +0 -0
- {kodit-0.1.18 → kodit-0.2.0}/tests/__init__.py +0 -0
- {kodit-0.1.18 → kodit-0.2.0}/tests/conftest.py +0 -0
- {kodit-0.1.18 → kodit-0.2.0}/tests/experiments/cline-prompt-regression-tests/cline_prompt.txt +0 -0
- {kodit-0.1.18 → kodit-0.2.0}/tests/experiments/cline-prompt-regression-tests/cline_prompt_test.py +0 -0
- {kodit-0.1.18 → kodit-0.2.0}/tests/experiments/embedding.py +0 -0
- {kodit-0.1.18 → kodit-0.2.0}/tests/experiments/similarity_test.py +0 -0
- {kodit-0.1.18 → kodit-0.2.0}/tests/kodit/__init__.py +0 -0
- {kodit-0.1.18 → kodit-0.2.0}/tests/kodit/bm25/local_bm25_test.py +0 -0
- {kodit-0.1.18 → kodit-0.2.0}/tests/kodit/bm25/vectorchord_repository_test.py +0 -0
- {kodit-0.1.18 → kodit-0.2.0}/tests/kodit/cli_test.py +0 -0
- {kodit-0.1.18 → kodit-0.2.0}/tests/kodit/e2e.py +0 -0
- {kodit-0.1.18 → kodit-0.2.0}/tests/kodit/embedding/__init__.py +0 -0
- {kodit-0.1.18 → kodit-0.2.0}/tests/kodit/embedding/embedding_provider/local_embedding_provider_test.py +0 -0
- {kodit-0.1.18 → kodit-0.2.0}/tests/kodit/embedding/embedding_provider/openai_embedding_provider_test.py +0 -0
- {kodit-0.1.18 → kodit-0.2.0}/tests/kodit/embedding/local_vector_search_service_test.py +0 -0
- {kodit-0.1.18 → kodit-0.2.0}/tests/kodit/embedding/vectorchord_vector_search_service_test.py +0 -0
- {kodit-0.1.18 → kodit-0.2.0}/tests/kodit/enrichment/__init__.py +0 -0
- {kodit-0.1.18 → kodit-0.2.0}/tests/kodit/enrichment/enrichment_provider/__init__.py +0 -0
- {kodit-0.1.18 → kodit-0.2.0}/tests/kodit/enrichment/enrichment_provider/openai_enrichment_provider_test.py +0 -0
- {kodit-0.1.18 → kodit-0.2.0}/tests/kodit/indexing/__init__.py +0 -0
- {kodit-0.1.18 → kodit-0.2.0}/tests/kodit/indexing/indexing_repository_test.py +0 -0
- {kodit-0.1.18 → kodit-0.2.0}/tests/kodit/indexing/indexing_service_test.py +0 -0
- {kodit-0.1.18 → kodit-0.2.0}/tests/kodit/mcp_test.py +0 -0
- {kodit-0.1.18 → kodit-0.2.0}/tests/kodit/snippets/__init__.py +0 -0
- {kodit-0.1.18 → kodit-0.2.0}/tests/kodit/snippets/csharp.cs +0 -0
- {kodit-0.1.18 → kodit-0.2.0}/tests/kodit/snippets/detect_language_test.py +0 -0
- {kodit-0.1.18 → kodit-0.2.0}/tests/kodit/snippets/golang.go +0 -0
- {kodit-0.1.18 → kodit-0.2.0}/tests/kodit/snippets/javascript.js +0 -0
- {kodit-0.1.18 → kodit-0.2.0}/tests/kodit/snippets/knock-knock-server.py +0 -0
- {kodit-0.1.18 → kodit-0.2.0}/tests/kodit/snippets/method_extraction_test.py +0 -0
- {kodit-0.1.18 → kodit-0.2.0}/tests/kodit/snippets/python.py +0 -0
- {kodit-0.1.18 → kodit-0.2.0}/tests/kodit/snippets/typescript.tsx +0 -0
- {kodit-0.1.18 → kodit-0.2.0}/tests/kodit/source/__init__.py +0 -0
- {kodit-0.1.18 → kodit-0.2.0}/tests/kodit/source/source_service_test.py +0 -0
- {kodit-0.1.18 → kodit-0.2.0}/tests/performance/similarity.py +0 -0
- {kodit-0.1.18 → kodit-0.2.0}/tests/smoke.sh +0 -0
- {kodit-0.1.18 → kodit-0.2.0}/uv.lock +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: kodit
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.2.0
|
|
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/
|
|
@@ -101,8 +101,8 @@ intent. Kodit has been tested to work well with:
|
|
|
101
101
|
|
|
102
102
|
- Seamless integration with popular AI coding assistants
|
|
103
103
|
- Tested and verified with:
|
|
104
|
-
- [Cursor](https://docs.helix.ml/kodit/#integration-with-cursor)
|
|
105
|
-
- [Cline](https://docs.helix.ml/kodit/#integration-with-cline)
|
|
104
|
+
- [Cursor](https://docs.helix.ml/kodit/getting-started/integration/#integration-with-cursor)
|
|
105
|
+
- [Cline](https://docs.helix.ml/kodit/getting-started/integration/#integration-with-cline)
|
|
106
106
|
- Please contribute more instructions! ... any other assistant is likely to work ...
|
|
107
107
|
|
|
108
108
|
### Enterprise Ready
|
|
@@ -126,16 +126,14 @@ Supported providers:
|
|
|
126
126
|
|
|
127
127
|
## 🚀 Quick Start
|
|
128
128
|
|
|
129
|
-
1. [Install Kodit](https://docs.helix.ml/kodit
|
|
130
|
-
2. [Index codebases](https://docs.helix.ml/kodit
|
|
131
|
-
3. [Integrate with your coding assistant](https://docs.helix.ml/kodit
|
|
129
|
+
1. [Install Kodit](https://docs.helix.ml/kodit/getting-started/installation/)
|
|
130
|
+
2. [Index codebases](https://docs.helix.ml/kodit/getting-started/quick-start/)
|
|
131
|
+
3. [Integrate with your coding assistant](https://docs.helix.ml/kodit/getting-started/integration/)
|
|
132
132
|
|
|
133
133
|
### Documentation
|
|
134
134
|
|
|
135
|
-
- [
|
|
136
|
-
- [
|
|
137
|
-
- [Connecting to Kodit](https://docs.helix.ml/kodit/#integrating-kodit-with-coding-assistants)
|
|
138
|
-
- [Configuration Options](https://docs.helix.ml/kodit/#configuring-kodit)
|
|
135
|
+
- [Getting Started Guide](https://docs.helix.ml/kodit/getting-started/)
|
|
136
|
+
- [Reference Guide](https://docs.helix.ml/kodit/reference/)
|
|
139
137
|
- [Contribution Guidelines](.github/CONTRIBUTING.md)
|
|
140
138
|
|
|
141
139
|
## Roadmap
|
|
@@ -50,8 +50,8 @@ intent. Kodit has been tested to work well with:
|
|
|
50
50
|
|
|
51
51
|
- Seamless integration with popular AI coding assistants
|
|
52
52
|
- Tested and verified with:
|
|
53
|
-
- [Cursor](https://docs.helix.ml/kodit/#integration-with-cursor)
|
|
54
|
-
- [Cline](https://docs.helix.ml/kodit/#integration-with-cline)
|
|
53
|
+
- [Cursor](https://docs.helix.ml/kodit/getting-started/integration/#integration-with-cursor)
|
|
54
|
+
- [Cline](https://docs.helix.ml/kodit/getting-started/integration/#integration-with-cline)
|
|
55
55
|
- Please contribute more instructions! ... any other assistant is likely to work ...
|
|
56
56
|
|
|
57
57
|
### Enterprise Ready
|
|
@@ -75,16 +75,14 @@ Supported providers:
|
|
|
75
75
|
|
|
76
76
|
## 🚀 Quick Start
|
|
77
77
|
|
|
78
|
-
1. [Install Kodit](https://docs.helix.ml/kodit
|
|
79
|
-
2. [Index codebases](https://docs.helix.ml/kodit
|
|
80
|
-
3. [Integrate with your coding assistant](https://docs.helix.ml/kodit
|
|
78
|
+
1. [Install Kodit](https://docs.helix.ml/kodit/getting-started/installation/)
|
|
79
|
+
2. [Index codebases](https://docs.helix.ml/kodit/getting-started/quick-start/)
|
|
80
|
+
3. [Integrate with your coding assistant](https://docs.helix.ml/kodit/getting-started/integration/)
|
|
81
81
|
|
|
82
82
|
### Documentation
|
|
83
83
|
|
|
84
|
-
- [
|
|
85
|
-
- [
|
|
86
|
-
- [Connecting to Kodit](https://docs.helix.ml/kodit/#integrating-kodit-with-coding-assistants)
|
|
87
|
-
- [Configuration Options](https://docs.helix.ml/kodit/#configuring-kodit)
|
|
84
|
+
- [Getting Started Guide](https://docs.helix.ml/kodit/getting-started/)
|
|
85
|
+
- [Reference Guide](https://docs.helix.ml/kodit/reference/)
|
|
88
86
|
- [Contribution Guidelines](.github/CONTRIBUTING.md)
|
|
89
87
|
|
|
90
88
|
## Roadmap
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: "Kodit: Code Indexing MCP Server"
|
|
3
|
+
linkTitle: Kodit Docs
|
|
4
|
+
cascade:
|
|
5
|
+
type: docs
|
|
6
|
+
menu:
|
|
7
|
+
main:
|
|
8
|
+
name: Kodit Docs
|
|
9
|
+
weight: 3
|
|
10
|
+
next: /kodit/getting-started
|
|
11
|
+
weight: 1
|
|
12
|
+
aliases:
|
|
13
|
+
- /coda
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
<p align="center">
|
|
17
|
+
<a href="https://docs.helix.ml/kodit/"><img src="https://docs.helix.ml/images/helix-kodit-logo.png" alt="Helix Kodit Logo" width="300"></a>
|
|
18
|
+
</p>
|
|
19
|
+
|
|
20
|
+
<p align="center">
|
|
21
|
+
Kodit connects your AI coding assistant to external codebases to provide accurate and up-to-date snippets of code.
|
|
22
|
+
</p>
|
|
23
|
+
|
|
24
|
+
<div class="flex justify-center items-center gap-4">
|
|
25
|
+
|
|
26
|
+
[](https://github.com/helixml/kodit/blob/main/LICENSE)
|
|
27
|
+
[](https://github.com/helixml/kodit/discussions)
|
|
28
|
+
|
|
29
|
+
</div>
|
|
30
|
+
|
|
31
|
+
**Helix Kodit** is an **MCP server** that connects your AI coding assistant to external codebases. It can:
|
|
32
|
+
|
|
33
|
+
- Improve your AI-assisted code by providing canonical examples direct from the source
|
|
34
|
+
- Index local and public codebases
|
|
35
|
+
- Integrates with any AI coding assistant via MCP
|
|
36
|
+
- Search using keyword and semantic search
|
|
37
|
+
- Integrate with any OpenAI-compatible or custom API/model
|
|
38
|
+
|
|
39
|
+
If you're an engineer working with AI-powered coding assistants, Kodit helps by
|
|
40
|
+
providing relevant and up-to-date examples of your task so that LLMs make less mistakes
|
|
41
|
+
and produce fewer hallucinations.
|
|
42
|
+
|
|
43
|
+
## ✨ Features
|
|
44
|
+
|
|
45
|
+
### Codebase Indexing
|
|
46
|
+
|
|
47
|
+
Kodit connects to a variety of local and remote codebases to build an index of your
|
|
48
|
+
code. This index is used to build a snippet library, ready for ingestion into an LLM.
|
|
49
|
+
|
|
50
|
+
- Index local directories and public Git repositories
|
|
51
|
+
- Build comprehensive snippet libraries for LLM ingestion
|
|
52
|
+
- Support for multiple codebase types and languages
|
|
53
|
+
- Efficient indexing and search capabilities
|
|
54
|
+
|
|
55
|
+
### MCP Server
|
|
56
|
+
|
|
57
|
+
Relevant snippets are exposed to an AI coding assistant via an MCP server. This allows
|
|
58
|
+
the assistant to request relevant snippets by providing keywords, code, and semantic
|
|
59
|
+
intent. Kodit has been tested to work well with:
|
|
60
|
+
|
|
61
|
+
- Seamless integration with popular AI coding assistants
|
|
62
|
+
- Tested and verified with:
|
|
63
|
+
- [Cursor](./getting-started/integration/index.md#integration-with-cursor)
|
|
64
|
+
- [Cline](./getting-started/integration/index.md#integration-with-cline)
|
|
65
|
+
- Please contribute more instructions! ... any other assistant is likely to work ...
|
|
66
|
+
|
|
67
|
+
### Enterprise Ready
|
|
68
|
+
|
|
69
|
+
Out of the box, Kodit works with a local SQLite database and very small, local models.
|
|
70
|
+
But enterprises can scale out with performant databases and dedicated models. Everything
|
|
71
|
+
can even run securely, privately, with on-premise LLM platforms like
|
|
72
|
+
[Helix](https://helix.ml).
|
|
73
|
+
|
|
74
|
+
Supported databases:
|
|
75
|
+
|
|
76
|
+
- SQLite
|
|
77
|
+
- [Vectorchord](https://github.com/tensorchord/VectorChord)
|
|
78
|
+
|
|
79
|
+
Supported providers:
|
|
80
|
+
|
|
81
|
+
- Local (which uses tiny CPU-only open-source models)
|
|
82
|
+
- OpenAI
|
|
83
|
+
- Secure, private LLM enclave with [Helix](https://helix.ml).
|
|
84
|
+
- Any other OpenAI compatible API
|
|
85
|
+
|
|
86
|
+
## Roadmap
|
|
87
|
+
|
|
88
|
+
The roadmap is currently maintained as a [Github Project](https://github.com/orgs/helixml/projects/4).
|
|
89
|
+
|
|
90
|
+
## 💬 Support
|
|
91
|
+
|
|
92
|
+
For commercial support, please contact [Helix.ML](founders@helix.ml). To ask a question,
|
|
93
|
+
please [open a discussion](https://github.com/helixml/kodit/discussions).
|
|
94
|
+
|
|
95
|
+
## License
|
|
96
|
+
|
|
97
|
+
[Apache 2.0 © 2025 HelixML, Inc.](https://github.com/helixml/kodit/blob/main/LICENSE)
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
---
|
|
2
2
|
title: Kodit Demos
|
|
3
3
|
linkTitle: Demos
|
|
4
|
-
weight:
|
|
4
|
+
weight: 3
|
|
5
5
|
tags:
|
|
6
6
|
- demo
|
|
7
7
|
---
|
|
8
8
|
|
|
9
|
-
The following sections provide
|
|
9
|
+
The following sections provide examples and demos using Kodit.
|
|
10
10
|
|
|
11
11
|
<!--more-->
|
|
12
12
|
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: "Getting Started"
|
|
3
|
+
description: Getting started guide for Kodit.
|
|
4
|
+
weight: 1
|
|
5
|
+
next: /kodit/getting-started/installation
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
The following sections show you how to get started with Kodit:
|
|
9
|
+
|
|
10
|
+
<!--more-->
|
|
11
|
+
|
|
12
|
+
{{< default-section-cards-list >}}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Installing Kodit
|
|
3
|
+
description: How to install Kodit.
|
|
4
|
+
weight: 1
|
|
5
|
+
---
|
|
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.
|
|
8
|
+
|
|
9
|
+
## homebrew
|
|
10
|
+
|
|
11
|
+
```sh
|
|
12
|
+
brew install helixml/kodit/kodit
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
## uv
|
|
16
|
+
|
|
17
|
+
```sh
|
|
18
|
+
uv tool install kodit
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
## pipx
|
|
22
|
+
|
|
23
|
+
```sh
|
|
24
|
+
pipx install kodit
|
|
25
|
+
```
|
|
26
|
+
|
|
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
|
+
## pip
|
|
36
|
+
|
|
37
|
+
Use this if you want to use kodit as a python library:
|
|
38
|
+
|
|
39
|
+
```sh
|
|
40
|
+
pip install kodit
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
(Requires Python 3.12+)
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Integration With Coding Assistants
|
|
3
|
+
description: How to integrate Kodit with AI coding assistants.
|
|
4
|
+
weight: 3
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
The core goal of Kodit is to make your AI coding experience more accurate by providing better context. That means you need to integrate Kodit with your favourite assistant.
|
|
8
|
+
|
|
9
|
+
## Integration with Coding Assistants
|
|
10
|
+
|
|
11
|
+
Integration with most assistants follows a similar pattern, but each has its own configuration flow.
|
|
12
|
+
|
|
13
|
+
### Integration With Cursor
|
|
14
|
+
|
|
15
|
+
Add the following to `$HOME/.cursor/mcp.json`:
|
|
16
|
+
|
|
17
|
+
```json
|
|
18
|
+
{
|
|
19
|
+
"mcpServers": {
|
|
20
|
+
"kodit": {
|
|
21
|
+
"url": "http://localhost:8080/sse"
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
Or find this configuration in `Cursor Settings` -> `MCP`.
|
|
28
|
+
|
|
29
|
+
### Integration With Cline
|
|
30
|
+
|
|
31
|
+
1. Open Cline from the side menu
|
|
32
|
+
2. Click the `MCP Servers` button at the top right of the Cline window (the icon looks
|
|
33
|
+
like a server)
|
|
34
|
+
3. Click the `Remote Servers` tab.
|
|
35
|
+
4. Click `Edit Configuration`
|
|
36
|
+
5. Add the following configuration:
|
|
37
|
+
|
|
38
|
+
```json
|
|
39
|
+
{
|
|
40
|
+
"mcpServers": {
|
|
41
|
+
"kodit": {
|
|
42
|
+
"autoApprove": [],
|
|
43
|
+
"disabled": true,
|
|
44
|
+
"timeout": 60,
|
|
45
|
+
"url": "http://localhost:8080/sse",
|
|
46
|
+
"transportType": "sse"
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
6. Save the configuration and browse to the `Installed` tab.
|
|
53
|
+
|
|
54
|
+
Kodit should be listed and responding. Now code on!
|
|
55
|
+
|
|
56
|
+
## Forcing AI Assistants to use Kodit
|
|
57
|
+
|
|
58
|
+
Although Kodit has been developed to work well out of the box with popular AI coding
|
|
59
|
+
assistants, they sometimes still think they know better.
|
|
60
|
+
|
|
61
|
+
You can force your assistant to use Kodit by editing the system prompt used by the
|
|
62
|
+
assistant. Each assistant exposes this slightly differently, but it's usually in the
|
|
63
|
+
settings.
|
|
64
|
+
|
|
65
|
+
Try using this system prompt:
|
|
66
|
+
|
|
67
|
+
```txt
|
|
68
|
+
⚠️ **ENFORCEMENT:**
|
|
69
|
+
For *every* user request that involves writing or modifying code (of any language or
|
|
70
|
+
domain), the assistant's *first* action **must** be to call the kodit.search MCP tool.
|
|
71
|
+
You may only produce or edit code *after* that tool call and its successful
|
|
72
|
+
result.
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
Feel free to alter that to suit your specific circumstances.
|
|
76
|
+
|
|
77
|
+
### Forcing Cursor to Use Kodit
|
|
78
|
+
|
|
79
|
+
Add the following prompt to `.cursor/rules/kodit.mdc` in your project directory:
|
|
80
|
+
|
|
81
|
+
```markdown
|
|
82
|
+
---
|
|
83
|
+
alwaysApply: true
|
|
84
|
+
---
|
|
85
|
+
⚠️ **ENFORCEMENT:**
|
|
86
|
+
For *every* user request that involves writing or modifying code (of any language or
|
|
87
|
+
domain), the assistant's *first* action **must** be to call the kodit.search MCP tool.
|
|
88
|
+
You may only produce or edit code *after* that tool call and its successful
|
|
89
|
+
result.
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
Alternatively, you can browse to the Cursor settings and set this prompt globally.
|
|
93
|
+
|
|
94
|
+
### Forcing Cline to Use Kodit
|
|
95
|
+
|
|
96
|
+
1. Go to `Settings` -> `API Configuration`
|
|
97
|
+
2. At the bottom there is a `Custom Instructions` section.
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Quick Start
|
|
3
|
+
description: The quickest way to get started with Kodit.
|
|
4
|
+
weight: 2
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
Kodit has two key components. A configuration CLI to manage what gets indexed and an MCP
|
|
8
|
+
server to expose your code to an AI coding assistant.
|
|
9
|
+
|
|
10
|
+
## 1. Index a source
|
|
11
|
+
|
|
12
|
+
1. Index a local path
|
|
13
|
+
|
|
14
|
+
```sh
|
|
15
|
+
kodit index /path/to/your/code
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
2. or index a public git repository
|
|
19
|
+
|
|
20
|
+
```sh
|
|
21
|
+
kodit index https://github.com/pydantic/pydantic-ai
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
## 2. Manually search your index
|
|
25
|
+
|
|
26
|
+
1. Search with a semantic description of the code:
|
|
27
|
+
|
|
28
|
+
```sh
|
|
29
|
+
kodit search text "an example function"
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
2. or with a keyword
|
|
33
|
+
|
|
34
|
+
```sh
|
|
35
|
+
kodit search keyword "test"
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
3. or with code
|
|
39
|
+
|
|
40
|
+
```sh
|
|
41
|
+
kodit search code "def main()"
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
4. or via hybrid search
|
|
45
|
+
|
|
46
|
+
```sh
|
|
47
|
+
kodit search code hybrid --keywords "main" --code "def main()" --text "example main function"
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
## 3. Start an MCP server
|
|
51
|
+
|
|
52
|
+
```sh
|
|
53
|
+
kodit serve
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
Now [add the Kodit MCP server to your AI coding assistant](../integration/index.md).
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Configuration
|
|
3
|
+
description: How to configure Kodit.
|
|
4
|
+
weight: 1
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
Configuration of Kodit is performed by setting environmental variables or adding
|
|
8
|
+
variables to a .env file.
|
|
9
|
+
|
|
10
|
+
{{< warn >}}
|
|
11
|
+
Note that updating a setting does not automatically update the data that uses that
|
|
12
|
+
setting. For example, if you change a provider, you will need to delete and
|
|
13
|
+
recreate all indexes.
|
|
14
|
+
{{< /warn >}}
|
|
15
|
+
|
|
16
|
+
## Configuring Indexing
|
|
17
|
+
|
|
18
|
+
### Default Indexing Provider
|
|
19
|
+
|
|
20
|
+
By default, Kodit will use small local models for semantic search and enrichment. If you
|
|
21
|
+
are using Kodit in a professional capacity, it is likely that the local model latency is
|
|
22
|
+
too high to provide a good developer experience.
|
|
23
|
+
|
|
24
|
+
Instead, you should use an external provider. The settings provided here will cause all
|
|
25
|
+
embedding and enrichments request to be sent to this provider by default. You can
|
|
26
|
+
override the provider used for each task if you wish. (Coming soon!)
|
|
27
|
+
|
|
28
|
+
#### OpenAI
|
|
29
|
+
|
|
30
|
+
Add the following settings to your .env file, or export them as environmental variables:
|
|
31
|
+
|
|
32
|
+
```bash
|
|
33
|
+
DEFAULT_ENDPOINT_BASE_URL=https://api.openai.com/v1
|
|
34
|
+
DEFAULT_ENDPOINT_API_KEY=sk-xxxxxx
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
## Configuring the Database
|
|
38
|
+
|
|
39
|
+
Out of the box Kodit uses a local sqlite file to make it easier for users to get
|
|
40
|
+
started. But for production use, it's likely you will want to use a database that has
|
|
41
|
+
dedicated semantic and keyword search capabilities for reduced latency.
|
|
42
|
+
|
|
43
|
+
### VectorChord Database
|
|
44
|
+
|
|
45
|
+
[VectorChord](https://github.com/tensorchord/VectorChord) is an optimized PostgreSQL
|
|
46
|
+
extension that provides both vector and BM25 search. (See [Search](#search))
|
|
47
|
+
|
|
48
|
+
Start a container with:
|
|
49
|
+
|
|
50
|
+
```sh
|
|
51
|
+
docker run \
|
|
52
|
+
--name kodit-vectorchord \
|
|
53
|
+
-e POSTGRES_DB=kodit \
|
|
54
|
+
-e POSTGRES_PASSWORD=mysecretpassword \
|
|
55
|
+
-p 5432:5432 \
|
|
56
|
+
-d tensorchord/vchord-suite:pg17-20250601
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
{{< warn >}}
|
|
60
|
+
Kodit assumes the database exists. In the above example I'm abusing the POSTGRES_DB
|
|
61
|
+
environmental variable from the [Postgres Docker
|
|
62
|
+
container](https://hub.docker.com/_/postgres/) to create the database for me. In
|
|
63
|
+
production setups, please create a database yourself.
|
|
64
|
+
{{< /warn >}}
|
|
65
|
+
|
|
66
|
+
Then update your `.env` file to include:
|
|
67
|
+
|
|
68
|
+
```env
|
|
69
|
+
DB_URL=postgresql+asyncpg://postgres:mysecretpassword@localhost:5432/kodit
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
## Configuring Search
|
|
73
|
+
|
|
74
|
+
### Default Search Provider
|
|
75
|
+
|
|
76
|
+
By default, Kodit will use built-in implementations of BM25 and similarity search to
|
|
77
|
+
improve the out of the box experience. If you are using Kodit in a professional
|
|
78
|
+
capacity, it is likely that the search latency is too high to provide a good developer
|
|
79
|
+
experience.
|
|
80
|
+
|
|
81
|
+
Instead, you should use the features included in your database. The settings provided
|
|
82
|
+
here will cause all search functionality to use this database by default. You can
|
|
83
|
+
override the database used for each search type if you wish. (Coming soon!)
|
|
84
|
+
|
|
85
|
+
#### VectorChord Search
|
|
86
|
+
|
|
87
|
+
Configure Kodit to use a [VectorChord database](#vectorchord-database).
|
|
88
|
+
|
|
89
|
+
Then update your `.env` file to include:
|
|
90
|
+
|
|
91
|
+
```env
|
|
92
|
+
DB_URL=postgresql+asyncpg://postgres:mysecretpassword@localhost:5432/kodit
|
|
93
|
+
DEFAULT_SEARCH_PROVIDER=vectorchord
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
## Configuring Enrichment
|
|
97
|
+
|
|
98
|
+
### Default Enrichment Provider
|
|
99
|
+
|
|
100
|
+
The default enrichment provider is the same as [the default indexing provider](#default-indexing-provider).
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Telemetry
|
|
3
|
+
description: Learn about what data is collected and how to disable it.
|
|
4
|
+
weight: 99
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
Kodit includes a very limited amount initial telemetry to help guide product
|
|
8
|
+
development. At the moment Kodit uses [PostHog](https://posthog.com/) to capture anonymous
|
|
9
|
+
usage metrics, although it will soon be migrated to
|
|
10
|
+
[RudderStack](https://www.rudderstack.com/) for improved flexibility.
|
|
11
|
+
|
|
12
|
+
## What Kodit Captures
|
|
13
|
+
|
|
14
|
+
> _this list will expand over time as we improve coverage_
|
|
15
|
+
|
|
16
|
+
You can see what metrics are sent by searching for [use of the helper
|
|
17
|
+
function](https://github.com/helixml/kodit/blob/main/src/kodit/log.py#L160) in the Kodit
|
|
18
|
+
codebase.
|
|
19
|
+
|
|
20
|
+
Kodit currently captures:
|
|
21
|
+
|
|
22
|
+
- [Starting of the kodit MCP
|
|
23
|
+
server](https://github.com/helixml/kodit/blob/main/src/kodit/cli.py#L324)
|
|
24
|
+
|
|
25
|
+
... and that's it!
|
|
26
|
+
|
|
27
|
+
## Disabling Telemetry
|
|
28
|
+
|
|
29
|
+
We hope that you will help us improve Kodit by leaving telemetry turned on, but if you'd
|
|
30
|
+
like to turn it off, add the following environmental variable (or add it to your .env file):
|
|
31
|
+
|
|
32
|
+
```sh
|
|
33
|
+
DISABLE_TELEMETRY=true
|
|
34
|
+
```
|