# Introduction

Kodesage Overview

Welcome to Kodesage, the ultimate AI-powered code understanding tool designed specifically for enterprise legacy software ecosystems. Kodesage aims to revolutionize the way developers interact with complex legacy systems by integrating with multiple data sources including code repositories, issue trackers, wikis, and documentation. This comprehensive, context-aware knowledge base continuously updates, providing accurate and detailed system understanding, crucial for legacy systems.&#x20;

Kodesage supports developer workflows beyond coding, such as documentation, ticket creation, ticket analysis, task decomposition, estimation, and onboarding. By automating code documentation, enhancing code comprehension, and integrating with issue ticketing systems, Kodesage ensures robust security, high throughput, and low latency. It can be deployed both on-premises and to cloud environments, making it an ideal solution for enterprises with strict regulations or policies against sharing data with external cloud-based services.&#x20;

Kodesage supports developer workflows beyond coding, such as:

* onboarding
* documentation
* ticket creation
* ticket analysis
* troubleshooting

By automating these processes, Kodesage streamlines development tasks and enhances overall productivity.


# The Kodesage engine

Platform overview

The Kodesage platform is architecturally designed for on-premises deployment, encapsulating its core functionality within Docker containerized environments for enhanced modularity and isolation. The system's logical structure is centered around a virtual machine hosting the Kodesage services, with external integration points to source code repositories, ticketing systems, and documentation.

<figure><img src="/files/pD5hAruux6d5VqnBSBdV" alt=""><figcaption></figcaption></figure>

Key elements of the solution include an ingestion service to process and analyze the source code, creating a searchable vector database and a comprehensive knowledge graph.&#x20;

This system architecture enables essential services such as semantic code search ("Ask Kodesage"), automated document generation, and issue ticketing integration, powered by a dedicated Large Language Model (LLM). The LLM instances are hosted separately, emphasizing the system's distributed nature, which enhances both the scalability and reliability of the service.

This design facilitates seamless integration, while the on-prem LLM is used to maintain high throughput and low latency. The clear separation of services ensures a maintainable and scalable system.


# Asking Questions in Kodesage

Ask Kodesage is your virtual senior developer designed to assist you with your daily work. You can ask as many questions as you need, anytime.

Whether you want to understand your application’s code, explore the reasoning behind specific architectural decisions, investigate similar bugs linked to a ticket, or dive deeper into any technical topic, Ask Kodesage is here to help.

Here are a few examples of questions you can ask to get started. Simply replace any \<placeholder> text with your actual files, functions, components, or other relevant details.

&#x20;

#### **Ramp-up to a new project**

* What is this project about?
* What are the main technologies in the project?
* How to setup the local development environment?
* What is the purpose of the *\<OrderManagement>* component?
* What are the dependencies of the *\<OrderManagement>* component?

&#x20;

#### **Explore Application Functionality**

* **Explain** the *\<Create Order>* functionality!
* **Summarize** the role of the *\<OrderManagement>* component in the system!
* **How can the user create** a *\<new order>*?
* **What happens in the backend, when I click** the *<"Order">* button?
* What are the **validation criteria** of a *\<voucher>*?

&#x20;

#### **Create Diagrams**

You can ask **Kodesage** to generate different types of diagrams that help visualize complex relationships, workflows, and error flows. These visualizations make it easier to understand, communicate, and analyze your application’s structure or issues.

Here are some examples of diagrams you can request. You can also ask for any other **Mermaid-supported** diagram types.

* Create a **sequence diagram** about the *\<Create Order>* functionality!
* I need a **entity-relationship** diagram about the system.
* Show me a **state diagram** about different *\<order>* states.
* Create a **context diagram** about the system.
* Draw a **class diagram** about the *<@OrderManagement.java>* class and its dependencies.

&#x20;

#### **Ask for Development Assistance**

* **Extend** the *\<Order entity>* **with a new attribute** *<"voucherId">* and adapt the change throughout the system.
* What are the **code conventions** used in the sources?
* What kind of **design patterns** we use in the source code?
* **Help me implement** *<@TEST-1230>* Jira issue.
* My task is to **create a new entity** called *<"Voucher">*. Help me extend the code.

&#x20;

#### **Testing Support**

* **Create unit tests** for *<@OrderManagement.java>*, cover all edge cases.
* **List UAT test cases** fot the *\<Create Order>* functionality.
* **How can I test the** *\<Empty cart>* functionality on the UI?
* Create a **playwright test** for the *\<TC\_UC\_022 - Delete Order>* test case.
* **What are the edge cases** for the *\<Delete Order>* functionality?

&#x20;

#### **Bug analysis and troubleshooting**&#x20;

* I received the following **error message** during order creation, what can be the problem? *\<Invalid orderId: 14343544>*
* **Analyse the following error log**: \<log>
* **Analyse** the bug *<@TEST-3245>* and suggest a solution for it.
* Where is the "Invalid orderId" **error message** implemented?
* “When I select an item with price higher than $100, the item is placed twice in the cart”. What can be the problem?


# Ask Kodesage

Feature overview

The Ask Kodesage feature allows developers to query the digital resource base of the legacy system using natural language questions, such as "How is the user's name stored?" or "Where is the login function defined?" Kodesage then processes the query, analyzes the codebase, and returns the most relevant code snippets, making it easier for developers to find information and understand complex legacy systems.

**Getting started with Ask Kodesage**

Ask Kodesage supports resource type limitation, query type selection, and additional settings to customize the interaction with the system.

**Context editor:** You can set the resource types on which the query  should be performed. This allows you to filter the search scope to specific types such as source code, documentation, knowledge hubs or issues.

<figure><img src="/files/M1yVGyVQQBOY2eueK8YP" alt=""><figcaption><p>Resource type selection</p></figcaption></figure>

**Additional Settings:** The user can modify various aspects of the Ask kodesage functionality, such as manipulating the context and priorities. This includes options like file tagging, force context, and advanced settings.&#x20;

**Generating diagrams**

You can use the Ask Kodesage feature to draw visual diagrams about projects, or specific environments within a systems (e.g. front end, back end, etc).&#x20;

<figure><img src="/files/ypk3j81Gozvj29anxaqi" alt=""><figcaption><p>Generate diagrams with Ask Kodesage</p></figcaption></figure>

**Prompt template library**

Kodesage will provide a set of custom prompt templates out of the box. Prompt templates ensure better answer quality, and can be customized to the needs of your teams.&#x20;

You will be able to review and customize template in Settings -Templates

<figure><img src="/files/H62sHSI64aYCogu1AHNZ" alt=""><figcaption><p>Go to templates in settings</p></figcaption></figure>

Once in templates, you will be able to select and modify specific prompt templates according to your requirements.

<figure><img src="/files/gq9bWyDMfMPGagAFS5Kc" alt=""><figcaption><p>Edit specific prompt templates</p></figcaption></figure>


# Docs Studio

Documentation feature overview

Kodesage generates and updates comprehensive documentation across the codebase, significantly improving onboarding times and easing transitions between vendors.  As Kodesage is synced with the codebase, issues, wikis, and other sources in real time, documents will always be up to date as systems evolve.

We will provide various documentation templates that you can choose from, to ensure that your systems are documented in a consistent format, and that they also meet the relevant legal requirements. Documents will include diagrams to improve explanations, and describe system dependencies.&#x20;

One the first draft is generated, data sources can be fine tuned on a section level within each sub chapter.

**Getting started with Docs Studio**

**Step 1:** Select the documentation template

<figure><img src="/files/SgA13NZE7AUWo6h36gEI" alt="Kodesage docs studio - template selection"><figcaption></figcaption></figure>

**Step 2:** Select data sources

<figure><img src="/files/skgx9jiskFk3WVWbzMjW" alt="Kodesage docs studio - data source selection"><figcaption><p>Select data sources for document generation</p></figcaption></figure>

**Step 3:** Create documentation

After you have selected the data sources, you can click on "Create", and Kodesage will generate the documents for you according to the selected template

**Step 4:** Review documentation

Once the documentation has been generated, you will be able to select it from the list of documentations to review the content by clicking on the relevant documentation name.

<figure><img src="/files/D1TZPYxDOey1ergUhzWi" alt="Kodesage docs studio - editing existing documents"><figcaption><p>Select the relevant documentation from the list</p></figcaption></figure>

Once you have selected the relevant document, you will be able to review, approve and modify the content.

<figure><img src="/files/vj5sBWihFuJbjEyi3ecO" alt="Kodesage docs studio - editing and approving documents"><figcaption><p>Review documentation</p></figcaption></figure>


# Issue Analysis

Issue analysis feature overview

Kodesage can be integrating with with platforms like Jira or Redmine, and will help developer teams with production support by providing automatic recommendations to resolve issues.

Our Auto-comment feature is integrated into the development workflow to enhance issue resolution. By automatically posting comments, it provides context and actionable guidance drawn from the affected codebase sections.

**Issue analysis process**&#x20;

* The Ticket Synchronization step syncs with the ticketing system to retrieve the latest ticket data.&#x20;
* The LLM Analysis step then utilizes a Large Language Model to analyze the tickets and associated code changes.&#x20;
* In the Contextual Comment Generation step, the LLM crafts comments that encapsulate the impact on the codebase (affected files) and suggests steps for implementation.&#x20;
* In the Auto Commenting step these comments are automatically posted on the relevant issue ticket, ensuring updated and informed ticket handling.&#x20;

**Gettin started with Issue Analysis**

When you navigting to Issues, you will see the list of ticketing systems that have already been synced with Kodesage. By selecting a specific system, you will see the list of tickets listed in Kodesage.

<figure><img src="/files/x7H0xfTg7eLniUS5Mq7D" alt=""><figcaption></figcaption></figure>

Once the auto-commenting feature has been enabled, Kodesage will automatically leave fix suggestions in your tickets in the relevant system like Jira.

<figure><img src="/files/WZ17iBk5MT24mC38cHtu" alt=""><figcaption></figcaption></figure>


# Git

Git integration overview

For version control, Kodesage uses SSH keys to securely clone repositories and process the codebase, enabling detailed analysis and documentation generation.

**Integration process**

1. **Setup SSH Keys:** Ensure SSH keys are added to the Git repository to establish a trusted connection for cloning.&#x20;
2. **Repository Addition:** Add the Git repository to Kodesage through the secure ingestion process.&#x20;
3. **Code Analysis:** Kodesage processes the repository's content, breaking it down into manageable segments for analysis and documentation generation.&#x20;

**How to connect a Git repistory to Kodesage**

You will need to go to Data sources - Upload codebase. Once there, you will be able to either:

* Upload a ZIP file directly
* connect to an SSH Git Repository
* connect to a HTTPS Git Repistory

<figure><img src="/files/n1E0947ztrAJzAax3Yeq" alt=""><figcaption></figcaption></figure>


# Jira and Redmine

Jira and Redmine integration overview

**Jira:** Kodesage integrates with Jira to enhance issue resolution by offering detailed codebase context and implementation steps.&#x20;

**Redmine:** Kodesage can be configured to automatically post comments on issue tickets, providing context and actionable guidance based on the affected code sections.&#x20;

**How to connect a Jira**

You will need to go to Data sources - Add Ticketing Sytsem. Once there, you will need to select Jira from the dropdown. To enable auto-commenting, you will need to tick it before connecting your Jira account.

<figure><img src="/files/a7OUMjaDxYA5jeVBVV4t" alt=""><figcaption><p>Connect Jira to Kodesage</p></figcaption></figure>

**How to connect Redmine**

You will need to go to Data sources - Add Ticketing Sytsem. Once there, you will need to select Redmine from the dropdown. To enable auto-commenting, you will need to tick it before connecting your Redmine account.

<figure><img src="/files/PBM5ADFkgonW0RqxGYt3" alt=""><figcaption></figcaption></figure>


# Confluence

Confluence integration overview

You can also connect your knowledge hubs and wikis to Kodesage includign Confluence. Kodesage allows users to navigate to Confluence pages directly from the application by clicking on a button under each reference, opening the linked page in a new tab.

**How to connect a Confluence**

You will need to go to Data sources - Add Knowledge Hub

<figure><img src="/files/bQvCnZfHGiHFK28QR4TM" alt=""><figcaption></figcaption></figure>


# Quickstart

Use the Kodesage Chat API to embed AI-powered chats in your app, enriched with your codebase and project data for smart assistance.

The Kodesage Chat API provides an OpenAI like endpoint for AI-powered conversations enriched with your project's knowledge base. This allows you to integrate intelligent code assistance into your own applications.

**Getting your project ID**

You can find your Project ID in the Kodesage web interface URL when viewing a project.

Example:

When you navigate to your project's chat page, the URL will look like:

```
https://localhost/project/01K5BQSXND0N595C18DJMVN4VA/chat
```

The Project ID is: **01K5BQSXND0N595C18DJMVN4VA**

**Athentication**

<sup>**API Token Configuration**</sup>

The API uses Bearer token authentication. The API token must be configured during deployment by your system administrator.

<sup>**Environment Variable:**</sup>

```
KODESAGE_API_TOKEN=your-secure-token-here
```

<sup>**Using the Token**</sup>

Include the token in the Authorization header of every request:

```
Authorization: Bearer your-secure-token-here
```

**API Endpoints**

<sup>**Chat Completions Endpoint**</sup>

```
POST /api/projects/{project_id}/v1/chat/completions
```

<sup>**Paramaters**</sup>

{project\_id} - Your project identifier (e.g., 01K5BQSXND0N595C18DJMVN4VA)

<sup>**Request Format**</sup>

```
Content-Type: application/json
Authorization: Bearer YOUR API_TOKEN
```

<sup>**Request Body**</sup>

```
{
    "messages": [
        {
            "role": "user",
            "content": "Your question here"
        }
    ]
}
```

<sup>**Message Roles**</sup>

* **user** - Messages from the end user
* **assistant** - Previous responses from the AI (for conversation history)

<sup>**Multi-turn Conversations**</sup>

To maintain conversation context, include the full conversation history:

<pre><code>{
    "messages": [
        {
            "role": "user",
            "content": "How does authentication work in this project?"
        },
        {
            "role": "assistant",
            "content": "The project uses Spring Security with..."
        },
        {
<strong>            "role": "user",
</strong>            "content": "Can you show me the code for that?"
        }
    ]
}
</code></pre>


# Request Format

Learn how to structure request payloads for the Kodesage Chat API like field definitions, data types and sample setups.

**Headers**

```
Content-Type: application/json
Authorization: Bearer YOUR API_TOKEN
```

**Request body**

```
{
    "messages": [
        {
            "role": "user",
            "content": "Your question here"
        }
    ]
}
```

**Message roles**

* **user** - Messages from the end user
* **assistant** - Previous responses from the AI (for conversation history)

**Multi-turn Conversations**

To maintain conversation context, include the full conversation history:

<pre><code>{
    "messages": [
        {
            "role": "user",
            "content": "How does authentication work in this project?"
        },
        {
            "role": "assistant",
            "content": "The project uses Spring Security with..."
        },
        {
<strong>            "role": "user",
</strong>            "content": "Can you show me the code for that?"
        }
    ]
}
</code></pre>


# Response Format

Understand the response structure from the Kodesage Chat API such as parse returned data, errors and common response patterns.

**Success Response (200 OK)**

```
{
    "choices": [
        {
            "index": 0,
            "message": {
                "role": "assistant",
                "content": "The authentication mechanism uses Spring Security..."
        }
    }
  ]
}
```

Response Fields

* **choices** - Array of completion choices (currently always contains one)
  * **index** - Choice index (always 0 )
  * **message** - The AI's response message
    * **role** - Always assistant
    * **content** - The AI-generated response with natural citations


# Implementation Examples

See real-world implementation examples for the Kodesage Chat API including sample code in multiple languages and integration patterns.

**Example 1:** Simple question

<sup>**Request:**</sup>

```
curl -X POST "https://your-kodesage-instance.com/api/projects/01K5BQSXND0N595C18DJMVN4VA/v1/chat/completions" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
    "messages": [
      {
        "role": "user",
        "content": "How is user authentication implemented?"
      }
  ]
}'
```

<sup>**Response:**</sup>

<pre><code>{
    "choices": [
      {
        "index": 0,
        "message": {
<strong>          "role": "assistant",
</strong>          "content": "According to WebSecurityConfig.java, the project uses Spring Security with a custom CosmossAuthenticationProvider..."
         }
      }
   ]
}
</code></pre>

**Example 2:** Multi-turn conversation

<sup>**Request:**</sup>

```
curl -X POST "https://your-kodesage-instance.com/api/projects/01K5BQSXND0N595C18DJMVN4VA/v1/chat/completions" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
    "messages": [
     {
       "role": "user",
       "content": "What database is used?"
     },
     {
       "role": "assistant",
       "content": "The project uses PostgreSQL as described in application.properties..."
     },
     {
       "role": "user",
       "content": "What is the connection pool configuration?"
     }
  ]
}'
```

The API is compatible with official OpenAI client libraries. This means you can use standard OpenAI SDKs with just a custom base URL.

**Quick Start (Python and C#)**

Below you will find minimal working examples for both Python and C# using the official OpenAI SDKs.

**Python example**

```
from openai import OpenAI

client = OpenAI(
    api_key=KODESAGE_API_TOKEN",
    base_url="https://your-kodesage-instance.com/api/projects/YOUR_PROJECT_ID/v1"
)

completion = client.chat.completions.create(
    model="not-used", # Model parameter is ignored by Kodesage
    messages=[
        {"role": "user","content": "What programming languages are used in this project?"}
    ]
)

print(completion.choices[0].message.content)
```

**C# (.NET) Example**

```
using OpenAI;
using OpenAI.Chat;

ChatClient client = new(
    model: "not-used", // Model parameter is ignored by Kodesage
    credential: new ApiKeyCredential(Environment.GetEnvironmentVariable("KODESAGE_API_TOKEN")),
    options: new OpenAIClientOptions()
    {
        Endpoint = new Uri("https://your-kodesage-instance.com/api/projects/YOUR_PROJECT_ID/v1")
    }
);

ChatCompletion completion = client.CompleteChat("What programming languages are used in this project?");
Console.WriteLine($"[ASSISTANT]: {completion.Content[0].Text}");
```

**Error handling**

<sup>**Error Response Format**</sup>

All errors return a JSON object with an error field:

```
{
    "detail": {
        "error": {
            "message": "Error description",
            "type": "error_type",
            "code": "error_code"
        }
    }
}
```


# Kodesage MCP Quickstart

Kodesage exposes an [MCP](https://modelcontextprotocol.io) server that lets MCP-aware clients ask questions about your project's knowledge base using the same agentic reasoning the Kodesage web UI uses.

The endpoint is:

```
https://<your-kodesage-host>/mcp/
```

It uses **streamable HTTP** transport and is protected by a bearer token. The token is bound to a single project — the project is derived from the token on every call, so you do not pass a project ID.

### Creating an Access Token

1. Open **Settings → Access Tokens** for the project you want to query.
2. Click **New token**.
3. Fill in:
   * **Token name** — a label so you remember which app uses it.
   * **Valid for (days)** — token lifetime. Default `365`, max `3650`.
   * **Conversation lifetime (days)** — how long an idle conversation created via this token stays reachable. Default `90`, max `3650`.
4. Copy the token immediately. **It is shown only once and cannot be retrieved later.** If you lose it, revoke it and create a new one.

Each token is tied to **one user and one project**. It carries the permissions of the user who created it and is re-checked on every call, so revoking the user's project access disables the token immediately. The MCP tools operate **read-only** against your code and knowledge base.

Revoke a token from the same **Access Tokens** screen. Revoked, expired, and inactive-user tokens are rejected with HTTP `401`.

### Service Users for Shared Integrations

Every conversation a token creates lands in the **Ask Kodesage** history of the user who owns the token. If you wire MCP into any integration used by more than one person, use a dedicated **service user** rather than a personal account:

1. Create a new Kodesage user for the integration .
2. Grant it access to the project(s) it should query.
3. Sign in as that user and create the access token from the user's **Settings → Access Tokens** page.
4. Use that token in the shared integration.

This keeps the shared conversation history isolated from anyone's personal history, makes it obvious in audits which traffic came from the integration, and lets you rotate or revoke the token without affecting a real person's account.

### Authentication

Every MCP request must carry the bearer header:

```
Authorization: Bearer your-token-here
```

Store the token in an environment variable, never in source control:

```
KODESAGE_ACCESS_TOKEN=your-token-here
```

### MCP Client Configuration

Most MCP clients take a JSON config that points at an HTTP MCP server and lets you set custom headers. The generic shape is:

```json
{
  "mcpServers": {
    "kodesage": {
      "type": "http",
      "url": "https://<your-kodesage-host>/mcp/",
      "headers": {
        "Authorization": "Bearer ${KODESAGE_ACCESS_TOKEN}"
      }
    }
  }
}
```

Notes:

* The URL **must end with `/`**.
* Field names vary between clients, but every client needs the URL and an `Authorization: Bearer …` header.
* If your client only supports stdio MCP servers, put a small HTTP→stdio bridge in front of the endpoint.

### Available Tools

#### `ask_kodesage`

Ask Kodesage a question and get a final answer. This is the main tool.

**Arguments**

| Name              | Type     | Required | Description                                                 |
| ----------------- | -------- | -------- | ----------------------------------------------------------- |
| `prompt`          | `string` | yes      | The question. Maximum 32,000 characters by default.         |
| `conversation_id` | `string` | no       | Continue an existing conversation. Omit to start a new one. |

**Returns**

```json
{
  "answer": "…the agent's final answer…",
  "conversation_id": "0d6f5e3a-…-…"
}
```

The first call returns a new `conversation_id`. Pass it back on subsequent calls to keep the conversation going — the agent will see prior turns when answering. Each successful call resets the conversation's idle timer.

#### `get_kodesage_conversation`

Read the message history of an existing conversation.

**Arguments**

| Name              | Type     | Required | Description                              |
| ----------------- | -------- | -------- | ---------------------------------------- |
| `conversation_id` | `string` | yes      | A `conversation_id` from `ask_kodesage`. |

**Returns**

```json
{
  "entries": [
    {"role": "user",      "content": "How does authentication work?"},
    {"role": "assistant", "content": "Authentication uses…"}
  ]
}
```

Only completed turns are returned — one user message and the final assistant answer per turn. Intermediate reasoning steps and in-progress or failed turns are omitted.

### Example

Minimal `ask_kodesage` invocation with `curl`:

```bash
curl -sS https://<your-kodesage-host>/mcp/ \
  -H "Authorization: Bearer $KODESAGE_ACCESS_TOKEN" \
  -d '{
    "jsonrpc": "2.0",
    "id": 1,
    "method": "tools/call",
    "params": {
      "name": "ask_kodesage",
      "arguments": {
        "prompt": "How does authentication work in this project?"
      }
    }
  }'
```

### Viewing MCP Conversations in the Web UI

Conversations started over MCP are added to the same **Ask Kodesage** history as conversations started in the web UI, scoped to the user the token belongs to. Sign in as that user and open the project to:

* See the full agent trace, including every tool call and intermediate step (MCP clients only see the final answer).
* Follow up on an MCP conversation from the web UI.
* Audit which questions a token has been asking.

### Limits & Errors

The MCP server enforces two limits, both configurable per deployment:

| Limit                               | Default | Environment variable           |
| ----------------------------------- | ------- | ------------------------------ |
| Maximum prompt length (characters)  | `32000` | `MCP_MAX_PROMPT_CHARS`         |
| Concurrent `ask_kodesage` per token | `3`     | `MCP_MAX_CONCURRENT_PER_TOKEN` |

> **Note on concurrency.** Each `ask_kodesage` call runs a full agentic loop that drives the Kodesage LLM. Raising `MCP_MAX_CONCURRENT_PER_TOKEN` too high lets a single token fan out many parallel agent runs and can saturate the GPU pool, slowing every user on the deployment. Keep it low unless you know your hardware has headroom.

Common errors:

* **HTTP 401** — missing, expired, or revoked token, or the user lost access to the project.
* **`Conversation not found`** — the `conversation_id` is unknown, expired, or belongs to a different token/user/project.
* **`Too many concurrent requests for this token`** — wait for an in-flight call to finish, then retry.
* **`Prompt too long`** — shorten the prompt to within the configured limit.
* **`Agent reached step budget without producing a final answer`** — the agent could not converge; try a more focused prompt.


# Installation guide

Installation guide

**Prerequisites**

Ensure you have the following prerequisites installed on your system:&#x20;

* Docker Engine: Follow the installation instructions for your operating system from the official Docker documentation: [Install Docker Engine](https://docs.docker.com/engine/install/)&#x20;
* Docker Compose: Follow the installation instructions for your operating system from the official Docker documentation: [Install Docker Compose](https://docs.docker.com/compose/install/)&#x20;

**Load Docker Images**&#x20;

Copy the provided tar files into the server, where the application will be hosted. After that run this command:&#x20;

docker load --input kodesage-backend.tar kodesage-frontend.tar&#x20;

**Create SSL certificate**

Create a folder named cert, generate two files certifacate.crt and privateKey.key&#x20;

You can use the provided self-signed certificates as well.&#x20;

**Set config files**

We will provide with the list of files and instructions during onboarding.&#x20;


# Self-hosted LLM installation

Installation guide for self-hosted LLM setup

**Prerequisites**&#x20;

* A system with Ubuntu with docker and docker-compose installed (as mentioned before) and with the latest Nvidia driver for the GPU-s in the system.&#x20;
* Install the [Nvidia Container Toolkit.](https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/latest/install-guide.html)&#x20;
* Install git-lfs with the command: sudo apt-get install git-lfs&#x20;

Copy the provided text-generation-webui folder to a server with one or more Nvidia GPU-s. &#x20;

**With multiple GPU-s**&#x20;

You can modify the compose file to add more instances if you have more GPU-s. For this copy the part from the  ‘text-generation-webui-docker-1:’ as many times as the number of GPU-s in the system. Change the ‘device\_ids:’ part to the corresponding GPU id, which you can check by executing the command ‘nvidia-smi’ in the system’s terminal.&#x20;

Change the service and the container name to a different one than the first one (change the number).&#x20;

Finally, change the ports exposed to a different one than the first for each instance.&#x20;

**Download the model**

We will provide you with the most up-to-date LLM model during onboarding. But you can also use the model of your choice.


# Self-hosted Embedder installation&#x20;

Self-hosted Embedder installation guide

**Prerequisites**&#x20;

* A system with Ubuntu with docker and docker-compose installed and with the latest Nvidia driver for the GPU-s in the system.&#x20;
* Install the [Nvidia Container Toolkit.](https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/latest/install-guide.html)&#x20;
* Install git-lfs with the command: sudo apt-get install git-lfs&#x20;
* The embedder service can also be runned with multiple instances if necessary.&#x20;
* Copy the provided tar file and the embedder-wrapper folder into the server, where the embedder service will be hosted. After that, run this command:&#x20;
* docker load --input embedder-service.tar&#x20;

For running multiple instances modify the docker-compose file, copy the part after the ‘services’ as many times as many instances you would like to run. Modify the service and the container name for each copy. Also modify the ports so the instances could run separately.&#x20;

The model will be downloaded at the first start of the container.&#x20;

**Start the instances**&#x20;

Go back to the root folder and execute this command:&#x20;

* docker compose up –d&#x20;

The embedder service should start without errors.&#x20;

**Load balancers**&#x20;

If you are running multiple instances of LLMs and/or embedders, you will need separate load balancers which will handle the concurrent loads. We will provide you with further instructions for installing load balanacers during the onboarding period.


# Kodesage Release Notes - 0.7.3

Concepts now available to all customers, delivering knowledge graph-powered insights, faster PDF processing, improved references, and platform stability upgrades.

### **11 February 2026** <a href="#release-notes-kodesage-0.7.3-date" id="release-notes-kodesage-0.7.3-date"></a>

#### **🧠 Welcome Concepts – Now Enabled for all customers** <a href="#welcome-concepts-now-enabled-for-all-customers" id="welcome-concepts-now-enabled-for-all-customers"></a>

* Concepts capture the most important logic, flows, and domain rules in your codebase. Once collected, Kodesage connects them into a knowledge graph and gives you more accurate answers and deeper system insight.
* Start Concepts collection in Settings under a new, Concepts tab
* Concepts are now enabled by default in Docs Studio, providing more structured and consistent outputs.

***

#### **✨ General Improvements & Fixes** <a href="#general-improvements-and-fixes" id="general-improvements-and-fixes"></a>

* Enhanced, simpler the reference viewer with different sorting options
* Delivered more robust and significantly faster PDF data source processing.
* Improved the PDF viewer in Data Sources for a smoother and more reliable experience.
* Fixed issues affecting the Download All Project Statistics functionality.
* Numerous smaller improvements and bug fixes across the platform to improve stability and performance.


# Kodesage release Notes - 0.7.2

New metrics and usage reports, improved PDF viewing and ingestion, refined navigation, and enhanced Ask Kodesage context and reference management.

### **21 January 2026** <a href="#release-notes-kodesage-0.7.2-date" id="release-notes-kodesage-0.7.2-date"></a>

#### 📊 **Metrics Enhancements** <a href="#metrics-enhancements" id="metrics-enhancements"></a>

* Introduced a new **Download all projects statistics** button, providing detailed usage statistics via a downloadable report.
* Added **new metrics**, including **time-to-first-token (TTFT)** for Ask Kodesage and **API usage stats**

***

#### ✨ **General Improvements** <a href="#general-improvements" id="general-improvements"></a>

* Added a built-in **PDF viewer** for Data Sources and manually tagged references.
* Improved **PDF upload and processing status**, making ingestion progress clearer and more reliable.
* Refined and enhanced the **left-side navigation menu** for better usability.

***

#### 💬 **Ask Kodesage Enhancements** <a href="#ask-kodesage-enhancements" id="ask-kodesage-enhancements"></a>

* Enabled adding of **PDFs and Confluence pages using @** to context
* Improved the **Reference panel** and refreshed the **manual tagging** experience


# Kodesage Release Notes - 0.7.1

Introducing Concepts (private beta), smarter document updates, enhanced IDE integration, improved search accuracy, and major performance and stability upgrades.

### **9 January 2026** <a href="#release-notes-kodesage-0.7.1.3-date" id="release-notes-kodesage-0.7.1.3-date"></a>

#### 🧠 **Introducing Concepts – Private Beta** <a href="#introducing-concepts-private-beta" id="introducing-concepts-private-beta"></a>

* Concepts capture the most important logic, flows, and domain rules within your codebase. Once collected, Kodesage connects them into a structured knowledge graph, enabling more accurate answers and deeper system level insights.
* Concepts are available in a dedicated **Settings** tab, with both **graph and list views**, allowing easy exploration.
* You can review and edit Concepts to further improve search relevance and answer quality.
* Currently available in **private beta**.

***

#### ✨ **New Feature**: **Docs Studio – Document Updating** <a href="#new-feature-docs-studio-document-updating" id="new-feature-docs-studio-document-updating"></a>

* Kodesage automatically detects when a previously generated document becomes outdated.
* You can regenerate the entire document while preserving prior user edits, ensuring updates do not overwrite manual refinements.

***

#### ✨ **New Feature: IDE Plugin & Updated Chat API** <a href="#new-feature-ide-plugin-and-updated-chat-api" id="new-feature-ide-plugin-and-updated-chat-api"></a>

* Added support for **Continue.dev configuration download**, simplifying IDE setup.
* Extended the Chat API to better support IDE integrations and external development workflows.

***

#### 🔍 **Search & Embedding Improvements** <a href="#search-and-embedding-improvements" id="search-and-embedding-improvements"></a>

* Improved reference retrieval accuracy, especially for documents.
* Enabled **document path embedding** by default and reprocessed existing documents to enhance search precision.
* Added data source and file path metadata to embeddings across all data sources, improving retrieval.

***

#### 🛠️ **Small Improvements** <a href="#small-improvements" id="small-improvements"></a>

* Improved file upload experience in Data sources
* Usage statistics now include document generation activities
* Enhanced chat session history handling in Ask Kodesage

***

#### 🐞 **Bug Fixes** <a href="#bug-fixes" id="bug-fixes"></a>

* Fixed PDF processing issues, particularly for large files and air gapped environments.
* Resolved a backend issue that could exhaust database connections under certain conditions.
* Numerous additional bug fixes and performance improvements across the platform


# Kodesage Release Notes - 0.6.8

Improved Docs Studio, unified Ticket Analysis UI, faster search, PDF/image support, and major performance & stability upgrades

### **20 November 2025** <a href="#release-notes-kodesage-0.6.8-date" id="release-notes-kodesage-0.6.8-date"></a>

💬 **Ask Kodesage**

* Added visibility for selected data source filters for clearer context.

***

📚 **Docs Studio – Improvements**

* Inline renaming support for documents, chapters and sections.
* Document updates now preserve user-modified sections, ensuring changes are retained when chapters refresh.
* Enhanced rendering performance for large diagrams.

***

🎫 **Ticket Analysis – UI Improvements**

* Unified interface with a simplified and more intuitive workflow.

***

🔍 **Transition to the New Search Standard**

* The former Early Access search experience is now the default.
* Removed the legacy embedder for better resource usage and faster answer generation.
* Removed labels from Settings and Filters as part of UI cleanup and simplification.

***

🗂️ **Data Sources – Enhancements**

* Added support for processing scanned PDFs and images embedded in PDFs.

***

⚡ **Performance Improvements**

* Optimized the ingester to resolve slow processing in specific scenarios.
* Refactored UI logic to deliver noticeably faster interactions across the app.
* Updated to **VLLM 0.11.0**, bringing performance and stability improvements.
* Faster loading times in **Docs Studio**, **Issue Analysis**, and **Data Sources** screens.
* A significant number of additional fixes and stability enhancements throughout the platform.


# Kodesage Release Notes - 0.6.5

REST API launch for Ask Kodesage, smarter LLM reference reranking, Docs Studio UI upgrades, framework update to Angular v20, and performance fixes.

### **15 October 2025** <a href="#release-notes-kodesage-0.6.5-date" id="release-notes-kodesage-0.6.5-date"></a>

#### 💬 Ask Kodesage – New Features <a href="#ask-kodesage-new-features" id="ask-kodesage-new-features"></a>

* Introduced a new **REST API for Ask Kodesage**, enabling external integrations and automation.
* Added **LLM-based reference reranking** (available under a feature switch) to improve accuracy and speed

***

#### 📚 **Docs Studio – Improvements** <a href="#docs-studio-improvements" id="docs-studio-improvements"></a>

* Refined user interface for a cleaner and more consistent editing experience.
* Improved **Preview and Export**: redesigned export layout and embedded preview directly within Docs Studio for a smoother workflow.

***

#### 🛠️ **General Enhancements** <a href="#general-enhancements" id="general-enhancements"></a>

* Upgraded the framework to **Angular v20** for better performance and stability.
* Migrated from **NGINX to Caddy**, simplifying configuration and improving reliability.
* Removed unused **code documentation templates** for a leaner, faster system.

***

#### 🐞 **Bug Fixes** <a href="#bug-fixes" id="bug-fixes"></a>

* Prevented unnecessary prefetching and caching of client code.
* Fixed loading issues on the Projects page.
* Resolved permission errors occurring when renaming projects.
* Additional bug fixes and performance improvements across the platform.


# Kodesage Release Notes - 0.6.4

New style options and input field enhancements for Ask Kodesage, new filters, UI tweaks & performance fixes.

### **3 October 2025** <a href="#release-notes-kodesage-0.6.3-date" id="release-notes-kodesage-0.6.3-date"></a>

#### 📚 **Docs Studio – New Features & Improvements** <a href="#docs-studio-new-features-and-improvements" id="docs-studio-new-features-and-improvements"></a>

* Introduced a **Preview** capability with updated behavior for the *Start Generation* button.
* The **Table of Contents bar** is now sticky and can be collapsed for easier navigation.
* Enhanced **document list** with sorting options and two new columns: *Date Added* and *Date Modified*.

***

#### 🐞 **Bug Fixes & Enhancements** <a href="#bug-fixes-and-enhancements" id="bug-fixes-and-enhancements"></a>

* Fixed a critical bug that caused infinite loading on the *Projects* page.
* Resolved backend availability issues (localhost) and added proper error messages for clarity.
* Improved Git synchronization speed by avoiding re-parsing unchanged files.
* Fixed an issue where project permissions disappeared after renaming projects in the Django admin portal.
* Addressed further Jira synchronization problems.
* Fixed a bug preventing project report downloads.
* Additional bug fixes and performance improvements across the platform.


# Kodesage Release Notes - 0.6.3

Docs studio updates including PDF exports for AI generated documentation, new RPG parser, Jira API updates, faster tagging of code files and Jira tickets.

### **24 September 2025** <a href="#release-notes-kodesage-0.6.3-date" id="release-notes-kodesage-0.6.3-date"></a>

#### 📚 **Docs Studio – Improvements** <a href="#docs-studio-improvements" id="docs-studio-improvements"></a>

* Brand new design for PDF exports, delivering a cleaner and more professional look.
* UI enhancements to the Docs Studio layout, including a fix for the Summary chapter display.

***

#### 🛠️ **General Enhancements** <a href="#general-enhancements" id="general-enhancements"></a>

* Expanding parsing capabilities with new RPG parser integration.
* Adapted to recent Jira API changes to ensure integration remains stable and reliable.

***

#### 🐞 **Bug Fixes & Enhancements** <a href="#bug-fixes-and-enhancements" id="bug-fixes-and-enhancements"></a>

* Resolved slowness when tagging code files or Jira tickets.
* Various smaller enhancements and stability fixes


# Kodesage Release Notes - 0.6.2

Bug fixes for Ask Kodesage, Git repository synchronization and smaller performance enhancements.

### **16 September 2025** <a href="#release-notes-kodesage-0.6.2-date" id="release-notes-kodesage-0.6.2-date"></a>

#### 🐞 **Bug Fixes & Enhancements** <a href="#bug-fixes-and-enhancements" id="bug-fixes-and-enhancements"></a>

* Resolved an issue that caused slow responses in Ask Kodesage under certain environments, improving overall responsiveness.
* Additional fixes to Git repository synchronization, ensuring more reliable updates.
* Various smaller enhancements and stability improvements across the platform.


# Kodesage Release Notes -0.6.1

Multiple UI improvements, generated code can now be copied, Docs Studio changes, faster LLM performance, Jira / Redmine tickets can be used as data sources.

### **12 September 2025**   <a href="#release-notes-kodesage-0.6.1-date" id="release-notes-kodesage-0.6.1-date"></a>

#### 💬 Ask Kodesage – New Features <a href="#ask-kodesage-new-features" id="ask-kodesage-new-features"></a>

* Multiple UI improvements: adjusted font size, improved spacing, fixed scrolling issues, refined session history overlay, and corrected input focus behavior.
* Added the ability to copy generated code

***

#### 📚 Docs Studio – New Features <a href="#docs-studio-new-features" id="docs-studio-new-features"></a>

* Non-admin users can now create new documents, expanding collaboration across teams.
* The content approval flow has been removed, simplifying the document creation process.

***

#### 🛠️ General Improvements <a href="#general-improvements" id="general-improvements"></a>

* Jira and Redmine ticket comments are now ingested and used across all functions, providing richer context for all Kodesage features.

***

#### 🐞 Bug Fixes & Enhancements <a href="#bug-fixes-and-enhancements" id="bug-fixes-and-enhancements"></a>

* Ticket analysis timeouts resolved with suggested solutions now streamed in real time.
* Improved LLM performance: slow “thinking” and answer generation have been fixed.
* Regenerate answers bug fixed, ensuring prompts with tickets and ticket comments now work as expected.
* Restored ability to download Uploaded documents from the Data Sources menu.

\ <br>


# Kodesage Release Notes -0.6.0

Knowledge base early access, redesigned answer rating, ingestion simplification, Confluence references, stability fixes.

### **1 September 2025**  <a href="#release-notes-kodesage-0.6.0-1-sep-2025" id="release-notes-kodesage-0.6.0-1-sep-2025"></a>

#### 🛠️ **General Improvements** <a href="#general-improvements" id="general-improvements"></a>

* **Knowledge Base (Early Access):** First iteration of our new architecture for faster, more relevant answers. Enable it via the **Early Access Version** checkbox in **Ask Kodesage**.
* **Navigation cleanup:** The **Codebases** menu item has been removed. Your uploaded or connected repositories remain available under **Data Sources**.
* **Simplified ingestion:** Automatic code-snippet generation has been removed to improve ingestion speed. You can now generate explanations directly in **Ask Kodesage** by tagging the relevant file and using the **Explain** command.

***

#### 💬 **Ask Kodesage – New Features** <a href="#ask-kodesage-new-features" id="ask-kodesage-new-features"></a>

* **Redesigned Answer Rating:** New feedback mechanism with the ability to leave comments.
* **Manual Confluence references:** You can now manually add Confluence pages to an answer’s references.

***

#### 📚 **Docs Studio – New Features** <a href="#docs-studio-new-features" id="docs-studio-new-features"></a>

* **Manual Confluence references:** Confluence pages can be manually added to document references.

***

#### 🐞 **Bug Fixes & Enhancements** <a href="#bug-fixes-and-enhancements" id="bug-fixes-and-enhancements"></a>

* Numerous small enhancements and stability fixes across the app.


# Kodesage Release Notes - 0.5.9

New mode for Ask Kodesage, allowing deeper reasoning and improving answer accuracy, bug fixes in air-gapped deployment mode, Git repository sync fixes.

### **12 August 2025** <a href="#release-notes-kodesage-0.5.5-25-june-2025" id="release-notes-kodesage-0.5.5-25-june-2025"></a>

#### **💬 Ask Kodesage – New Features**

* **Extended thinking** switch: A new mode enabling deeper reasoning for improved answer accuracy. Note: this may slightly increase response times.

#### **🐞 Bug Fixes & Improvements**

* Fixes related to air-gapped environments affecting Issue Analysis function
* Fixed Git repository syncronization


# Kodesage Release Notes -0.5.8

Answer style options for Ask Kodesage allowing for answer depth control, refreshed input field design, new filtering options for issue tickets & stability enhancements.

### **4 August 2025**

#### **💬 Ask Kodesage – New Features**

* Introducing **Style Options**: Customize your experience with new settings to control answer length and technical detail depth for more tailored responses.
* **Enhanced Input Field**: The interface has been refreshed and tagged sources now get a visual highlight.
* Possibility to **tag Jira/Redmine tickets** to ask for root cause analysis or implementation plan

#### **🛠️ General Improvements**

* **New Data Source Filter** options: New filtering options to filter tickets by type, status and priority
* **Refreshed Settings Interface**: Updated tab design with detailed information about the currently used LLM model.<br>

#### **🐞 Bug Fixes & Improvements**

* Enhanced Suggested Solutions: Suggested solutions now properly include comments for better context.
* Diagram Generation Resilience: Fixed a critical bug that prevented answer and document generation when diagram creation failed.
* &#x20;Various performance optimizations and stability improvements

<br>


# Kodesage Release Notes -0.5.7

Thinking mode option and data source filter indicator for Ask Kodesage,, search & performance enhancements, and new regression test catalogue.

### **16 July 2025** <a href="#release-notes-kodesage-0.5.7-16-july-2025" id="release-notes-kodesage-0.5.7-16-july-2025"></a>

#### 💬 **Ask Kodesage – New Features** <a href="#ask-kodesage-new-features" id="ask-kodesage-new-features"></a>

* **Thinking Mode Option**: A new mode enabling deeper reasoning for improved answer accuracy. Note: this may slightly increase response times.
* **Filter Indicator**: Easily see if any filters are active when querying.

***

#### 📚 **Docs Studio – New Features** <a href="#docs-studio-new-features" id="docs-studio-new-features"></a>

* **New Template**: Added “Regression Test Catalogue” to streamline documentation of test cases.
* **Manual References only**: You can now manually add references without performing search.
* **Thinking Mode** is active by default for better accuracy

***

#### 🔍 **Issue Analysis – Updates** <a href="#issue-analysis-updates" id="issue-analysis-updates"></a>

* **Improved Ticket Listing**: Ticket display in Issue Analysis is clearer and more structured.
* **Thinking Mode** is active by default for better accuracy

***

#### 🛠️ **General Improvements** <a href="#general-improvements" id="general-improvements"></a>

* **Search Enhancements**: Smarter document search logic for more relevant results.
* **Performance & Fixes**: Numerous backend fixes and performance improvements, especially around Docs Studio and Mermaid diagram rendering.


# Kodesage Release Notes -0.5.5

Redesigned reference editor and added mermaid zoom to Ask Kodesage, ticket summaries for Jira tickets, new wiki-JS integration & data source interface updates.

### **25 June 2025** <a href="#release-notes-kodesage-0.5.5-25-june-2025" id="release-notes-kodesage-0.5.5-25-june-2025"></a>

#### **💬Ask Kodesage – New Features** <a href="#ask-kodesage-new-features" id="ask-kodesage-new-features"></a>

* **Redesigned Reference Editor**: A fresh look with easier reference removal and an updated code snippet viewer. Also available in Documentation Generation.
* **Mermaid Diagram Zooming**: Zoom in on complex diagrams for better readability.
* **Filter for Technology**: Filter responses by programming language for more targeted outputs.
* **Manual Document Upload Support**: Now supported in both Ask Kodesage and Documentation Generation.

***

#### **📚Documentation Generation – New Features** <a href="#documentation-generation-new-features" id="documentation-generation-new-features"></a>

* **New Template**: *Physical System Design* template added to streamline technical documentation.
* **New Content Type**: Introduced a *Summary Chapter* block to automatically highlight key sections.

***

#### **🔍 Issue Analysis – New Features** <a href="#issue-analysis-new-features" id="issue-analysis-new-features"></a>

* **Ticket Summarization (Preview)**: Automatically generates summaries of Jira or Redmine ticket descriptions and comments.

***

#### **🛠️ Other New Features** <a href="#other-new-features" id="other-new-features"></a>

* **New Data Source Interface**: Simplified and more intuitive.
* **Wiki.js Integration**: Now available as a knowledge base data source.
* **KSDL Editor Access**: The KSDL editor is now visible under Settings.
* **Django Authentication Support**

***

#### **🧠 Updated 3rd-Party Components** <a href="#updated-3rd-party-components" id="updated-3rd-party-components"></a>

* **Default LLM**: Upgraded to *Qwen3-32B* for enhanced performance.
* **Vector Indexing**: Switched to *VectorChord* for faster and more accurate results.

***

#### **🐞Bug Fixes & Improvements** <a href="#bug-fixes-and-improvements" id="bug-fixes-and-improvements"></a>

* Improved context during follow-up questions.
* Fixed multiple issues with codebase sync and improved sync performance.
* Resolved an issue where Suggested solutions weren’t appearing as comments in Jira.
* Numerous other minor fixes and performance enhancements.

***

\ <br>


