- Add estimatedHours field to Task type for time tracking/invoicing
- Parse estimated_hours (snake_case) and estimatedHours (camelCase) from frontmatter
- Serialize to snake_case format
- Add --hours flag to CLI create/edit commands
- Add estimatedHours to MCP schema and handlers
- Display estimated hours in TaskCard with clock icon
- Add editable estimatedHours input in TaskDetailsModal
- Fix aggregator showing duplicate projects with different colors
(now deduplicates by project name)
- Add comprehensive test suite for estimatedHours feature
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Create BacklogAggregator server that scans directories for backlog projects
- Add WebSocket support for real-time task updates across all projects
- Implement project color-coding for visual distinction in unified view
- Add React frontend with Kanban board showing aggregated tasks
- Add 'aggregator' CLI command to start the multi-project server
- Create Docker configuration for deployment at backlog.jeffemmett.com
The aggregator watches multiple backlog directories and broadcasts updates
via WebSocket when any task changes, enabling Claude agents to update tasks
and have changes reflect immediately in the unified dashboard.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>