Boards & Views¶
Boards are visual representations of your workflows. Define them in YAML, and they stay perfectly synchronized with your workflow states—no drift, no manual updates.
What is a Board?¶
A board maps your workflow states to visual columns. Drag issues between columns to trigger transitions, see WIP limits at a glance, and group work by assignee, priority, or custom fields.
graph LR
subgraph "Board Definition"
A[".kiket/boards/dev.yaml"]
end
subgraph "Rendered Board"
B[Backlog] --> C[In Progress]
C --> D[Review]
D --> E[Done]
end
A --> |Sync| B
style A fill:#7C3AED,stroke:#fff,color:#fff
style B fill:#6B7280,stroke:#fff,color:#fff
style C fill:#3B82F6,stroke:#fff,color:#fff
style D fill:#F59E0B,stroke:#fff,color:#000
style E fill:#10B981,stroke:#fff,color:#fff
Quick Start¶
Create .kiket/boards/development.yaml:
key: dev
name: Development Board
workflow: development
columns:
- key: backlog
name: Backlog
- key: in_progress
name: In Progress
wip_limit: 5
- key: review
name: Review
wip_limit: 3
- key: done
name: Done
Push to your repository—Kiket syncs the board automatically.
Board Types¶
| Type | Description | Use Case |
|---|---|---|
kanban |
Column-based flow visualization | General development, support queues |
scrum |
Sprint-focused with burndown | Agile teams with sprints |
timeline |
Gantt-style date visualization | Roadmap planning, releases |
calendar |
Calendar grid view | Due date tracking, scheduling |
key: roadmap
name: Product Roadmap
workflow: roadmap
type: timeline
columns:
- key: planned
name: Planned
- key: in_progress
name: In Progress
- key: shipped
name: Shipped
Columns¶
Columns map to workflow states. Each column can have:
WIP Limits¶
Prevent bottlenecks by limiting work-in-progress:
When a column exceeds its WIP limit, it's highlighted visually to signal the team.
Policies¶
Control behavior when issues enter a column:
columns:
- key: in_progress
name: In Progress
policies:
auto_assign: true # Assign to user who moves the card
restrict_roles: [developer] # Only developers can move cards here
Colors¶
Customize column appearance:
Swimlanes¶
Group issues horizontally by any field:
graph TB
subgraph "Priority Swimlanes"
subgraph "Critical"
A1[Issue #1] --> B1[Issue #2]
end
subgraph "High"
A2[Issue #3] --> B2[Issue #4]
end
subgraph "Medium"
A3[Issue #5]
end
end
Supported groupings:
priority— Group by issue priorityassignee— Group by who's working on itlabel— Group by specific labelsepic— Group by parent epic- Custom fields — Any field you've defined
Card Display¶
Control what appears on each card:
cards:
show:
- assignee
- labels
- story_points
- due_date
color_rules:
- condition:
field: priority
operator: equals
value: critical
color: "#d73a4a"
- condition:
field: due_date
operator: past
color: "#dc2626" # Red for overdue
Filters¶
Save common queries as named filters:
filters:
default: "project = $project"
saved:
- name: My Issues
query: "assignee = $me"
- name: Sprint Work
query: "sprint = $current_sprint"
- name: High Priority
query: "priority in (critical, high)"
Board Automations¶
Trigger actions when issues move between columns:
automations:
- on: enter
column: review
actions:
- notify:
channel: "#code-review"
message: "{{ issue.key }} ready for review"
- on: exit
column: in_progress
actions:
- update:
field: time_in_progress
value: "{{ elapsed_time }}"
Multiple Boards¶
Define multiple boards in a single file:
boards:
- key: sprint
name: Sprint Board
workflow: development
type: scrum
columns:
- key: backlog
name: Sprint Backlog
- key: in_progress
name: In Progress
- key: done
name: Done
- key: support
name: Support Queue
workflow: support
type: kanban
columns:
- key: new
name: New
- key: triaged
name: Triaged
- key: resolved
name: Resolved
Calendar Feeds¶
Subscribe to boards as iCal feeds for calendar integration:
- Open the board
- Click Calendar Link
- Enable the feed and copy the subscription URL
- Add to Google Calendar, Outlook, or Apple Calendar
Issues with due dates appear on your calendar, updating automatically as the board changes.
Regenerate tokens
You can regenerate the calendar token at any time to revoke old subscriptions.
Sync & Validation¶
How Sync Works¶
sequenceDiagram
participant Dev as Developer
participant Git as GitHub
participant Kiket as Kiket Platform
participant Board as Board Engine
Dev->>Git: git push
Git->>Kiket: Webhook: push event
Kiket->>Kiket: Fetch .kiket/boards/
Kiket->>Kiket: Validate YAML
alt Valid
Kiket->>Board: Update board configuration
Board->>Board: Re-render columns
Kiket->>Git: Status: success
else Invalid
Kiket->>Git: Status: failed
Kiket->>Dev: Error notification
end
CI Validation¶
Validate board definitions before deployment:
Errors include file and line number references for easy fixing.
Immutability¶
Boards are read-only in the UI. All changes go through Git:
- Edit the YAML file
- Commit and push
- Kiket updates the board automatically
This prevents drift between your Git configuration and the running system.
Related Documentation¶
-
KiketScript Boards
Complete YAML schema for board definitions
-
Workflows
Define the states your boards visualize
-
Team Calendar
Calendar integration and capacity sync
-
Platform Boards
Board management overview