Markdown & JSON Reference
Full schema reference for board editing
Ăversikt
Bakom varje Kanban-tavla finns ett klartekstmÀrkande dokument som du kan lÀsa, skriva, kopiera och kontrollera. Dokumentet bestÄr av tvÄ delar: en maskinlÀsbar, strukturerad block som innehÄller brÀddataten i form av JSON och ett fritt, anpassad block för dina personliga anteckningar.
Först och frÀmst ta en torrlÀcka
Innan du klickar pÄ Overnehmen, anvÀnd knappen Probeview för att validera dina Àndringar. Backend rapporterar fel och en diff sammanfattning utan att Àndra din skiva.
Dokumentstruktur
En fullstÀndig Kanban-markdown-dokument bestÄr av tre delar:
- En rubrik som kan lÀsas av mÀnniskor (bordtitlar, generationsnoter)
- Den strukturerade blocken JSON-data mellan HTML-kommentarmÀrkningarna
- Det Àr en kostnadsfri markdown (Notices, Mermaid diagram, 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 -->Ta inte bort kommentarfÀlt
MÀrkningarna <!-- KANBAN:STRUCTURED:START -->, <!-- KANBAN:STRUCTURED:END -->, <!-- KANBAN:CUSTOM:START --> och <!-- KANBAN:CUSTOM:END --> behövs. Att ta bort det leder till ett analysfel.
Kolumner
Kolor definierar arbetssÀttet pÄ din skiva. De gÄr frÄn vÀnster till höger genom deras order-vÀrde.
"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 | â | Enklare kolumnsbetecknare (UUID eller nĂ„gon stabil slug) |
title | string | Yes | â | Kolumnsrubriken visas i tabellen |
color | string | Yes | #64748b | KolumnsaktsfÀrg (hex). Visas som en vÀnster rand pÄ kort |
order | integer | Yes | â | Nollbaserad anmĂ€lan (uppĂ„t, frĂ„n vĂ€nster till höger) |
Note
Kolumn-ID:er mÄste vara tydliga inom tavlan. Uppgifterna hÀnvisas till kolumner med hjÀlp av denna id.
Uppgifter
Uppgifter Àr arbetets kÀrna enhet. Varje uppgift Àr i en kolumn (över kolumnId) och sorteras enligt position inom denna kolumn.
Minimal uppgift
{
"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": []
}FullstÀndig uppgift med alla omrÄden
{
"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 | â | Enklara uppgiftsbeteckningar (UUID eller Stable Slug) |
columnId | string | Yes | â | ID för den kolumn dĂ€r denna uppgift ingĂ„r |
position | integer | Yes | â | Nollbaserad sorteringsordning inom kolumnen |
title | string | Yes | â | Uppgiftstitel (1280 tecken) |
description | string | No | "" | Markdown-kompatibel lÀngre beskrivning |
priority | enum "low""medium""high""critical" | No | medium | Hur mycket Àr det brÄdskande? |
tags | string[] | No | [] | Frittformade teckningsserier för filtrering och gruppering |
assigneeIds | string[] | No | [] | Medlems-ID:er för personer som har tilldelats denna uppgift |
mentionMemberIds | string[] | No | [] | I denna uppgift nÀmndes (meddelade) medlems-ID:er |
estimatePoints | integer|null | No | null | Story-point uppskattning (Fibonacci): 1, 2, 3, 5, 8, 13âŠ) |
dueDate | string|null | No | null | ISO 8601 DatumskÀl: JJJJ-MM-TT |
plannedStartAt | string|null | No | null | ISO 8601 Datum/tid: planerad start |
plannedEndAt | string|null | No | null | ISO 8601 Datum/tid: planerat slut |
timeboxMinutes | integer|null | No | null | LÀngden pÄ timeboksningssessionen |
isCompleted | boolean | No | false | MÀrker uppgiften som utförd (tillÀgger passning i anvÀndargrÀnsen) |
archivedAt | string|null | No | null | ISO 8601 Datum och tid för arkivering av uppgiften. Arkiverade uppgifter Àr inte upptagna i tavlan |
checklist | object[] | No | [] | Element i underuppgifterna checklistan (se avsnitt Checklist)â) |
Kontrolllistans element
Varje uppgift stöder en platt lista över kontrolllistaelement Enkla underuppgifter som kan markeras som utförda individuellt utan att det behövs separata uppgifter.
"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 | â | MĂ€rkning av checklistan (1255 tecken) |
isDone | boolean | Yes | â | Om den hĂ€r punkten Ă€r avskuren |
Avsnitt AnvĂ€ndardefinierade anteckningarâ.
Allt mellan <!-- KANBAN:CUSTOM:START --> och <!-- KANBAN:CUSTOM:END --> Àr din anteckningsblock. Det stöder fullstÀndiga markdown- och mermaiddiagram. InnehÄllet kommer inte att klippas av board-motorn det visas bara pÄ tabellen 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
AnvÀnd avsnittet AnvÀndardefinierat för sprintnoter, teamlÀnkar, Gantt diagram, arkitektoniska diagram allt du vill se utöver din borddata.
Prioriterade vÀrden
FÀltet priority accepterar exakt en av fyra vÀrden. Var och en av dem ska tillskrivas en sÀrskild varumÀrke i anvÀndargrÀnsen:
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
low | enum value | No | â | Mindre akuthet. Uppvisat i skitt/grĂ„. |
medium | enum value | No | â | Standard. Uppvisat i bröststen/gel. Att avlĂ€gsna prioriteringen Ă€r standardiseringen. |
high | enum value | No | â | Viktigt. I orange. |
critical | enum value | No | â | Blokera. Uppvisat i rött/rosa. |
Arkiveringsarbete
Om du vill arkivera en uppgift, ange fÀltet archivedAt pÄ en ISO-datum/tidsskedja. Arkiverade uppgifter uteslutas frÄn den aktiva tavlan men kvarstÄr i gÄng.
{
"id": "task-old",
"columnId": "col-1",
"position": 99,
"title": "Old completed task",
"archivedAt": "2025-01-10T14:30:00.000Z",
...
}Note
Om du sÀtter archivedAt pÄ noll kommer arkivering av uppgiften att upphöra. Diff sammanfattningen visar tasksToArchive nÀr en markdown-snapshot anvÀnds för att arkivera aktuella uppgifter pÄ tavlan.
Provning och diagnos
Den provfunktion som validerar din avskrivning utan Àndringar. Bakendet ger en diffSummary (som skulle Àndras) och en diagnostics-array som listar alla fel eller varningar.
FramgÄngsrikt provreaktion
{
"ok": true,
"dryRun": true,
"diagnostics": [],
"diffSummary": {
"columnsCreated": 1,
"columnsTouched": 2,
"tasksCreated": 3,
"tasksTouched": 5,
"tasksToArchive": 0
}
}Försökningsprocess med fel
{
"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 | â | MaskinlĂ€sbar felkod (z). B. okĂ€nda_spalten_ID) |
message | string | Yes | â | Beskrivning av problemet som kan lĂ€sas av mĂ€nniskor |
line | integer | Yes | â | Omfattande radnummer i markdowndokumentet |
severity | enum "error""warning" | Yes | â | Antingen fel (lockningar gĂ€ller) eller varning (anvĂ€nd inkomster) |
Falska blockering Apply
Om diagnosen innehÄller ett element med svÄrighetsgraden fel, vÀgrar appliceringsprocessen att fortsÀtta. Varningar har en rÄdgivande karaktÀr och blockerar inte.
Rekommenderad arbetsflöde
Följ denna process nÀr du redigerar tavlan via Markdown:
- Ăppna markdown-panelen pĂ„ din skiva
- Redigera JSON i Structured Block LĂ€gg till kolumner eller uppgifter/Ă€ndra dem
- Klicka pÄ Tryck Run för att valitera utan att Àndra nÄgot
- LĂ€gg till alla fel som visas i diagnoslistan
- Klicka pĂ„ Ăndra för att göra Ă€ndringar i live-tavlan
- AnvÀnd download för att spara ett lokalt
.md-backup
Tips för versionkontroll
Eftersom dokumentet Àr rent text, kan du lÀgga in det i ett Git-register, skilja mellan versioner och ÄterstÀlla tidigare bordstatus genom att ÄteranvÀnda en Àldre bild.