Markdown & JSON Reference
Full schema reference for board editing
סקירה כללית
כל לוח של Kanban מגובה במסמך Markdown בטקסט רגיל שתוכלו לקרוא, לכתוב, להעתיק ולבקר גרסאות. למסמך שני חלקים: בלוק מובנה הניתן לקריאה במכונה המחזיק את נתוני הלוח כ-JSON, ובלוק מותאם אישית בצורה חופשית להערות האישיות שלך.
תמיד תחילה לרוץ יבש
לפני הלחיצה על Apply, השתמש בלחצן Dry run כדי לאמת את העריכות שלך. הקצה האחורי ידווח על שגיאות וסיכום הבדלים מבלי לשנות את הלוח שלך.
מבנה מסמך
מסמך Kanban Markdown מלא מורכב משלושה חלקים:
- כותרת קריא אנושית (כותרת לוח, הערת דור)
- הגוש המובנה - נתוני JSON בין סמני הערות HTML
- הגוש המותאם אישית - Markdown בחינם (הערות, דיאגרמות בתולת ים, קישורים)
# 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 -->אל תסיר את סמני ההערות
הסמנים <!-- KANBAN:STRUCTURED:START -->, <!-- KANBAN:STRUCTURED:END -->, <!-- KANBAN:CUSTOM:START -->, ו-<!-- KANBAN:CUSTOM:END --> נדרשים. הסרתם גורמת לשגיאת ניתוח.
עמודות
עמודות מגדירות את שלבי זרימת העבודה של הלוח שלך. הם מוצגים משמאל לימין על ידי הערך order שלהם.
"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 | — | מזהה עמודה ייחודי (UUID או כל שבלול יציב) |
title | string | Yes | — | כותרת העמודה מוצגת על הלוח |
color | string | Yes | #64748b | צבע הדגשה של עמודה (hex). מוצג כגבול שמאלי בכרטיסים |
order | integer | Yes | — | סדר תצוגה מבוסס אפס (עולה, משמאל לימין) |
Note
מזהי העמודות חייבים להיות ייחודיים בלוח. משימות מתייחסות לעמודות לפי id.
משימות
משימות הן יחידת הליבה של העבודה. כל משימה חיה בתוך עמודה (דרך columnId) וממוינת לפי position בתוך אותה עמודה.
משימה מינימלית
{
"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": []
}משימה מלאה עם כל התחומים
{
"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 | — | מזהה משימה ייחודי (UUID או שבלול יציב) |
columnId | string | Yes | — | מזהה העמודה שאליה שייכת משימה זו |
position | integer | Yes | — | סדר מיון מבוסס אפס בתוך העמודה |
title | string | Yes | — | כותרת המשימה (1-280 תווים) |
description | string | No | "" | תיאור ארוך יותר תואם Markdown |
priority | enum "low""medium""high""critical" | No | medium | רמת דחיפות המשימה |
tags | string[] | No | [] | מחרוזות תווית בצורה חופשית לסינון וקיבוץ |
assigneeIds | string[] | No | [] | מזהי חבר של אנשים שהוקצו למשימה זו |
mentionMemberIds | string[] | No | [] | מזהי חבר שהוזכרו (הודיעו) במשימה זו |
estimatePoints | integer|null | No | null | אומדן נקודת סיפור (פיבונאצ'י: 1, 2, 3, 5, 8, 13...) |
dueDate | string|null | No | null | מחרוזת תאריך ISO 8601: YYYY-MM-DD |
plannedStartAt | string|null | No | null | ISO 8601 תאריך ושעה: התחלה מתוכננת |
plannedEndAt | string|null | No | null | ISO 8601 תאריך ושעה: סיום מתוכנן |
timeboxMinutes | integer|null | No | null | אורך מפגש פוקוס לאגרוף זמן |
isCompleted | boolean | No | false | מסמן את המשימה כבוצעה (מוסיף קו חוצה בממשק המשתמש) |
archivedAt | string|null | No | null | ISO 8601 תאריך ושעה שבה המשימה הועברה לארכיון. משימות בארכיון מוסתרות מהלוח |
checklist | object[] | No | [] | פריטי רשימת משימות משנה (ראה סעיף רשימת בדיקה) |
פריטי רשימת רשימות
כל משימה תומכת ברשימה שטוחה של פריטי רשימת בדיקה - משימות משנה קלות משקל שניתן לסמן בנפרד כבוצעו מבלי ליצור משימות נפרדות.
"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 | — | תווית פריט רשימת רשימות (1-255 תווים) |
isDone | boolean | Yes | — | האם פריט זה מסומן |
מדור הערות מותאמות אישית
כל מה שבין <!-- KANBAN:CUSTOM:START --> ל-<!-- KANBAN:CUSTOM:END --> הוא פנקס הגירוד שלך. הוא תומך בדיאגרמות מלאות של 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 -->Tip
השתמש בקטע המותאם אישית עבור הערות ספרינט, קישורי צוות, תרשימי גנט, דיאגרמות ארכיטקטורה - כל מה שתרצה יהיה גלוי לצד נתוני הלוח שלך.
ערכי עדיפות
השדה priority מקבל בדיוק אחד מארבעה ערכים. כל אחד ממפה לצבע תג נפרד בממשק המשתמש:
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
low | enum value | No | — | דחיפות נמוכה. מוצג בצפחה/אפור. |
medium | enum value | No | — | ברירת מחדל. מוצג בצבע ענבר/צהוב. השמטת העדיפות היא ברירת המחדל של זה. |
high | enum value | No | — | חשוב. מוצג בכתום. |
critical | enum value | No | — | חסימה. מוצג באדום/ורד. |
משימות ארכיון
כדי לאחסן משימה בארכיון, הגדר את השדה archivedAt שלה למחרוזת תאריך/שעה ISO. משימות בארכיון אינן נכללות בתצוגת הלוח הפעילה אך נשמרות בהיסטוריה.
{
"id": "task-old",
"columnId": "col-1",
"position": 99,
"title": "Old completed task",
"archivedAt": "2025-01-10T14:30:00.000Z",
...
}Note
הגדרת archivedAt ל-null מבטלת את הארכיון של המשימה. סיכום ההבדל יציג tasksToArchive בעת החלת תמונת מצב שמאחסנת בארכיון משימות הפעילות כעת בלוח.
ריצה יבשה ואבחון
תכונת ההפעלה היבשה מאמתת את הסימון שלך מבלי להחיל שינויים. הקצה האחורי מחזיר diffSummary (מה ישתנה) ומערך diagnostics המפרט שגיאות או אזהרות.
תגובת ריצה יבשה מוצלחת
{
"ok": true,
"dryRun": true,
"diagnostics": [],
"diffSummary": {
"columnsCreated": 1,
"columnsTouched": 2,
"tasksCreated": 3,
"tasksTouched": 5,
"tasksToArchive": 0
}
}ריצה יבשה עם שגיאות
{
"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 | — | קוד שגיאה קריא במכונה (למשל זיהוי_עמודה לא ידוע) |
message | string | Yes | — | תיאור הניתן לקריאה אנושית של הבעיה |
line | integer | Yes | — | מספר שורה משוער במסמך הסימון |
severity | enum "error""warning" | Yes | — | או 'שגיאה' (חסימות חלות) או 'אזהרה' (החלת רווחים) |
שגיאות חוסמות את החל
אם האבחון מכיל פריט כלשהו עם חומרה: 'שגיאה', פעולת היישום תסרב להמשיך. האזהרות הן מייעצות ואינן חוסמות.
זרימת עבודה מומלצת
עקוב אחר הזרימה הזו בעת עריכת הלוח באמצעות Markdown:
- פתח את החלונית Markdown בלוח שלך
- ערוך את ה-JSON ב-בלוק מובנה - הוסף/שנה עמודות או משימות
- לחץ על הרצה יבשה כדי לאמת מבלי לשנות דבר
- תקן את השגיאות המוצגות ברשימת האבחון
- לחץ על החל כדי לבצע שינויים בלוח החי
- השתמש ב-הורד כדי לשמור גיבוי מקומי
.md
טיפ לבקרת גרסה
מכיוון שהמסמך הוא טקסט רגיל, אתה יכול להדביק אותו במאגר Git, גרסאות שונות, ולשחזר מצבי לוח קודמים על ידי יישום מחדש של תמונת מצב ישנה יותר.