[go: up one dir, main page]

Menu

Tree [53ba30] main v1.2.7 / desktop /
 History

HTTPS access


File Date Author Commit
 src 2026-01-07 Hai Nguyen Hai Nguyen [53ba30] feat(telemetry): add session metrics and teleme...
 README.md 2025-12-02 Hai Nguyen Hai Nguyen [ae4e83] Refactor codebase (#137)
 build.gradle.kts 2025-12-25 Hai Nguyen Hai Nguyen [d86ea0] Fix notary dmg (#173)

Read Me

Askimo Desktop

A Kotlin Compose Desktop application for the Askimo project.

Features

  • Modern Material Design 3 UI
  • Simple chat interface with message bubbles
  • User and AI message differentiation
  • Responsive layout with scrollable message area

Requirements

  • JDK 21 or higher
  • Gradle 8.x or higher

Running the Application

To run the application in development mode:

./gradlew desktop:run

Building the Application

To build the application:

./gradlew desktop:build

Localization

Detecting Unused Localization Keys

To find unused localization keys in your properties files:

./gradlew :desktop:detectUnusedLocalizations

This task will:

  • Scan all localization keys in messages.properties
  • Check usage across both desktop and shared modules
  • Generate a detailed report at build/reports/unused-localizations.txt
  • Display a summary with any unused keys

Creating Native Distributions

You can create native distributions for different platforms:

# Create DMG for macOS
./gradlew desktop:packageDmg

# Create MSI for Windows
./gradlew desktop:packageMsi

# Create DEB for Linux
./gradlew desktop:packageDeb

Project Structure

desktop/
├── build.gradle.kts          # Build configuration
├── src/
│   └── main/
│       ├── kotlin/
│       │   └── io/askimo/desktop/
│       │       └── Main.kt    # Main application code
│       └── resources/         # Resources (icons, etc.)
└── README.md                  # This file

Architecture

The application uses:

  • Compose Multiplatform: For building the UI
  • Material 3: For modern design components
  • Kotlin Coroutines: For asynchronous operations