// PROJECT · 2024

workctl

CLI + GUI workspace manager. Kanban board, work logs, command library, and Claude AI agent — all stored as plain Markdown files. No database, fully Git-versionable.

JavaJavaFX 21GradleClaude APIPicocliMarkdown

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, configs
  • cli/ — Picocli command-line interface bound to core
  • gui/ — JavaFX presentation layer
  • agent/ — Claude API interaction and context builder