mirror of
https://github.com/leonvanzyl/autocoder.git
synced 2026-02-02 23:33:35 +00:00
183 lines
7.7 KiB
TypeScript
183 lines
7.7 KiB
TypeScript
/**
|
|
* FeaturesKanban Documentation Section
|
|
*
|
|
* Covers the Kanban board, feature cards, dependency graph view,
|
|
* adding/editing features, dependencies, expanding with AI,
|
|
* and priority ordering.
|
|
*/
|
|
|
|
import { Badge } from '@/components/ui/badge'
|
|
|
|
export function FeaturesKanban() {
|
|
return (
|
|
<div>
|
|
{/* Kanban Board Overview */}
|
|
<h3 id="kanban-overview" className="text-lg font-semibold text-foreground mt-8 mb-3">
|
|
Kanban Board Overview
|
|
</h3>
|
|
<p className="text-muted-foreground mb-3">
|
|
The main view organizes features into three columns representing their current status:
|
|
</p>
|
|
<table className="w-full text-sm mt-3 mb-4">
|
|
<thead>
|
|
<tr className="bg-muted/50">
|
|
<th className="border border-border px-3 py-2 text-left font-medium text-foreground">
|
|
Column
|
|
</th>
|
|
<th className="border border-border px-3 py-2 text-left font-medium text-foreground">
|
|
Color
|
|
</th>
|
|
<th className="border border-border px-3 py-2 text-left font-medium text-foreground">
|
|
Meaning
|
|
</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody className="text-muted-foreground">
|
|
<tr>
|
|
<td className="border border-border px-3 py-2 font-medium">Pending</td>
|
|
<td className="border border-border px-3 py-2">
|
|
<Badge variant="outline" className="border-yellow-500 text-yellow-600">Yellow</Badge>
|
|
</td>
|
|
<td className="border border-border px-3 py-2">Waiting to be picked up</td>
|
|
</tr>
|
|
<tr>
|
|
<td className="border border-border px-3 py-2 font-medium">In Progress</td>
|
|
<td className="border border-border px-3 py-2">
|
|
<Badge variant="outline" className="border-cyan-500 text-cyan-600">Cyan</Badge>
|
|
</td>
|
|
<td className="border border-border px-3 py-2">An agent is actively working on it</td>
|
|
</tr>
|
|
<tr>
|
|
<td className="border border-border px-3 py-2 font-medium">Done</td>
|
|
<td className="border border-border px-3 py-2">
|
|
<Badge variant="outline" className="border-green-500 text-green-600">Green</Badge>
|
|
</td>
|
|
<td className="border border-border px-3 py-2">Implemented and passing</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
<p className="text-muted-foreground">
|
|
Each feature appears as a card showing its name, priority, and category. The board updates
|
|
in real time as agents work.
|
|
</p>
|
|
|
|
{/* Feature Cards */}
|
|
<h3 id="feature-cards" className="text-lg font-semibold text-foreground mt-8 mb-3">
|
|
Feature Cards
|
|
</h3>
|
|
<ul className="list-disc space-y-2 ml-4 text-muted-foreground">
|
|
<li>
|
|
Each card displays a priority badge (<Badge variant="secondary">P1</Badge> through{' '}
|
|
<Badge variant="secondary">P5</Badge>), a category tag, and the feature name
|
|
</li>
|
|
<li>Status icons indicate the current state of the feature</li>
|
|
<li>Click a card to open the detail modal with the full description and test steps</li>
|
|
<li>
|
|
Cards in the "In Progress" column show which agent is currently working on them
|
|
</li>
|
|
</ul>
|
|
|
|
{/* Dependency Graph View */}
|
|
<h3 id="dependency-graph" className="text-lg font-semibold text-foreground mt-8 mb-3">
|
|
Dependency Graph View
|
|
</h3>
|
|
<p className="text-muted-foreground mb-3">
|
|
An alternative to the Kanban board that visualizes feature relationships as a directed graph.
|
|
</p>
|
|
<ul className="list-disc space-y-2 ml-4 text-muted-foreground">
|
|
<li>
|
|
Press <Badge variant="secondary">G</Badge> to toggle between Kanban and Graph view
|
|
</li>
|
|
<li>Uses the dagre layout engine for automatic node positioning</li>
|
|
<li>
|
|
Nodes are colored by status — pending, in-progress, and done each have
|
|
distinct colors
|
|
</li>
|
|
<li>Arrows show dependency relationships between features</li>
|
|
<li>Click any node to open the feature detail modal</li>
|
|
<li>Supports both horizontal and vertical layout orientations</li>
|
|
</ul>
|
|
|
|
{/* Adding Features */}
|
|
<h3 id="adding-features" className="text-lg font-semibold text-foreground mt-8 mb-3">
|
|
Adding Features
|
|
</h3>
|
|
<ul className="list-disc space-y-2 ml-4 text-muted-foreground">
|
|
<li>
|
|
Press <Badge variant="secondary">N</Badge> to open the Add Feature form
|
|
</li>
|
|
<li>Fill in: name, description, category, and priority</li>
|
|
<li>Optionally define steps (test criteria the agent must pass to complete the feature)</li>
|
|
<li>New features are added to the Pending column immediately</li>
|
|
</ul>
|
|
|
|
{/* Editing & Deleting Features */}
|
|
<h3 id="editing-features" className="text-lg font-semibold text-foreground mt-8 mb-3">
|
|
Editing & Deleting Features
|
|
</h3>
|
|
<ul className="list-disc space-y-2 ml-4 text-muted-foreground">
|
|
<li>Click a feature card to open the detail modal</li>
|
|
<li>
|
|
Click <strong className="text-foreground">Edit</strong> to modify the name, description,
|
|
category, priority, or steps
|
|
</li>
|
|
<li>
|
|
<strong className="text-foreground">Delete</strong> removes the feature permanently
|
|
</li>
|
|
<li>
|
|
<strong className="text-foreground">Skip</strong> moves a feature to the end of the queue
|
|
without deleting it
|
|
</li>
|
|
</ul>
|
|
|
|
{/* Feature Dependencies */}
|
|
<h3 id="feature-dependencies" className="text-lg font-semibold text-foreground mt-8 mb-3">
|
|
Feature Dependencies
|
|
</h3>
|
|
<p className="text-muted-foreground mb-3">
|
|
Features can declare dependencies on other features, ensuring they are implemented in the
|
|
correct order.
|
|
</p>
|
|
<ul className="list-disc space-y-2 ml-4 text-muted-foreground">
|
|
<li>Set dependencies in the feature edit modal</li>
|
|
<li>
|
|
Cycle detection prevents circular dependencies (uses Kahn's algorithm combined
|
|
with DFS)
|
|
</li>
|
|
<li>
|
|
Blocked features display a lock icon and cannot be claimed by agents until their
|
|
dependencies are met
|
|
</li>
|
|
<li>The Dependency Graph view makes these relationships easy to visualize</li>
|
|
</ul>
|
|
|
|
{/* Expanding Project with AI */}
|
|
<h3 id="expanding-with-ai" className="text-lg font-semibold text-foreground mt-8 mb-3">
|
|
Expanding Project with AI
|
|
</h3>
|
|
<ul className="list-disc space-y-2 ml-4 text-muted-foreground">
|
|
<li>
|
|
Press <Badge variant="secondary">E</Badge> to open the Expand Project modal
|
|
</li>
|
|
<li>Chat with Claude to describe the new features you want to add</li>
|
|
<li>Supports image attachments for UI mockups or design references</li>
|
|
<li>Claude creates properly structured features with appropriate dependencies</li>
|
|
<li>New features appear on the board immediately after creation</li>
|
|
</ul>
|
|
|
|
{/* Priority & Ordering */}
|
|
<h3 id="feature-priority" className="text-lg font-semibold text-foreground mt-8 mb-3">
|
|
Priority & Ordering
|
|
</h3>
|
|
<ul className="list-disc space-y-2 ml-4 text-muted-foreground">
|
|
<li>
|
|
Features are ordered by priority: <Badge variant="secondary">P1</Badge> is the highest
|
|
and <Badge variant="secondary">P5</Badge> is the lowest
|
|
</li>
|
|
<li>Within the same priority level, features are ordered by creation time</li>
|
|
<li>Agents always pick up the highest-priority ready feature first</li>
|
|
</ul>
|
|
</div>
|
|
)
|
|
}
|