A powerful KDE6/Qt6 native desktop client written in C++ for tracking and managing Jules tasks and background processing sessions. kjules gives you a fast, native desktop experience for interacting with your Jules workflow.
When you click on a notification or open the application, it presents you with a comprehensive desktop-native version of:
- Drafts (unsubmitted)
- Queue (processing)
- Errors (failed, pending retry)
- Following (active managed sessions)
- Archive (history)
- Templates
- Robust Session Management: Manage tasks across an explicit state-based workflow including Drafts (unsubmitted), Queue (processing), Errors (failed, pending retry), Following (active managed sessions), and Archive (history).
- Detailed Session Views: Dive deep into session details, view PR statuses and labels, track diffs, and read the JSON activity feed.
- Advanced Filtering: Powerful built-in filtering using a drag-and-drop AST (Abstract Syntax Tree) visual filter editor.
- System Tray Integration: Runs efficiently in the background, utilizing KDE's
KNotificationto deliver non-intrusive alerts for queue errors and completion events. - Mock API Support: Includes an interactive Go-based mock API server for local testing and realistic state simulation without consuming real Jules API quotas.
- Robust Session Management: Manage tasks across an explicit state-based workflow including Drafts (unsubmitted), Queue (processing), Errors (failed, pending retry), Following (active managed sessions), and Archive (history).
- Detailed Session Views: Dive deep into session details, view PR statuses and labels, track diffs, and read the JSON activity feed.
- Advanced Filtering: Powerful built-in filtering using a drag-and-drop AST (Abstract Syntax Tree) visual filter editor.
- System Tray Integration: Runs efficiently in the background, utilizing KDE's
KNotificationto deliver non-intrusive alerts for queue errors and completion events. - Mock API Support: Includes an interactive Go-based mock API server for local testing and realistic state simulation without consuming real GitHub API quotas.
- C++ Compiler (C++17 support required)
- CMake (version 3.16 or higher)
- Qt 6 & KDE Frameworks 6 libraries
On Ubuntu/Debian, install the required dependencies:
sudo apt-get update && sudo apt-get install -y extra-cmake-modules qt6-base-dev qt6-tools-dev libkf6coreaddons-dev libkf6i18n-dev libkf6wallet-dev libkf6notifications-dev libkf6xmlgui-dev libkf6config-dev libkf6widgetsaddons-dev libkf6globalaccel-dev libkf6archive-dev-
Clone the repository:
git clone https://github.com/yourusername/kjules.git cd kjules -
Create a build directory:
mkdir build cd build -
Configure and build the project:
cmake .. cmake --build .Optional: If you are doing local development, you can use the
-DDEV_MODE=ONflag (e.g.,cmake .. -DDEV_MODE=ON). This will automatically sandbox the application's runtime data (XDG dirs, AppData) within the project directory as.jules-dev-data/, preventing it from interfering with your normal system-wide configuration. This is highly recommended for IDE usage. -
Run the application:
./kjules
This project is licensed under the BSD 3-Clause License - see the LICENSE file for details.