An LLM-powered application for the COSMIC™ desktop environment
- Localized UI with Fluent translations
- Modular LLM backend support
- Filesystem integration via MCP server
- HTTP-based API for LLM interactions
- Configurable UI and LLM settings
The application provides the following LLM-powered features:
- Filesystem operations (read files and directories)
- Code analysis and generation
- Natural language processing
- Context-aware assistance
Supported LLM providers:
- Anthropic
- Deepseek
The application can be configured via app_config.toml
with the following sections:
[ui]
# UI configuration options
[mcp_servers]
# MCP server configurations
[llm]
# LLM provider and API settings
A justfile is included by default for the casey/just command runner.
just
builds the application with the defaultjust build-release
recipejust run
builds and runs the applicationjust install
installs the project into the systemjust vendor
creates a vendored tarballjust build-vendored
compiles with vendored dependencies from that tarballjust check
runs clippy on the project to check for linter warningsjust check-json
can be used by IDEs that support LSP
Fluent is used for localization of the software. Fluent's translation files are found in the i18n directory. New translations may copy the English (en) localization of the project, rename en
to the desired ISO 639-1 language code, and then translations can be provided for each message identifier. If no translation is necessary, the message may be omitted.
If packaging for a Linux distribution, vendor dependencies locally with the vendor
rule, and build with the vendored sources using the build-vendored
rule. When installing files, use the rootdir
and prefix
variables to change installation paths.
just vendor
just build-vendored
just rootdir=debian/llming prefix=/usr install
It is recommended to build a source tarball with the vendored dependencies, which can typically be done by running just vendor
on the host system before it enters the build environment.
Developers should install rustup and configure their editor to use rust-analyzer. To improve compilation times, disable LTO in the release profile, install the mold linker, and configure sccache for use with Rust. The mold linker will only improve link times if LTO is disabled.