mika kuns ef285b21fd feat(planning): run interactive planning sessions via embedded ConPTY
Planning start/resume opened an external Windows Terminal (wt) window.
Route them through the embedded ConPTY Command Center pane instead, matching
the existing interactive-session UX (no external window).

- Extract bare planning arg builders (BuildPlanningStartArgs/ResumeArgs) from
  WindowsTerminalLauncher; the wt path still uses them (kept, not removed).
- InteractiveLaunchSpecService.BuildPlanningStart/Resume map a planning
  context into a LaunchSpec (planning args + env: MAX_THINKING_TOKENS,
  CLAUDEDO_PLANNING_TOKEN). Hub GetPlanningStart/ResumeLaunchSpec run
  StartAsync/ResumeAsync then return the spec.
- UI: OpenPlanningSession + the resume branch raise OpenPlanningConPtyRequested;
  the shell opens Mission Control and hosts a planning ConPTY pane.

Env is process-global by design (sequential human-paced sessions). wt planning
code retained. Tests added for the arg/env mapping.
2026-07-24 12:12:23 +02:00
2026-04-15 14:23:26 +02:00
2026-04-21 15:31:26 +02:00

ClaudeDo

A desktop task management app that executes tasks autonomously via Claude CLI in isolated git worktrees.

Queue up coding tasks, and ClaudeDo picks them up one by one — each running in its own worktree so your main branch stays clean.

Architecture

Two-process system communicating over SignalR:

Project Role
ClaudeDo.App Avalonia desktop entry point, DI container setup
ClaudeDo.Ui Views, ViewModels, SignalR client (MVVM)
ClaudeDo.Data SQLite data layer, repositories, models, GitService
ClaudeDo.Worker ASP.NET Core hosted service, task queue, Claude CLI runner
┌────────────────┐  SignalR    ┌────────────────┐
│  ClaudeDo.App  │◄───────────►│ ClaudeDo.Worker │
│  (Avalonia)    │ 127.0.0.1  │ (ASP.NET Core) │
│                │  :47821     │                │
│  ┌────────────┐│             │ ┌────────────┐ │
│  │    Ui      ││             │ │ TaskQueue  │ │
│  │(ViewModels)││             │ │ Claude CLI │ │
│  └────────────┘│             │ └────────────┘ │
└───────┬────────┘             └───────┬────────┘
        │                              │
        └──────────────┬───────────────┘
                       │
               ┌───────┴───────┐
               │ ClaudeDo.Data │
               │   (SQLite)    │
               └───────────────┘

Tech Stack

  • .NET 8.0
  • Avalonia 12.0.0 (Fluent theme)
  • SQLite (WAL mode) via Entity Framework Core (EF Core + Migrations)
  • SignalR for real-time IPC between UI and Worker
  • CommunityToolkit.Mvvm for source-generated MVVM
  • Git worktrees for task isolation

Prerequisites

Getting Started

# Build
dotnet build src/ClaudeDo.App
dotnet build src/ClaudeDo.Worker

# Run tests
dotnet test tests/ClaudeDo.Worker.Tests

# Run the app
dotnet run --project src/ClaudeDo.App

How It Works

  1. Create a task in the UI and tag it with "agent" to mark it for automated execution.
  2. The Worker picks up queued tasks and runs each one via Claude CLI in an isolated git worktree.
  3. When done, the worktree can be merged, kept for review, or discarded.

Task status flow: Manual | Queued → Running → Done | Failed

Worktree state flow: Active → Merged | Discarded | Kept

Configuration

All data and config lives under ~/.todo-app/:

File Purpose
todo.db SQLite database
ui.config.json UI settings
worker.config.json Worker settings (worktree strategy, etc.)
logs/ Application logs

Project Structure

ClaudeDo.slnx
├── src/
│   ├── ClaudeDo.App/        # Desktop entry point
│   ├── ClaudeDo.Ui/         # Views & ViewModels
│   ├── ClaudeDo.Data/       # Data access layer
│   └── ClaudeDo.Worker/     # Background task runner
├── tests/
│   └── ClaudeDo.Worker.Tests/
├── schema/
│   └── schema.sql           # Database schema
└── docs/
    ├── plan.md              # Architecture & design spec
    ├── open.md              # Verification checklist & backlog
    └── improvement-plan.md  # Prioritized improvements

License

Private — not licensed for redistribution.

S
Description
a todo list and Task orchestrator using claude code CLI
Readme
7.7 MiB
v2.10.0
Latest
2026-08-17 09:46:03 +00:00
Languages
C# 99%
HTML 1%