id: task-100 title: Add embedded web server to Backlog CLI status: Done assignee: [] created_date: '2025-06-22' updated_date: '2025-07-06' labels: [] dependencies: []
Description
Implement a web-based UI for Backlog.md that runs on localhost:3000, providing an HTML interface to view and manage tasks through the browser using React and Tailwind CSS.
Overview
This feature will embed a web server directly into the Backlog CLI executable, allowing users to interact with their tasks through a modern web interface while maintaining the CLI-first approach. The server will be built using Bun's native HTTP server capabilities and will serve a React-based single-page application.
Architecture
Backend
- Bun.serve() for the HTTP server
- RESTful API endpoints that leverage existing Core functions
- Static file serving from embedded assets
Frontend
- React 18 with TypeScript for the UI framework
- Tailwind CSS v4 for modern, accessible styling (see decision-1)
- react-markdown for rendering task descriptions
- Vite as the build tool for development and production
Key Features
- Interactive Kanban Board: Drag-and-drop interface for managing tasks across statuses
- Task Management: Full CRUD operations with modal dialogs
- Search & Filter: Real-time filtering by status, assignee, labels
- Markdown Support: Rich markdown preview and editing
- Responsive Design: Mobile-first approach that works on all devices
- Dark Mode: Built-in theme support via Tailwind CSS dark mode
- Single Executable: Everything bundled into the CLI binary
Benefits
- No external dependencies needed at runtime - everything is bundled
- Works offline - no internet connection required
- Better component management with React's component model
- Modern UI with Tailwind CSS's utility-first styling approach
- Type safety throughout with TypeScript
- Maintainable architecture with clear separation of concerns
- Easy distribution - single executable contains everything
- Rich UI for non-technical users while maintaining CLI-first approach
- Cross-platform - works on Linux, macOS, and Windows
Acceptance Criteria
- [x] Users can run
backlog browserto start web server - [x] Web UI displays all tasks in a Kanban board
- [x] Users can create edit and archive tasks from web UI
- [x] Server is embedded in the CLI executable
- [x] Works on all supported platforms