feat(ui): TodoList & PlanMode - Bessere Erfassung und Darstellung #260
Labels
No labels
good first issue
has-pr
help wanted
idea
priority
critical
priority
high
priority
low
priority
medium
status
blocked
status
in-progress
status
needs-review
status
ready
type
bug
type
docs
type
enhancement
type
feature
type
refactor
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
customable/claude-mem#260
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Übersicht
Implementierung einer verbesserten TodoList- und PlanMode-Darstellung im UI, inklusive besserer Datenerfassung von CLI-Tools (Claude Code und zukünftig andere).
Recherche-Ergebnisse
Aktueller Stand
Datenstrukturen:
observationsTabelle mit Typentaskundplanexistiert bereitsObservationLinkTabelle existiert für Verknüpfungen (depends_on, blocks, etc.)UI:
ph--check-square(task),ph--list-checks(plan)Datenerfassung von Claude Code:
subagent-start/subagent-stopEvents werden erfasstVerfügbare Claude Code Hook-Events
SubagentStopPostToolUseStopPreToolUseHook Input enthält:
Wichtig:
permission_mode: "plan"zeigt PlanMode an!Anforderungen
1. CLI-Agnostisches Design
Kritisch: System muss unabhängig von Claude Code funktionieren.
Generische Task-Entity:
2. Erweiterte Datenerfassung (Claude Code)
Neue Hook-Handler:
PreToolUsefürTaskCreate- Erfasst Task-Beschreibung und ParameterPostToolUsefürTaskUpdate- Erfasst Status-Änderungenpermission_modeauswerten für PlanMode-ErkennungZu erfassende Daten:
3. UI-Komponenten
Dedizierter Tasks-View mit zwei Modi:
Liste-Ansicht
Kanban-Ansicht
4. UI/UX Best Practices (2026)
Basierend auf aktuellen Design-Trends:
Technische Umsetzung
Phase 1: Datenmodell & API
packages/databaseerstellen (oder Observation erweitern)/api/tasks/*Phase 2: Claude Code Adapter
PreToolUseHandler für TaskCreate/TaskUpdatepermission_modePhase 3: UI Implementation
Phase 4: Erweiterungen
Referenzen
Abhängigkeiten
Ergänzende Recherche: Claude Code Hook-Strukturen & Andere CLIs
Claude Code SubagentStart Input (Offizielle Docs)
Wichtige Felder:
agent_id- Eindeutige ID des Subagentsagent_type- Typ:"Bash","Explore","Plan", oder Custom Agent Namespermission_mode- Zeigt aktuellen Modus:"default","plan","acceptEdits","dontAsk","bypassPermissions"SubagentStop Input
Wichtig:
agent_transcript_pathenthält das vollständige Transkript des Subagents - daraus könnten Task-Details extrahiert werden!Vergleich: Wie andere CLIs Tasks/Plans implementieren
1. Cursor AI - Plan Mode
Quelle: Cursor Plan Mode, Cursor Docs
Aktivierung:
Shift + Tabim Agent InputFeatures:
Multi-Agent-Ansatz (2026):
Todo2 Extension:
2. Aider - Architect Mode
Quelle: Aider Review, AiderDesk
Chat Modes:
/mode code- Default, direkte Code-Änderungen/mode architect- Planung, Design-Patterns, ArchitekturGit-Integration:
AiderDesk (GUI Wrapper) - Task Lifecycle:
Features:
3. GitHub Copilot Workspace
Quelle: GitHub Next, GitHub Docs
Workflow:
UI-Konzept:
Plan Mode (Public Preview):
Performance: GPT-5 und Claude Sonnet 4 zeigten ~15% bessere Erfolgsrate mit Planning Workflow
Erkenntnisse für claude-mem
Was wir übernehmen sollten:
Datenerfassung erweitern:
agent_transcript_pathparsen - Enthält vollständiges Task-Transkriptpermission_mode: "plan"tracken - PlanMode-Sessions markierenagent_typenutzen - Unterscheidung Explore/Plan/Bash/CustomCLI-Agnostisches Schema:
Referenzen
Ergänzende Recherche: Subagents & Custom Agents
Claude Code Built-in Subagents
/statuslineKonfigurationQuelle: Claude Code Subagents Docs
Explore Agent Details
quick|medium|very thoroughCustom Subagent Erstellung
Speicherorte (Priorität):
--agentsCLI Flag.claude/agents/~/.claude/agents/agents/Subagent Markdown-Format:
Verfügbare Frontmatter-Felder
namedescriptiontoolsdisallowedToolsmodelsonnet,opus,haiku,inheritpermissionModeskillshooksHook-Events für Subagents
In Subagent Frontmatter:
PreToolUse- Vor Tool-NutzungPostToolUse- Nach Tool-NutzungStop- Wenn Subagent fertigIn settings.json (Main Session):
SubagentStart- Subagent startet (mitmatcherfür Agent-Name)SubagentStop- Subagent beendetSubagent Transcripts
Wichtig für uns: Diese Transcripts enthalten das KOMPLETTE Subagent-Gespräch!
CLI-Agnostisches Agent-Tracking
Generisches Agent-Modell
Mapping für verschiedene CLIs
Datenerfassung erweitern
Für Claude Code:
agent_transcript_pathenthält JSONL mit allen Tool-CallsFür andere CLIs (Adapter-Pattern):
UI-Anforderungen für Agent-Tracking
Agent-Übersicht
Agent-Execution Timeline
Referenzen
Design-Constraint: WebUI greift nicht in CLI ein
Grundregel
Der User darf über das WebUI NICHT in CLI-Prozesse eingreifen:
Warum?
Tasks, Plans und Agents sind CLI-Events - sie werden ausschließlich durch Hooks erfasst und aktualisiert. Das WebUI ist eine Monitoring-Ansicht, kein Task-Management-Tool.
UI-Konsequenzen
Kanban-Board:
Task-Liste:
Task-Detail:
Zusammenfassung: Das WebUI zeigt Tasks/Plans/Agents an, ändert sie aber nie. Alle Änderungen kommen ausschließlich von CLI-Hooks.
Implementation Complete ✅
Nach einer umfassenden Exploration zeigt sich, dass dieses Feature bereits vollständig implementiert ist:
Implementierte Komponenten
packages/database/src/entities/UserTask.tspackages/database/src/repositories/UserTaskRepository.ts/api/hooks/user-task/*user-task:created,user-task:updatedpackages/hooks/src/handlers/post-tool-use.tspackages/hooks/src/handlers/post-tool-use.tspackages/ui/src/views/UserTasks.tsxClaude Code Limitationen
Folgende Punkte sind nicht umsetzbar (keine Claude Code API):
PreToolUseHook existiert nicht in Claude Codepermission_modeDetection nicht Teil der Standard Hook APIPhase 4 (Optional)
Die erweiterten Features (Bulk-Ops, Templates, Recurring, Notifications) können bei Bedarf als separate Issues erstellt werden.
Closing as implemented.