Design Philosophy
Developer task tracking is fragmented across browser tabs, sticky notes, and half-finished Notion pages. workctl consolidates it into a single tool with one key constraint: filesystem as database. Every task, log, and command lives in .md files — human-readable, Git-versionable, and zero-migration-forever.
Features
Task Kanban
Open → In Progress → Done board with drag-and-drop in the GUI. Priority sorting, subtask tracking, and stagnation detection built in.
Work Logging
Structured daily logs with sections for assigned work, completed items, notes, and commands run. Auto-generate weekly summaries across a date range.
Claude AI Agent
Embedded agent in both CLI and GUI. Read mode queries your workspace for insights; write mode decomposes goals into subtasks via the Anthropic API tool-use loop.
Command Library
Personal searchable reference for Linux, Docker, Git, and any CLI commands. Reusable workflow templates with per-run execution tracking.
Stack
language
Java 17+
build
Gradle (multi-module)
gui
JavaFX 21
cli
Picocli
markdown
CommonMark
ai
Claude API
Quick Start
# Download release binary (no Java needed)
# https://github.com/Ajay3007/workctl/releases/tag/v2.0.0
workctl init --workspace ~/work
workctl add-task -t "Prepare System Design Board" -p 1
workctl mark 1 # move to Done
workctl gui # launch JavaFX desktop app
Modules
The repo is a Gradle multi-module monorepo:
core/— parsing engine, task models, logs, configscli/— Picocli command-line interface bound to coregui/— JavaFX presentation layeragent/— Claude API interaction and context builder