- Rename npm packages from @kb/* to @hai/* and update all workspace references - Rename CLI binary from kb to hai and config directory from .kb to .hai - Update dashboard UI branding, titles, and references from kb to hai - Update all test files, CI workflows, and documentation to reflect new naming - Run comprehensive grep verification to ensure no stale kb references remain
142 lines
4.9 KiB
HTML
142 lines
4.9 KiB
HTML
<!doctype html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="UTF-8" />
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
<title>kb | board</title>
|
|
<link rel="stylesheet" href="/style.css" />
|
|
</head>
|
|
<body>
|
|
<header class="header">
|
|
<div class="header-left">
|
|
<h1 class="logo">kb</h1>
|
|
<span class="logo-sub">board</span>
|
|
</div>
|
|
<button class="btn btn-primary" id="add-task-btn">+ New Task</button>
|
|
</header>
|
|
|
|
<main class="board" id="board">
|
|
<div class="column" data-column="triage">
|
|
<div class="column-header">
|
|
<div class="column-dot dot-triage"></div>
|
|
<h2>Triage</h2>
|
|
<span class="column-count" data-count="triage">0</span>
|
|
</div>
|
|
<p class="column-desc">Raw ideas — AI will specify these</p>
|
|
<div class="column-body" data-drop="triage"></div>
|
|
</div>
|
|
<div class="column" data-column="todo">
|
|
<div class="column-header">
|
|
<div class="column-dot dot-todo"></div>
|
|
<h2>Todo</h2>
|
|
<span class="column-count" data-count="todo">0</span>
|
|
</div>
|
|
<p class="column-desc">Specified and ready to start</p>
|
|
<div class="column-body" data-drop="todo"></div>
|
|
</div>
|
|
<div class="column" data-column="in-progress">
|
|
<div class="column-header">
|
|
<div class="column-dot dot-in-progress"></div>
|
|
<h2>In Progress</h2>
|
|
<span class="column-count" data-count="in-progress">0</span>
|
|
</div>
|
|
<p class="column-desc">AI is working in a worktree</p>
|
|
<div class="column-body" data-drop="in-progress"></div>
|
|
</div>
|
|
<div class="column" data-column="in-review">
|
|
<div class="column-header">
|
|
<div class="column-dot dot-in-review"></div>
|
|
<h2>In Review</h2>
|
|
<span class="column-count" data-count="in-review">0</span>
|
|
</div>
|
|
<p class="column-desc">Complete — ready to merge</p>
|
|
<div class="column-body" data-drop="in-review"></div>
|
|
</div>
|
|
<div class="column" data-column="done">
|
|
<div class="column-header">
|
|
<div class="column-dot dot-done"></div>
|
|
<h2>Done</h2>
|
|
<span class="column-count" data-count="done">0</span>
|
|
</div>
|
|
<p class="column-desc">Merged and closed</p>
|
|
<div class="column-body" data-drop="done"></div>
|
|
</div>
|
|
</main>
|
|
|
|
<!-- Create Task Modal -->
|
|
<div class="modal-overlay" id="create-modal">
|
|
<div class="modal">
|
|
<div class="modal-header">
|
|
<h3>New Task</h3>
|
|
<button class="modal-close" data-close="create-modal">×</button>
|
|
</div>
|
|
<form id="create-form">
|
|
<div class="form-group">
|
|
<label for="task-title">Title</label>
|
|
<input
|
|
type="text"
|
|
id="task-title"
|
|
placeholder="What needs to be done?"
|
|
required
|
|
autofocus
|
|
/>
|
|
</div>
|
|
<div class="form-group">
|
|
<label for="task-desc"
|
|
>Description <span class="optional">(optional)</span></label
|
|
>
|
|
<textarea
|
|
id="task-desc"
|
|
rows="4"
|
|
placeholder="Add context, requirements, or rough notes..."
|
|
></textarea>
|
|
</div>
|
|
<div class="form-group">
|
|
<label for="task-deps"
|
|
>Dependencies
|
|
<span class="optional">(comma-separated IDs)</span></label
|
|
>
|
|
<input type="text" id="task-deps" placeholder="KB-001, KB-002" />
|
|
</div>
|
|
<div class="modal-actions">
|
|
<button type="button" class="btn" data-close="create-modal">
|
|
Cancel
|
|
</button>
|
|
<button type="submit" class="btn btn-primary">
|
|
Create in Triage
|
|
</button>
|
|
</div>
|
|
</form>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Task Detail Modal -->
|
|
<div class="modal-overlay" id="detail-modal">
|
|
<div class="modal modal-lg">
|
|
<div class="modal-header">
|
|
<div class="detail-title-row">
|
|
<span class="detail-id" id="detail-id"></span>
|
|
<span class="detail-column-badge" id="detail-column"></span>
|
|
</div>
|
|
<button class="modal-close" data-close="detail-modal">×</button>
|
|
</div>
|
|
<div class="detail-body">
|
|
<h2 id="detail-title" class="detail-title"></h2>
|
|
<div class="detail-meta" id="detail-meta"></div>
|
|
<div class="detail-section">
|
|
<h4>PROMPT.md</h4>
|
|
<pre class="detail-prompt" id="detail-prompt"></pre>
|
|
</div>
|
|
<div class="detail-deps" id="detail-deps"></div>
|
|
</div>
|
|
<div class="modal-actions" id="detail-actions"></div>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Toast notifications -->
|
|
<div class="toast-container" id="toasts"></div>
|
|
|
|
<script src="/board.js"></script>
|
|
</body>
|
|
</html>
|