Skip to content

feat: Add Kotlin Language Support#41

Open
p0thi wants to merge 1 commit intoFSoft-AI4Code:mainfrom
p0thi:enable-kotlin-support
Open

feat: Add Kotlin Language Support#41
p0thi wants to merge 1 commit intoFSoft-AI4Code:mainfrom
p0thi:enable-kotlin-support

Conversation

@p0thi
Copy link

@p0thi p0thi commented Feb 27, 2026

TL;DR

This PR introduces full support for the Kotlin programming language, making it the 8th supported language for repository analysis.

Description

This pull request integrates a new tree-sitter-based analyzer for Kotlin (.kt, .kts files). The goal is to provide feature-parity with the existing Java analyzer, enabling CodeWiki to generate comprehensive documentation for Kotlin-based projects.

Key Changes:

  • New Kotlin Analyzer (kotlin.py): A new analyzer capable of parsing Kotlin source code to extract nodes and relationships. It handles:

    • Component Extraction: Classes, interfaces, objects, data classes, enums, and functions.
    • Relationship Mapping: Inheritance, interface implementations, property types, constructor parameters, method calls, and object instantiations.
    • Advanced Type Resolution: Infers variable types from local declarations, function parameters, and class properties.
  • Core System Integration: The new analyzer is wired into the entire CodeWiki pipeline:

    • File Discovery & Validation: The CLI now recognizes .kt and .kts files as valid source files.
    • Analysis Service: The central analysis service can now dispatch jobs to the Kotlin analyzer.
    • Call Graph & Prompt Generation: Kotlin components are correctly represented in the call graph and included in prompts for the LLM.
  • Dependency Updates:

    • Added the tree-sitter-kotlin dependency to pyproject.toml and requirements.txt.

By adding Kotlin, CodeWiki significantly broadens its applicability to a large and modern segment of the JVM ecosystem.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant