Commit Graph

9 Commits

Author SHA1 Message Date
Jeff Emmett 5775b0d1e8 Fix symlink for Docker: replace with actual file
The symlink was causing ENOENT errors in Docker because symlinks
pointing outside the build context don't work in containers.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-04 02:23:26 -08:00
Jeff Emmett 10ee1094c1 Add inline editing, delete/archive buttons, and Won't Do column to aggregator
- Add delete (×) and archive (↑) hover buttons on task cards
- Add Won't Do as fourth kanban column (grid now 4 columns)
- Implement inline title editing (click to edit, Enter/Escape)
- Add status dropdown for quick status changes
- Add priority dropdown with color-coded display
- Make description editable when card is expanded (Ctrl+Enter to save)
- Add POST /api/tasks/archive endpoint (moves to archive folder)
- Add DELETE /api/tasks/delete endpoint (permanent deletion)
- Enhance PATCH /api/tasks/update to support all fields

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-04 01:44:40 -08:00
Jeff Emmett 6421377c86 Fix double-submit bug in task creation form
- Add isSubmitting flag to prevent duplicate submissions
- Disable submit button and show "Creating..." text while processing
- Re-enable button after completion or error

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-03 21:36:44 -08:00
Jeff Emmett 261c2695ae Add interactive drag-and-drop task management to aggregator
- Add drag-and-drop to move tasks between kanban columns (To Do, In Progress, Done)
- Add "New Task" button with modal form to create tasks
- Add /api/tasks/update PATCH endpoint for status changes
- Add /api/tasks/create POST endpoint for new tasks
- Write changes directly to task markdown files on disk
- Enable read-write mounts in docker-compose for task editing
- Add toast notifications for user feedback
- Optimistic UI updates with error handling

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-03 21:26:29 -08:00
Jeff Emmett 3230156ada Fix WebSocket upgrade by moving / route to fetch handler
Routes in Bun.serve() take precedence over WebSocket upgrade checks.
Move the root path handler to the fetch() function so WebSocket
upgrade requests are processed first.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-03 21:09:20 -08:00
Jeff Emmett a3ad292b81 Use vanilla JS for aggregator frontend (no React bundling needed)
The HTML import with React/TSX doesn't work well in Docker production
builds. Replace with a self-contained HTML file with vanilla JS that
works reliably across all environments.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-03 21:01:56 -08:00
Jeff Emmett 24757f5031 Add polling fallback for Docker file watcher reliability
File watchers (inotify) don't work reliably with Docker bind mounts,
so add 5-second polling as a fallback to ensure task updates are
detected in containerized environments.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-03 20:52:01 -08:00
Jeff Emmett b3e055217d Add multi-project backlog aggregator with real-time updates
- 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>
2025-12-03 20:35:43 -08:00
Jeff Emmett 3e87147f63 Initial commit - fork of Backlog.md with Docker deployment for backlog.jeffemmett.com
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-03 17:57:16 -08:00