- Add @vitest/coverage-v8 to all workspace packages - Configure vitest coverage settings in all vitest.config.ts files - Align vitest versions across packages for consistency - Add 'test:coverage' script to root package.json - Verify all tests pass with coverage reporting enabled
@kb/dashboard
Web-based dashboard for managing kb tasks. Provides a visual kanban board, list view, and git repository management tools.
Features
Task Management
- Kanban Board: Drag-and-drop task management across columns (Triage, Todo, In Progress, In Review, Done)
- Inline Editing: Quick-edit task title and description directly on the board for Triage and Todo columns. Double-click a card or use the pencil icon that appears on hover.
- List View: Alternative tabular view for tasks with sorting and filtering
- Task Details: View full task specifications, agent logs, and attachments
- GitHub Import: Import issues directly from GitHub repositories
- PR Management: Create and track pull requests for in-review tasks
Git Manager
The Git Manager provides comprehensive repository visualization and management directly from the web UI. Access it via the Git Branch icon in the header.
Status Tab: View current repository state including:
- Current branch name and commit hash
- Working directory status (clean/dirty)
- Ahead/behind counts relative to remote
Commits Tab: Browse recent commits with:
- Commit list with message, author, and date
- Expandable diff view for each commit
- Pagination support (load more commits)
Branches Tab: Manage local branches:
- List all branches with current indicator
- Create new branches with optional base
- Checkout existing branches
- Delete branches (with confirmation)
Worktrees Tab: Visualize worktree layout:
- List all worktrees with paths
- See which tasks own which worktrees
- Identify main vs linked worktrees
- Track free/used worktree count
Remotes Tab: Perform remote operations:
- Fetch from origin
- Pull latest changes
- Push current branch
- View operation results and error states
Configuration
- Settings Modal: Configure scheduling, worktrees, build commands, merge preferences
- Authentication: OAuth provider management for AI model access
- Pause Controls: Soft pause (stop new work) and hard stop (kill all agents)
Development
# Install dependencies
pnpm install
# Run tests
pnpm test
# Build for production
pnpm build
# Start development server
pnpm dev
API Endpoints
The dashboard server exposes a REST API at /api:
Tasks
GET /api/tasks- List all tasksGET /api/tasks/:id- Get task detailsPOST /api/tasks- Create new taskPATCH /api/tasks/:id- Update taskPOST /api/tasks/:id/move- Move task to columnPOST /api/tasks/:id/pause- Pause taskPOST /api/tasks/:id/unpause- Unpause taskDELETE /api/tasks/:id- Delete task
Git Operations
GET /api/git/status- Current branch and statusGET /api/git/commits- Recent commits (with optional?limit=)GET /api/git/commits/:hash/diff- Commit diffGET /api/git/branches- List branchesGET /api/git/worktrees- List worktrees with task associationsPOST /api/git/branches- Create branch ({ name, base? })POST /api/git/branches/:name/checkout- Checkout branchDELETE /api/git/branches/:name- Delete branch (?force=true)POST /api/git/fetch- Fetch from remote ({ remote? })POST /api/git/pull- Pull current branchPOST /api/git/push- Push current branch
GitHub Integration
GET /api/git/remotes- List GitHub remotesPOST /api/github/issues/fetch- Fetch issues ({ owner, repo, limit?, labels? })POST /api/github/issues/import- Import issue ({ owner, repo, issueNumber })POST /api/tasks/:id/pr/create- Create PRGET /api/tasks/:id/pr/status- Get PR statusPOST /api/tasks/:id/pr/refresh- Refresh PR status
Configuration
GET /api/config- Server configurationGET /api/settings- User settingsPUT /api/settings- Update settingsGET /api/models- Available AI modelsGET /api/auth/status- OAuth provider statusPOST /api/auth/login- Initiate OAuth loginPOST /api/auth/logout- Logout from provider
Architecture
- Frontend: React + Vite, TypeScript, CSS custom properties for theming
- Backend: Express server with REST API and Server-Sent Events (SSE) for live updates
- State Management: Custom hooks with EventSource for real-time task updates
- Git Integration: Server-side git command execution with validation