Artemis is a native KDE/Linux AI coding client built with C++20, Qt Quick, Kirigami, and the Codex app-server protocol.
Artemis is still in extremely early alpha. Things will break and be changing rapidly. Artemis is also moderately opinionated and intentionally minimal. No analytics, no crazy feature bloat. Currently, development is driven by my own workflow and needs. I am open to PRs and feature requests though! If you think Artemis is missing a key feature, it may just be that be that I don't know about it!
Logo designer wanted: The current icon is temporary. We're looking for a designer to create a polished logo and app icon for Artemis. If you're interested in contributing, please open an issue or discussion.
- Project navigation with persistent Codex thread history and status
- Streamed agent activity, plans, command output, and file changes
- Build and plan modes with per-turn model, reasoning, and permission controls
- Mid-turn guidance, interruption, and Codex user-input prompts
- Clipboard image attachments and an integrated image viewer
- Git status and compact or expanded diff review
- AI-generated commit messages with current-branch and new-feature-branch workflows
- Separate persisted model settings for coding, commit messages, and thread titles
- AI-generated thread names after the first message
- Configurable editor and terminal launchers
- Desktop notifications and completion sounds for finished background threads
- SQLite persistence and Codex connection diagnostics
- A C++20 compiler
- CMake 3.24 or newer
- Ninja
- Qt 6.8 or newer, including Qt Quick, Qt Quick Controls, SQL, and Test
- KDE Frameworks 6 Kirigami, Notifications, and Syntax Highlighting
- Git
- Codex CLI 0.141.0 or newer, installed and authenticated
sudo pacman -S --needed base-devel cmake ninja extra-cmake-modules git \
qt6-base qt6-declarative kirigami knotifications syntax-highlighting \
plasma-integrationArtemis requires Qt 6.8 or newer. Debian 13 (Trixie) provides a compatible
toolchain. Before building on Ubuntu, check qtpaths6 --qt-version; Ubuntu
24.04 LTS ships an older Qt release and cannot build Artemis from the standard
repositories.
On a compatible Debian or Ubuntu release:
sudo apt update
sudo apt install build-essential cmake ninja-build extra-cmake-modules git \
qt6-base-dev qt6-declarative-dev libkirigami-dev libkf6notifications-dev \
libkf6syntaxhighlighting-dev libqt6sql6-sqlite \
qml6-module-org-kde-desktopsudo dnf install gcc-c++ cmake ninja-build extra-cmake-modules git \
qt6-qtbase-devel qt6-qtdeclarative-devel \
kf6-kirigami-devel kf6-knotifications-devel \
kf6-syntax-highlighting-devel \
kf6-qqc2-desktop-styleClone the repository and configure a release build:
git clone https://github.com/tylxr59/Artemis.git
cd Artemis
cmake -S . -B build -G Ninja -DCMAKE_BUILD_TYPE=Release
cmake --build buildRun the test suite:
cmake --build build --target artemis_qmllint
ctest --test-dir build --output-on-failureRun Artemis directly from the build directory:
./build/artemisFor a development build, use -DCMAKE_BUILD_TYPE=Debug when configuring.
To install system-wide under /usr/local:
sudo cmake --install buildTo install only for the current user:
cmake -S . -B build-user -G Ninja \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX="$HOME/.local"
cmake --build build-user
cmake --install build-userThe executable is installed as artemis. Desktop and icon files are installed
under the selected prefix.
The repository includes a PKGBUILD for installing a tracked
artemis-git package:
makepkg -siRun that command from the repository root. makepkg builds, tests, and
installs Artemis through pacman.
Install the Codex CLI separately, then authenticate it:
codex login
codex --versionArtemis launches Codex through its app-server protocol. The composer offers build and plan collaboration modes, model and reasoning controls, and three execution profiles: supervised, auto-accept edits, and full access.
See docs/development.md for the short development workflow, docs/architecture.md for the application structure, and docs/codex-protocol.md for protocol notes.
