Kanban StudioMarkdown & JSON Reference
📝

Markdown & JSON Reference

Full schema reference for board editing

Oversigt

Hvert Kanban-tavle er understøttet af et enkelttekst Markdown-dokument, som du kan læse, skrive, kopiere og kontrollere versioner. Dokumentet har to sektioner: en maskinlæsbar struktureret blok, der holder brættedata som JSON, og en gratis form Custom blok for dine personlige noter.

Forordning v1JSON + MarkdownTørrkasse
💡

- Det er altid tørr-run først.

Før du klikker på Ansøg, skal du bruge knappen Dry- run til at bekræfte dine redigeringer. Bagsiden vil rapportere fejl og et forskelligt resumé uden at ændre dit bord.

Dokumentstruktur

Et fuldstændigt Kanban Markdown-dokument består af tre dele:

  • En menneskelæselig overskrift (bordets titel, generationsnoten)
  • Den strukturerede blok JSON data mellem HTML kommentar markører
  • Den brugerlige blok gratis Markdown (noter, diagrammer, 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 -->
Fuldt bestyrelsesdokument med alle afsnit noteret
⚠️

Tag ikke kommentarmarkerne væk

Der kræves markører <!-- KANBAN:STRUCTURED:START -->, <!-- KANBAN:STRUCTURED:END -->, <!-- KANBAN:CUSTOM:START --> og <!-- KANBAN:CUSTOM:END -->. Hvis man fjerner dem, opstår det en analysefejl.

Kolonner

Kolonne definerer arbejdsprocesstadierne på din brættet. De er vist fra venstre til højre ved deres order værdi.

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 }
]
Eksempel: fire kolonner med forskellige farver
FieldTypeRequiredDescription
idstringYesUnique column identifier (UUID eller stabil slug)
titlestringYesKolonneoverskrift på tavlen
colorstringYesKolonneakcentfarve (hex). Anført som venstre kant på kortene
orderintegerYesNullbaseret skærmordning (tilbøjende, venstre til højre)
ℹ️

Note

Kolonne-ID'er skal være unikke i brættet. Opgaver i referencekolumner af denne id.

Opgaver

Opgaverne er kerneenheden af arbejdet. Hver opgave er inde i en kolonne (via columnId) og sorteres efter position inden for denne kolonne.

Mindst opgave

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": []
}
Kun de nødvendige felter er fyldt alle valgfæller er nul / tom

Fuld opgave med alle felter

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 }
  ]
}
Produktion eksempel med prioritet, tags, tildelte, checkliste, tidsopsporing
FieldTypeRequiredDescription
idstringYesUnique task identifier (UUID eller stabil slug)
columnIdstringYesIdentifikation af kolonne, som denne opgave tilhører
positionintegerYes0-baseret sorteringsorden i kolonne
titlestringYesOpgaveopgave (1280 tegn)
descriptionstringNoLængere beskrivelse af Markdown-kompatibel
priorityenum
"low""medium""high""critical"
NoUdfordringsvurdering
tagsstring[]NoFritforms mærkningsstrenge til filtrering og gruppering
assigneeIdsstring[]NoMedlems-ID'er for personer, der er tildelt denne opgave
mentionMemberIdsstring[]NoMedlems-ID'er, der er nævnt (anmeldt) i denne opgave
estimatePointsinteger|nullNoAntallet af præcise punkter (Fibonacci: 1, 2, 3, 5, 8, 13.)
dueDatestring|nullNoISO 8601 datoen: YYYY-MM-DD
plannedStartAtstring|nullNoISO 8601 dato og tid: planlagt start
plannedEndAtstring|nullNoISO 8601 datotid: planlagt slut
timeboxMinutesinteger|nullNoFokus-sessions længde til timeboxing
isCompletedbooleanNoMarkerer opgaven som færdig (tilføj en overgang i brugervenligheden)
archivedAtstring|nullNoISO 8601 datotid, hvor opgaven blev arkiveret. Arkiverede opgaver er skjulte for brættet
checklistobject[]NoBestemmelser i kontrollisten for underopgaver (se afsnit Kontrolliste)

Kontrolliste

Hver opgave understøtter en flad liste over kontrollisteelementer lette underopgaver, der kan mærkes individuelt uden at skabe separate opgaver.

JSON
"checklist": [
  { "title": "Design mockup",   "isDone": true  },
  { "title": "Code review",     "isDone": false },
  { "title": "Deploy to prod",  "isDone": false }
]
Tre checkliste elementer: den første er færdig, to tilbage
FieldTypeRequiredDescription
titlestringYesKontrolliste-artikkelmærkning (1255 tegn)
isDonebooleanYesOm dette element er afregnet

Afsnit om brugerdefinerede notater

Alt mellem <!-- KANBAN:CUSTOM:START --> og <!-- KANBAN:CUSTOM:END --> er dit scratchpad. Det understøtter fuld Markdown og Mermaid diagrammer. Indholdet er aldrig analyseret af brættemotor det vises kun i fliken Forhåndsvisning.

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 et Gantt-diagram Mermaid
💡

Tip

Brug afsnittet Tilpassede for sprint noter, team links, Gantt diagrammer, arkitektur diagrammer alt hvad du ønsker synligt ved siden af dine bord data.

Prioritetskrav

Feltet priority accepterer præcis en af fire værdier. Hvert kort til en særskilt logo farve i brugergrænsefladen:

FieldTypeRequiredDescription
lowenum valueNo- Det er ikke særlig akut. Afstillet i grå.
mediumenum valueNo- Det er standard. Anført i amber/gul. Omgå prioriterede standarder til dette.
highenum valueNo- Det er vigtigt. Vi ser den i orange.
criticalenum valueNo- Jeg blokerer. Anført i rød/roser.

Arkiveringsopgaver

For at arkivere en opgave, indstille sit archivedAt felt til en ISO datetime streng. Arkiverede opgaver er udelukket fra det aktive bord, men bevaret i historien.

JSON
{
  "id": "task-old",
  "columnId": "col-1",
  "position": 99,
  "title": "Old completed task",
  "archivedAt": "2025-01-10T14:30:00.000Z",
  ...
}
Archiveret opgave skjult fra bord, bevaret i snapshot
ℹ️

Note

ArkiveretAt-indstilling til null-un-archives-opgaven. I det forskellige resumé vises opgaverToArchive, når du anvender et markdown snapshot, der arkiverer opgaver, der er i øjeblikket aktive på brættet.

Tørr- og diagnostik

Funktionen Dry- run validerer din markdown uden at anvende ændringer. Backend returnerer en diffSummary (hvad ville ændre sig) og et diagnostics-array med en liste over eventuelle fejl eller advarsler.

Succesfuldt svar på tørrbane

JSON
{
  "ok": true,
  "dryRun": true,
  "diagnostics": [],
  "diffSummary": {
    "columnsCreated": 1,
    "columnsTouched": 2,
    "tasksCreated": 3,
    "tasksTouched": 5,
    "tasksToArchive": 0
  }
}
ok: sandt betyder, at markdownen er gyldig og sikker

Tørr-run med fejl

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: falsk afhjælp fejl inden anvendelse
FieldTypeRequiredDescription
codestringYesMaskinlæselig fejlkoder (f.eks. ukendt_kolonne_id)
messagestringYesEn af de vigtigste aspekter af dette spørgsmål er:
lineintegerYesTilsvarende linjenummer i det nedskæringsdokument
severityenum
"error""warning"
YesEnten "fejl" (blokker gælder) eller "varsel" (indkomst gælder)
🚫

Fejlblok Apply

Hvis diagnostikken indeholder noget element med sværhedsgrad: "fejl", vil Apply-operationen nægte at fortsætte. Advarsler er rådgivende og blokerer ikke.

Anbefalet arbejdsproces

Følg denne strøm, når du redigerer brættet via Markdown:

  • Åbn Markdown-panelet på dit bord
  • Redigere JSON i Struktureret blok tilføje/modificere kolonne eller opgaver
  • Klik på Dry-run for at validerere uden at ændre noget
  • Forklar eventuelle fejl i diagnoselisten
  • Klik på Apply for at foretage ændringer i live-bordet
  • Brug Download til at gemme en lokal .md backup
💡

Versionkontroltip

Fordi dokumentet er almindelig tekst, kan du indsætte det i et Git-repository, forskellige versioner og gendanne tidligere bordtilstande ved at anvende et ældre snapshot igen.

Schema v1 · Updated September 2026