repowisewangzan101/mika

Architecture of wangzan101/mika

wangzan101/mika is 1,313 source files holding 22,765 symbols across 4 modules, written mainly in Kotlin, Python, JavaScript. The largest module is core, with 556 files, and 14 files are entry points into the dependency graph.

How mika fits together

The app module holds the Android user interface, including ChatViewModel.kt behind the chat screen, ChatDrawer.kt for the chat drawer, and ModelsScreen.kt for the models screen. Model provider settings are kept in app/src/main/java/com/wangzan101/mika/settings/ProviderStore.kt, which is a central file for connecting to the configured model services. The core module holds the largest share of the files, along with the built-in knowledge and skills. Knowledge entries are plain Markdown text files under core/src/main/resources/knowledge/, and skills are kept under core/src/main/resources/skills/, so they can be extended without writing code. The docs/architecture.md file describes the current code structure with class names and file paths.

Largest modules

  • core: 556 files and 56,749 lines of code
  • app: 446 files and 56,437 lines of code
  • tools: 3 files and 711 lines of code
  • root: 2 files and 23 lines of code

Languages

By file count: Kotlin 996 files, Python 4 files, JavaScript 3 files, Java 2 files, C 1 file, Shell 1 file.

Documentation

Repowise documents mika in 2,282 pages generated from the source.

More on mika: summary and FAQ, codebase overview, code health.