Skip to content

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:

columns:
  - key: in_progress
    name: In Progress
    wip_limit: 5  # Warning when exceeded

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:

columns:
  - key: done
    name: Done
    color: green
    collapsed: true  # Minimize completed work

Swimlanes

Group issues horizontally by any field:

swimlanes:
  group_by: priority
  order: ["critical", "high", "medium", "low"]
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 priority
  • assignee — Group by who's working on it
  • label — Group by specific labels
  • epic — 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:

  1. Open the board
  2. Click Calendar Link
  3. Enable the feed and copy the subscription URL
  4. 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:

kiket boards lint

Errors include file and line number references for easy fixing.

Immutability

Boards are read-only in the UI. All changes go through Git:

  1. Edit the YAML file
  2. Commit and push
  3. Kiket updates the board automatically

This prevents drift between your Git configuration and the running system.


  • KiketScript Boards

    Complete YAML schema for board definitions

    Board syntax

  • Workflows

    Define the states your boards visualize

    Workflows

  • Team Calendar

    Calendar integration and capacity sync

    Calendar

  • Platform Boards

    Board management overview

    Platform