Index

KanbanPrompts

MMO\client\classes · 1 symbol · generated 5 Oct 2026

class

KanbanPrompts

KanbanPrompts.php:29

The AI prompts of <mmo-kanban> tickets: fenced code blocks of a ticket's description whose language is an AI agent's name, so the agent (or whoever drives it) can pick up the tickets meant for it.

class MMO\client\classes\KanbanPrompts
Namespace
MMO\client\classes
````markdown The login page loses the redirect. ```claude Fix the redirect after login in src/pages/login.phtml, and add a test. ``` ```` The block's language names the agent ([`AGENTS`](https://mcp.mmoframework.fr/documentation/mmo.client/php/classes/KanbanPrompts.md#kanbanprompts-agents): `claude`, `chatgpt`, `gemini`..., `ai` for any of them); what follows it on the fence's line is the block's `info` (```` ```claude opus ```` → `opus`). A block nested in another fence (a ```` ````markdown ```` example) is text, not a prompt. The rules are `MMO.core.markdown`'s, which shows the blocks, and `<mmo-kanban>`'s, which marks the cards that have some.
KanbanPrompts::Extract("Fix it.\n```claude\nFix the login.\n```"); // [['agent' => 'claude', 'info' => '', 'prompt' => 'Fix the login.', 'line' => 2]] KanbanPrompts::FromBoard($data, ['claude']); // the open tickets' claude prompts, in the board's order

Index

AGENTSthe languages of a fenced block that make it a prompt: an agent's name, ai for any
STATUSESa board's statuses when it gives none: <mmo-kanban>'s defaults
Answer($route, $board, $data) staticWhat a kanban controller's prompts.json route answers, its query read from $route: - agent: the agents whose prompts are wanted, comma separated (claude,chatgpt); every one when absent - `sta…
Extract($markdown, $agents) static
Fence($text, $language) static
FromBoard($data, $agents, $done, $statuses) staticThe prompts of a board's tickets, each with its ticket.
Markdown($board, $prompts) staticThe prompts, as a brief an agent reads: one section per ticket, its description's context and its prompts.
StatusTypes($statuses) static

Constants2

AGENTS

the languages of a fenced block that make it a prompt: an agent's name, ai for any

const AGENTS = […14 items]

STATUSES

a board's statuses when it gives none: <mmo-kanban>'s defaults

const STATUSES = […5 items]

Methods6

Answer($route, $board, $data)

staticKanbanPrompts.php:103
What a kanban controller's `prompts.json` route answers, its query read from $route: - `agent`: the agents whose prompts are wanted, comma separated (`claude,chatgpt`); every one when absent - `status`: only the tickets with one of these statuses, comma separated ids (`todo,progress`) - `done=1`: a done ticket's prompts toostatic function Answer(MMO\core\server\Route $route, string $board, array $data): array
$routeRoute
$boardstringthe board's name
$dataarray<mmo-kanban>'s data
returnsarraystring, agents: list<string>, prompts: list<array>, markdown: string} markdown is the prompts as a brief an agent reads (Markdown)

Extract($markdown, $agents)

staticKanbanPrompts.php:45
static function Extract(string $markdown, ?array $agents = null): array
$markdownstringa ticket's description
$agents = nullnull | arraythe agents whose prompts are wanted (lowercase), null for every one of AGENTS
returnsarraystring, info: string, prompt: string, line: int}> its prompts, in its order: line is where the block opens (1 for the first line)

Fence($text, $language)

staticKanbanPrompts.php:162
protected static function Fence(string $text, string $language = ''): string
$textstring
$language = ''string
returnsstring$text in a fence longer than any it holds

FromBoard($data, $agents, $done, $statuses)

staticKanbanPrompts.php:77

The prompts of a board's tickets, each with its ticket.

static function FromBoard( array $data, ?array $agents = null, bool $done = false, ?array $statuses = null ): array
$dataarray<mmo-kanban>'s data: {statuses, tickets, ...}
$agents = nullnull | arrayas Extract
$done = falseboolwhether a done ticket's prompts are wanted too
$statuses = nullnull | arrayonly the tickets with one of these statuses (their ids), null for any
returnsarraystring, info: string, prompt: string, line: int, ticket: array}> in the board's order; ticket is the ticket as the data has it, with its statusType (backlog, active or done)

Markdown($board, $prompts)

staticKanbanPrompts.php:134

The prompts, as a brief an agent reads: one section per ticket, its description's context and its prompts.

static function Markdown(string $board, array $prompts): string
$boardstringthe board's name
$promptsarrayas FromBoard gives them
returnsstringmarkdown

StatusTypes($statuses)

staticKanbanPrompts.php:117
static function StatusTypes(array $statuses): array
$statusesarraya board's statuses ({id, type, ...}), [] for the defaults
returnsarraystring> each status's type, by its id: the type it gives, else what <mmo-kanban> takes it for -- the first backlog, the last done, the others active