mirror of
https://github.com/Kilo-Org/kilocode.git
synced 2026-09-24 16:02:55 +08:00
docs(kilo-docs): list all 21 mayor tools in the Mayor page
Replace the abbreviated 6-tool table with the complete list of all 21 gt_* tools grouped by category: Work Creation, Convoy Management, Bead Management, Agent Management, and Town & UI.
This commit is contained in:
@@ -83,7 +83,7 @@ const nodes: Node[] = [
|
||||
position: { x: 240, y: 220 },
|
||||
data: { label: "Polecat revises" },
|
||||
sourcePosition: "right" as Position,
|
||||
targetPosition: "left" as Position,
|
||||
targetPosition: "top" as Position,
|
||||
style: {
|
||||
...baseStyle,
|
||||
background: "rgba(59,130,246,0.1)",
|
||||
|
||||
@@ -12,14 +12,16 @@ const nodeBase = {
|
||||
textAlign: "center" as const,
|
||||
minWidth: "120px",
|
||||
},
|
||||
}
|
||||
} as const satisfies Pick<Node, "style">
|
||||
|
||||
const nodes: Node[] = [
|
||||
const nodes = [
|
||||
{
|
||||
id: "open",
|
||||
position: { x: 0, y: 100 },
|
||||
position: { x: 0, y: 120 },
|
||||
data: { label: "open" },
|
||||
sourcePosition: "top" as Position,
|
||||
// not sure why, but using Position.Top results in everything breaking at runtime
|
||||
// we just settle for casing as Position instead
|
||||
sourcePosition: "right" as Position,
|
||||
targetPosition: "top" as Position,
|
||||
style: {
|
||||
...nodeBase.style,
|
||||
@@ -30,9 +32,9 @@ const nodes: Node[] = [
|
||||
},
|
||||
{
|
||||
id: "in_progress",
|
||||
position: { x: 200, y: 100 },
|
||||
position: { x: 200, y: 120 },
|
||||
data: { label: "in_progress" },
|
||||
sourcePosition: "top" as Position,
|
||||
sourcePosition: "right" as Position,
|
||||
targetPosition: "top" as Position,
|
||||
style: {
|
||||
...nodeBase.style,
|
||||
@@ -43,9 +45,9 @@ const nodes: Node[] = [
|
||||
},
|
||||
{
|
||||
id: "in_review",
|
||||
position: { x: 420, y: 100 },
|
||||
position: { x: 420, y: 120 },
|
||||
data: { label: "in_review" },
|
||||
sourcePosition: "top" as Position,
|
||||
sourcePosition: "right" as Position,
|
||||
targetPosition: "top" as Position,
|
||||
style: {
|
||||
...nodeBase.style,
|
||||
@@ -56,7 +58,7 @@ const nodes: Node[] = [
|
||||
},
|
||||
{
|
||||
id: "closed",
|
||||
position: { x: 640, y: 100 },
|
||||
position: { x: 640, y: 120 },
|
||||
data: { label: "closed" },
|
||||
sourcePosition: "top" as Position,
|
||||
targetPosition: "top" as Position,
|
||||
@@ -69,7 +71,7 @@ const nodes: Node[] = [
|
||||
},
|
||||
{
|
||||
id: "failed",
|
||||
position: { x: 310, y: 240 },
|
||||
position: { x: 310, y: 280 },
|
||||
data: { label: "failed" },
|
||||
sourcePosition: "top" as Position,
|
||||
targetPosition: "top" as Position,
|
||||
@@ -80,14 +82,14 @@ const nodes: Node[] = [
|
||||
color: "#ef4444",
|
||||
},
|
||||
},
|
||||
]
|
||||
] as const satisfies Node[]
|
||||
|
||||
const edgeBase = {
|
||||
style: { strokeWidth: 2 },
|
||||
animated: true,
|
||||
}
|
||||
|
||||
const edges: Edge[] = [
|
||||
const edges = [
|
||||
{
|
||||
id: "open-progress",
|
||||
source: "open",
|
||||
@@ -104,7 +106,7 @@ const edges: Edge[] = [
|
||||
target: "in_review",
|
||||
type: "smoothstep",
|
||||
label: "work complete",
|
||||
labelStyle: { fontSize: 10, fontFamily: "'JetBrains Mono', monospace", fill: "#888" },
|
||||
labelStyle: { fontSize: 10, fontFamily: "'JetBrains Mono', monospace", fill: "#888", zIndex: 10 },
|
||||
...edgeBase,
|
||||
style: { ...edgeBase.style, stroke: "#fbbf24" },
|
||||
},
|
||||
@@ -118,28 +120,20 @@ const edges: Edge[] = [
|
||||
...edgeBase,
|
||||
style: { ...edgeBase.style, stroke: "#8b5cf6" },
|
||||
},
|
||||
{
|
||||
id: "review-open",
|
||||
source: "in_review",
|
||||
target: "open",
|
||||
type: "smoothstep",
|
||||
label: "review rejected",
|
||||
labelStyle: { fontSize: 10, fontFamily: "'JetBrains Mono', monospace", fill: "#888" },
|
||||
style: { strokeWidth: 2, stroke: "#f97316", strokeDasharray: "5 3" },
|
||||
},
|
||||
{
|
||||
id: "progress-failed",
|
||||
source: "in_progress",
|
||||
target: "failed",
|
||||
type: "smoothstep",
|
||||
label: "max retries",
|
||||
labelStyle: { fontSize: 10, fontFamily: "'JetBrains Mono', monospace", fill: "#888" },
|
||||
style: { strokeWidth: 2, stroke: "#ef4444", strokeDasharray: "5 3" },
|
||||
labelStyle: { fontSize: 10, fontFamily: "'JetBrains Mono', monospace", fill: "#888", marginTop: "100px" },
|
||||
...edgeBase,
|
||||
style: { ...edgeBase.style, strokeWidth: 2, stroke: "#ef4444", strokeDasharray: "5 3" },
|
||||
},
|
||||
]
|
||||
] as const satisfies Edge[]
|
||||
|
||||
export const beadLifecycle: DiagramDefinition = {
|
||||
export const beadLifecycle = {
|
||||
nodes,
|
||||
edges,
|
||||
caption: "The bead lifecycle — from open to closed, with adversarial review in between",
|
||||
}
|
||||
} as const satisfies DiagramDefinition
|
||||
|
||||
@@ -24,13 +24,13 @@ const nodes: Node[] = [
|
||||
id: "bead1",
|
||||
position: { x: 0, y: 0 },
|
||||
data: { label: "1. Explore codebase" },
|
||||
sourcePosition: "right" as Position,
|
||||
sourcePosition: "bottom" as Position,
|
||||
targetPosition: "left" as Position,
|
||||
style: { ...stageStyle(closedColor), color: "#8b5cf6" },
|
||||
},
|
||||
{
|
||||
id: "review1",
|
||||
position: { x: 0, y: 70 },
|
||||
position: { x: 0, y: 100 },
|
||||
data: { label: "✓ reviewed" },
|
||||
sourcePosition: "right" as Position,
|
||||
targetPosition: "top" as Position,
|
||||
@@ -40,13 +40,13 @@ const nodes: Node[] = [
|
||||
id: "bead2",
|
||||
position: { x: 200, y: 0 },
|
||||
data: { label: "2. Design schema" },
|
||||
sourcePosition: "right" as Position,
|
||||
sourcePosition: "bottom" as Position,
|
||||
targetPosition: "left" as Position,
|
||||
style: { ...stageStyle(closedColor), color: "#8b5cf6" },
|
||||
},
|
||||
{
|
||||
id: "review2",
|
||||
position: { x: 200, y: 70 },
|
||||
position: { x: 200, y: 100 },
|
||||
data: { label: "✓ reviewed" },
|
||||
sourcePosition: "right" as Position,
|
||||
targetPosition: "top" as Position,
|
||||
@@ -56,13 +56,13 @@ const nodes: Node[] = [
|
||||
id: "bead3",
|
||||
position: { x: 400, y: 0 },
|
||||
data: { label: "3. Implement API" },
|
||||
sourcePosition: "right" as Position,
|
||||
sourcePosition: "bottom" as Position,
|
||||
targetPosition: "left" as Position,
|
||||
style: { ...stageStyle(activeColor), color: "#3b82f6" },
|
||||
},
|
||||
{
|
||||
id: "review3",
|
||||
position: { x: 400, y: 70 },
|
||||
position: { x: 400, y: 100 },
|
||||
data: { label: "⟳ in review" },
|
||||
sourcePosition: "right" as Position,
|
||||
targetPosition: "top" as Position,
|
||||
@@ -72,7 +72,7 @@ const nodes: Node[] = [
|
||||
id: "bead4",
|
||||
position: { x: 600, y: 0 },
|
||||
data: { label: "4. Write tests" },
|
||||
sourcePosition: "right" as Position,
|
||||
sourcePosition: "bottom" as Position,
|
||||
targetPosition: "left" as Position,
|
||||
style: { ...stageStyle(pendingColor), color: "#666", opacity: 0.6 },
|
||||
},
|
||||
|
||||
@@ -63,16 +63,53 @@ The Mayor can modify town settings on your behalf through natural language.
|
||||
|
||||
## Mayor Tools
|
||||
|
||||
The Mayor has access to specialized tools for town management:
|
||||
The Mayor has access to 21 specialized tools for town management:
|
||||
|
||||
### Work Creation
|
||||
|
||||
| Tool | What it does |
|
||||
|---|---|
|
||||
| `gt_sling` | Create a bead or convoy |
|
||||
| `gt_convoy_close` | Force-close a stuck convoy |
|
||||
| `gt_agent_reset` | Reset a stuck agent |
|
||||
| `gt_bead_delete` | Delete beads (single or bulk) |
|
||||
| `gt_report_bug` | File a bug report about town behavior |
|
||||
| `gt_done` | Mark work as complete |
|
||||
| `gt_sling` | Delegate a single task to a polecat agent in a specific rig |
|
||||
| `gt_sling_batch` | Create a multi-bead convoy with dependency ordering, merge mode, and staging options |
|
||||
|
||||
### Convoy Management
|
||||
|
||||
| Tool | What it does |
|
||||
|---|---|
|
||||
| `gt_convoy_status` | Show detailed status of a convoy — each bead's progress and assignee |
|
||||
| `gt_convoy_start` | Start a staged convoy — begin agent dispatch |
|
||||
| `gt_convoy_close` | Force-close a convoy and optionally its tracked beads |
|
||||
| `gt_convoy_update` | Edit convoy metadata (merge mode, feature branch) |
|
||||
| `gt_convoy_add_bead` | Add an existing bead to a convoy's tracking |
|
||||
| `gt_convoy_remove_bead` | Remove a bead from a convoy |
|
||||
| `gt_list_convoys` | List active convoys with progress counts |
|
||||
|
||||
### Bead Management
|
||||
|
||||
| Tool | What it does |
|
||||
|---|---|
|
||||
| `gt_bead_update` | Edit a bead's status, title, body, priority, labels, or dependencies |
|
||||
| `gt_bead_reassign` | Reassign a bead to a different agent |
|
||||
| `gt_bead_delete` | Delete one or more beads (supports bulk — up to 5000) |
|
||||
| `gt_list_beads` | List beads in a rig, filterable by status and type |
|
||||
|
||||
### Agent Management
|
||||
|
||||
| Tool | What it does |
|
||||
|---|---|
|
||||
| `gt_agent_reset` | Force-reset an agent to idle, unhooking it from any bead |
|
||||
| `gt_nudge` | Send a real-time nudge to a polecat (immediate, wait-idle, or queued) |
|
||||
| `gt_list_agents` | List all agents in a rig with their roles and status |
|
||||
| `gt_mail_send` | Send a persistent mail message to any agent in any rig |
|
||||
|
||||
### Town & UI
|
||||
|
||||
| Tool | What it does |
|
||||
|---|---|
|
||||
| `gt_list_rigs` | List all rigs (repositories) in the town |
|
||||
| `gt_ui_action` | Trigger UI actions — open drawers, navigate pages, highlight items |
|
||||
| `gt_escalation_acknowledge` | Acknowledge an escalation as reviewed |
|
||||
| `gt_report_bug` | File a bug report on the Gastown GitHub repo (checks for duplicates first) |
|
||||
|
||||
These tools are used automatically when you make requests — you don't need to invoke them directly.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user