Kanban Studioâ€șMarkdown & JSON Reference
📝

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.

Skema v1JSON + MarkdownDrygghetsövervakare
💡

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)
board.md
# 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 -->
Ett fullstÀndigt styrelsedokument med anmÀrkningar pÄ alla avsnitt
⚠

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.

JSON
"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 }
]
Exempel: fyra kolumner med olika fÀrger
FieldTypeRequiredDescription
idstringYesEnklare kolumnsbetecknare (UUID eller nÄgon stabil slug)
titlestringYesKolumnsrubriken visas i tabellen
colorstringYesKolumnsaktsfÀrg (hex). Visas som en vÀnster rand pÄ kort
orderintegerYesNollbaserad 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

JSON
{
  "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": []
}
Endast obligatoriska fÀlt fylls Alla valbara fÀlt Àr noll/lösa

FullstÀndig uppgift med alla omrÄden

JSON
{
  "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 }
  ]
}
Tillverkningssymbol med prioritet, taggar, ansvariga, kontrolllista, tidsbegrepp
FieldTypeRequiredDescription
idstringYesEnklara uppgiftsbeteckningar (UUID eller Stable Slug)
columnIdstringYesID för den kolumn dÀr denna uppgift ingÄr
positionintegerYesNollbaserad sorteringsordning inom kolumnen
titlestringYesUppgiftstitel (1280 tecken)
descriptionstringNoMarkdown-kompatibel lÀngre beskrivning
priorityenum
"low""medium""high""critical"
NoHur mycket Àr det brÄdskande?
tagsstring[]NoFrittformade teckningsserier för filtrering och gruppering
assigneeIdsstring[]NoMedlems-ID:er för personer som har tilldelats denna uppgift
mentionMemberIdsstring[]NoI denna uppgift nÀmndes (meddelade) medlems-ID:er
estimatePointsinteger|nullNoStory-point uppskattning (Fibonacci): 1, 2, 3, 5, 8, 13
)
dueDatestring|nullNoISO 8601 DatumskÀl: JJJJ-MM-TT
plannedStartAtstring|nullNoISO 8601 Datum/tid: planerad start
plannedEndAtstring|nullNoISO 8601 Datum/tid: planerat slut
timeboxMinutesinteger|nullNoLÀngden pÄ timeboksningssessionen
isCompletedbooleanNoMÀrker uppgiften som utförd (tillÀgger passning i anvÀndargrÀnsen)
archivedAtstring|nullNoISO 8601 Datum och tid för arkivering av uppgiften. Arkiverade uppgifter Àr inte upptagna i tavlan
checklistobject[]NoElement 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.

JSON
"checklist": [
  { "title": "Design mockup",   "isDone": true  },
  { "title": "Code review",     "isDone": false },
  { "title": "Deploy to prod",  "isDone": false }
]
Tre checklistaner: den första Àr klar, tvÄ kvar
FieldTypeRequiredDescription
titlestringYesMĂ€rkning av checklistan (1255 tecken)
isDonebooleanYesOm 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.

Markdown
<!-- 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 -->
Noter med en mermajor-gants diagram
💡

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:

FieldTypeRequiredDescription
lowenum valueNoMindre akuthet. Uppvisat i skitt/grÄ.
mediumenum valueNoStandard. Uppvisat i bröststen/gel. Att avlÀgsna prioriteringen Àr standardiseringen.
highenum valueNoViktigt. I orange.
criticalenum valueNoBlokera. 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.

JSON
{
  "id": "task-old",
  "columnId": "col-1",
  "position": 99,
  "title": "Old completed task",
  "archivedAt": "2025-01-10T14:30:00.000Z",
  ...
}
Arkiverad uppgift bortblindad frÄn tavlan, fÄngad i snapshot
â„č

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

JSON
{
  "ok": true,
  "dryRun": true,
  "diagnostics": [],
  "diffSummary": {
    "columnsCreated": 1,
    "columnsTouched": 2,
    "tasksCreated": 3,
    "tasksTouched": 5,
    "tasksToArchive": 0
  }
}
ok: true betyder att avskrivningen Àr giltig och sÀker att tillÀmpa

Försökningsprocess med fel

JSON
{
  "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
  }
}
ok: false korrigera fel före anvÀndning
FieldTypeRequiredDescription
codestringYesMaskinlÀsbar felkod (z). B. okÀnda_spalten_ID)
messagestringYesBeskrivning av problemet som kan lÀsas av mÀnniskor
lineintegerYesOmfattande radnummer i markdowndokumentet
severityenum
"error""warning"
YesAntingen 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.

Schema v1 · Updated September 2026