Markdown & JSON Reference
Full schema reference for board editing
Overzicht
Achter elk Kanban-bord staat een duidelijk tekstenmarkering dat u kunt lezen, schrijven, kopiëren en versiercontroleer. Het document bestaat uit twee delen: een machineleesbaar gestructureerd blok dat de bordgegevens als JSON bevat, en een gratis gebruikersgebonden blok voor uw persoonlijke notities.
Maak altijd eerst een dry run
Voordat u op Aanspreken klikt, gebruik de knop Probelijst om uw wijzigingen te valideren. De backend meldt fouten en een diff samenvatting zonder uw bord te veranderen.
Documentstructuur
Een volledig Kanban-markdown-document bestaat uit drie delen::
- Een voor mensen leesbare kop (bordtitel, generatie notitie))
- Het gestructureerde blok JSON-gegevens tussen HTML-commentaarmarkering
- De gebruikersgebonden blok gratis markdown (nootjes, mermaid diagrammen, links))
# My Project Board
Generated by Kanban Markdown schema v1.
<!-- KANBAN:STRUCTURED:START -->
```kanban-structured
{
"version": 1,
"board": {
"id": "board-abc123",
"title": "My Project Board"
},
"columns": [
{ "id": "col-1", "title": "Backlog", "color": "#64748b", "order": 0 },
{ "id": "col-2", "title": "In Progress", "color": "#6366f1", "order": 1 },
{ "id": "col-3", "title": "Done", "color": "#10b981", "order": 2 }
],
"tasks": [
{
"id": "task-1",
"columnId": "col-2",
"position": 0,
"title": "Build authentication flow",
"description": "Implement JWT login, register, and token refresh.",
"priority": "high",
"tags": ["backend", "security"],
"assigneeIds": ["member-uuid-1"],
"mentionMemberIds": ["member-uuid-2"],
"estimatePoints": 5,
"dueDate": "2025-03-15",
"plannedStartAt": "2025-03-10",
"plannedEndAt": "2025-03-15",
"timeboxMinutes": 90,
"isCompleted": false,
"archivedAt": null,
"checklist": [
{ "title": "Design DB schema", "isDone": true },
{ "title": "Write unit tests", "isDone": false },
{ "title": "Deploy to staging", "isDone": false }
]
}
]
}
```
<!-- KANBAN:STRUCTURED:END -->
<!-- KANBAN:CUSTOM:START -->
## Team Notes
- Sprint ends Friday
- Backend review at 3 PM
```mermaid
flowchart LR
A[Backlog] --> B[In Progress] --> C[Done]
```
<!-- KANBAN:CUSTOM:END -->Verwijder de opmerkingen niet
De markers <!-- KANBAN:STRUCTURED:START -->, <!-- KANBAN:STRUCTURED:END -->, <!-- KANBAN:CUSTOM:START --> en <!-- KANBAN:CUSTOM:END --> worden vereist. Het verwijderen leidt tot een analysefout.
Kolommen
Columns omschrijven de werkfasen van uw bord. Ze gaan van links naar rechts door hun order-Waarde gerendureerd.
"columns": [
{ "id": "col-1", "title": "To Do", "color": "#64748b", "order": 0 },
{ "id": "col-2", "title": "In Progress", "color": "#6366f1", "order": 1 },
{ "id": "col-3", "title": "Review", "color": "#f59e0b", "order": 2 },
{ "id": "col-4", "title": "Done", "color": "#10b981", "order": 3 }
]| Field | Type | Required | Default | Description |
|---|---|---|---|---|
id | string | Yes | — | Eenvoudige kolombenamers (UUID of enige stabiele slug)) |
title | string | Yes | — | Columnopschrift in de tabel |
color | string | Yes | #64748b | Column accent kleur (hex)). Als linker rand wordt weergegeven op kaarten |
order | integer | Yes | — | Null-gebaseerde aanmeldingsreeks (oplopend, van links naar rechts)) |
Note
Column-ID's moeten binnen het bord duidelijk zijn. Opdrachten verwijzen naar rubrieken op basis van deze id.
Taken
Werkzaamheden zijn de kern van het werk. Elke taak is in een kolom (over) columnId) en is binnen deze kolom na position gesorteerd.
Minimale taak
{
"id": "task-abc",
"columnId": "col-1",
"position": 0,
"title": "Write release notes",
"description": "",
"priority": "medium",
"tags": [],
"assigneeIds": [],
"mentionMemberIds": [],
"estimatePoints": null,
"dueDate": null,
"plannedStartAt": null,
"plannedEndAt": null,
"timeboxMinutes": null,
"isCompleted": false,
"archivedAt": null,
"checklist": []
}Volledige taak met alle velden
{
"id": "task-xyz",
"columnId": "col-2",
"position": 0,
"title": "Redesign checkout page",
"description": "Full UX overhaul based on user research findings.",
"priority": "critical",
"tags": ["ux", "frontend", "q1-goal"],
"assigneeIds": ["member-alice", "member-bob"],
"mentionMemberIds": ["member-pm"],
"estimatePoints": 8,
"dueDate": "2025-04-01",
"plannedStartAt": "2025-03-20",
"plannedEndAt": "2025-04-01",
"timeboxMinutes": 120,
"isCompleted": false,
"archivedAt": null,
"checklist": [
{ "title": "User interviews", "isDone": true },
{ "title": "Wireframes approved", "isDone": true },
{ "title": "Implement components", "isDone": false },
{ "title": "A/B test live", "isDone": false }
]
}| Field | Type | Required | Default | Description |
|---|---|---|---|---|
id | string | Yes | — | Eenvoudige taakherkenning (UUID of Stable Slug)) |
columnId | string | Yes | — | ID van de kolom waartoe deze taak behoort |
position | integer | Yes | — | 0-gebaseerde sorteervolgorde binnen de kolom |
title | string | Yes | — | Opdracht titel (1280 tekens)) |
description | string | No | "" | Markdown-compatibel langere beschrijving |
priority | enum "low""medium""high""critical" | No | medium | Dringendheid van de taak |
tags | string[] | No | [] | Vrije vorm aanwijzingsreeks voor het filteren en groeperen |
assigneeIds | string[] | No | [] | Lid-ID's van personen die aan deze taak zijn toegewezen |
mentionMemberIds | string[] | No | [] | In deze taak worden vermeld (gedeelde) lid-ID's |
estimatePoints | integer|null | No | null | Story-point schatting (Fibonacci): 1, 2, 3, 5, 8, 13…) |
dueDate | string|null | No | null | ISO 8601 datum volgorde: JJJJ-MM-TT |
plannedStartAt | string|null | No | null | ISO 8601 Datum/tijd: geplande start |
plannedEndAt | string|null | No | null | ISO 8601 Datum/tijd: gepland einde |
timeboxMinutes | integer|null | No | null | Lengte van de focus sessie voor timeboxing |
isCompleted | boolean | No | false | Markeert de taak als voltooid (voegt doorstraling toe in het gebruikersinterface) |
archivedAt | string|null | No | null | ISO 8601 Datum en tijd van het archiveren van de taak. Gearchieveerde taken worden op het board weggelaten |
checklist | object[] | No | [] | Elementen van de onderopdrachtlijst (zie rubriek Checklist)“) |
Elemente van de checklist
Elke taak ondersteunt een vlakke lijst van checklist-elementen eenvoudige subtakes die individueel als voltooid kunnen worden gemarkeerd zonder dat er aparte taken nodig zijn.
"checklist": [
{ "title": "Design mockup", "isDone": true },
{ "title": "Code review", "isDone": false },
{ "title": "Deploy to prod", "isDone": false }
]| Field | Type | Required | Default | Description |
|---|---|---|---|---|
title | string | Yes | — | Kennis van het checklistelement (1255 tekens)) |
isDone | boolean | Yes | — | Is dit punt afgesneden? |
Sectie Gebruikersgegevens“.
Alles tussen <!-- KANBAN:CUSTOM:START --> en <!-- KANBAN:CUSTOM:END --> is uw notitieblok. Het ondersteunt volledige markdown- en mermaiddiagrammen. De inhoud wordt niet gepaste door de board-engine het wordt alleen weergegeven op de tab Preview.
<!-- KANBAN:CUSTOM:START -->
## Sprint Notes
- Daily standup at 10:00 AM
- Backend API freeze on Friday
```mermaid
gantt
title Sprint 12
section Tasks
Auth flow :done, 2025-03-10, 3d
Dashboard UI :active, 2025-03-13, 4d
API docs :2025-03-17, 2d
```
> Reminder: update JIRA tickets before end of day.
<!-- KANBAN:CUSTOM:END -->Tip
Gebruik het gedeelte Gebruikersdefiniëren voor sprintnotities, teamlinks, Gantt-diagrammen, architectuurdiagrammen alles wat u wilt zien naast uw bordgegevens.
Prioritaire waarden
Het veld priority accepteert precies één van de vier waarden. Elk wordt toegewezen aan een bepaalde logo-kleur in de gebruikersinterface:
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
low | enum value | No | — | Minder urgentie. Afbeelding in schitterschoen/grauw. |
medium | enum value | No | — | Standardij. Gekleed in steen/geel. Het weglaten van de prioriteit is de standaardstelling. |
high | enum value | No | — | Belangrijk. Gekleed in oranje. |
critical | enum value | No | — | Blokkeren. Afbeelding in rood/roze. |
Archivage taken
Om een taak te archiveren, zet het veld in archivedAt op een ISO-datum-/tijdsreeks. Gearchieveerde taken worden uitgesloten van de actieve raad, maar blijven in de loop.
{
"id": "task-old",
"columnId": "col-1",
"position": 99,
"title": "Old completed task",
"archivedAt": "2025-01-10T14:30:00.000Z",
...
}Note
Als je archivedAt op nul zet, wordt de archivering van de taak opgeheven. De diff samenvatting toont tasksToArchive wanneer een markdown-snapshot wordt gebruikt die momenteel actieve taken op het bord archiveert.
Proeflopen en diagnose
De proeffunctie valideert uw aftrek zonder wijzigingen. De backend geeft een diffSummary (Wat zou veranderen) en diagnostics-Array terug met een lijst van alle fouten of waarschuwingen.
Succesvolle proefreactie
{
"ok": true,
"dryRun": true,
"diagnostics": [],
"diffSummary": {
"columnsCreated": 1,
"columnsTouched": 2,
"tasksCreated": 3,
"tasksTouched": 5,
"tasksToArchive": 0
}
}Proefproces met fouten
{
"ok": false,
"dryRun": true,
"diagnostics": [
{
"code": "unknown_column_id",
"message": "Task 'task-xyz' references unknown column 'col-999'.",
"line": 42,
"severity": "error"
},
{
"code": "duplicate_task_id",
"message": "Task ID 'task-abc' is used more than once.",
"line": 67,
"severity": "error"
}
],
"diffSummary": {
"columnsCreated": 0,
"columnsTouched": 0,
"tasksCreated": 0,
"tasksTouched": 0,
"tasksToArchive": 0
}
}| Field | Type | Required | Default | Description |
|---|---|---|---|---|
code | string | Yes | — | Masjienleesbare foutcode (z. B. Onbekend_Spalten_ID) |
message | string | Yes | — | Mensen leesbare beschrijving van het probleem |
line | integer | Yes | — | Ongeveer lijnnummer in het markdowndocument |
severity | enum "error""warning" | Yes | — | Ofwel fouten (blokken gelden) of waarschuwing) |
Fouten blokkeren Apply
Als de diagnose een element bevat met de graad fout, verwerpt de applicatieprocedure de voortzetting. Waarschuwingen zijn van raadgevend karakter en blokkeren niet.
Aanbevolen workflow
Volg deze procedure wanneer u het bord op Markdown bewerkt.:
- Maak het markdown paneel op uw bord open
- Bewerk JSON in het gestructureerde blok
- Klik op Dry Run om te valideren zonder iets te veranderen
- Herstel alle fouten in de diagnoselijst
- Klik op Aanpassen om wijzigingen aan te nemen op het live-board
- Gebruik Download om een lokale
.md-Backup opslaan
Tip voor versiecontrole
Aangezien het document zuiver tekst is, kun je het in een Git-repository plaatsen, versieën onderscheiden en oude bordstatus herstellen door een oudere snapshot opnieuw toe te passen.