Skip to content

feat: add steps.json status card with collapsible history#67

Closed
johannesjo wants to merge 3 commits intomainfrom
claude/steps-json-status-card-MBwmF
Closed

feat: add steps.json status card with collapsible history#67
johannesjo wants to merge 3 commits intomainfrom
claude/steps-json-status-card-MBwmF

Conversation

@johannesjo
Copy link
Copy Markdown
Owner

Add a new "Steps tracking" feature that watches .claude/steps.json in each
task's worktree and renders agent progress as a collapsible panel row.

Backend: New file watcher (electron/ipc/steps.ts) monitors the .claude
directory for steps.json changes, with 200ms debounce and initial read on
startup. Three new IPC channels (StepsContent, ReadStepsContent,
StopStepsWatcher) with proper cleanup on task deletion and app quit.

Frontend: New TaskStepsSection component shows latest step expanded with
status badge, summary, detail, files touched, and timestamp. Previous steps
render as a collapsible history list. StatusDot gains a 'review' state
(purple) when the latest step is 'awaiting_review'.

Settings: Global "Steps tracking" toggle (off by default) controls panel
visibility. When enabled, the initial prompt is prepended with instructions
telling the agent to maintain the steps.json file.

Also extracts badgeStyle() to shared src/lib/badgeStyle.ts utility.

https://claude.ai/code/session_01AH4Mv3esftK1SvajXcMJ7p

claude added 3 commits April 11, 2026 17:55
Add a new "Steps tracking" feature that watches .claude/steps.json in each
task's worktree and renders agent progress as a collapsible panel row.

Backend: New file watcher (electron/ipc/steps.ts) monitors the .claude
directory for steps.json changes, with 200ms debounce and initial read on
startup. Three new IPC channels (StepsContent, ReadStepsContent,
StopStepsWatcher) with proper cleanup on task deletion and app quit.

Frontend: New TaskStepsSection component shows latest step expanded with
status badge, summary, detail, files touched, and timestamp. Previous steps
render as a collapsible history list. StatusDot gains a 'review' state
(purple) when the latest step is 'awaiting_review'.

Settings: Global "Steps tracking" toggle (off by default) controls panel
visibility. When enabled, the initial prompt is prepended with instructions
telling the agent to maintain the steps.json file.

Also extracts badgeStyle() to shared src/lib/badgeStyle.ts utility.

https://claude.ai/code/session_01AH4Mv3esftK1SvajXcMJ7p
- Add StopStepsWatcher IPC call in collapseTask() and
  removeTaskFromStore() to prevent FSWatcher leaks
- Remove duplicate StopPlanWatcher call in collapseTask()
- Add stepsFileName to Task type and restore it in both active
  and collapsed task restoration blocks in persistence.ts

https://claude.ai/code/session_01AH4Mv3esftK1SvajXcMJ7p
STATUS_COLORS lookup now falls back to theme.fgMuted for unrecognized
status values, preventing invalid CSS from undefined color strings.

https://claude.ai/code/session_01AH4Mv3esftK1SvajXcMJ7p
@johannesjo johannesjo closed this Apr 13, 2026
@johannesjo johannesjo deleted the claude/steps-json-status-card-MBwmF branch April 13, 2026 15:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants