Back to kittyclaw.dev
Migration guide

Migrating from ClawDeck to KittyClaw

Under 30 minutes Practitioner guide

ClawDeck exports to JSON and CSV. KittyClaw imports both. This guide walks you through the move: no data loss, no big-bang migration. Agents are optional; you can run KittyClaw as a plain kanban forever and add automation later.

Step 1: Export from ClawDeck

  1. Open your ClawDeck workspace and go to Settings → Export data.
  2. Choose JSON (full export): this carries lists, cards, labels, and due dates. Use CSV if you only need the card titles and statuses.
  3. Save the file locally, e.g. clawdeck-export.json.
Attachments are not embedded in the export: they stay as URLs. KittyClaw will preserve those links in ticket descriptions so nothing is lost, but you may want to re-upload key files after import.

Step 2: Install KittyClaw

If you haven't set it up yet, clone and start the server:

$git clone https://github.com/Ekioo/KittyClaw
$cd KittyClaw
$./run.sh    # macOS / Linux
$run.bat     # Windows

Open http://localhost:5230, create a new project, and point it at any local folder. KittyClaw scaffolds .agents/ and initialises git if needed.

Step 3: Import your board

  1. In KittyClaw, open your project and go to Settings → Import.
  2. Select your clawdeck-export.json (or .csv).
  3. KittyClaw maps ClawDeck lists → columns and cards → tickets. Labels and due dates carry over automatically.
  4. Review the imported tickets. Drag, rename, or split them before doing anything else: nothing is permanent yet.

The whole import takes about two minutes on a typical board. Larger boards (500+ cards) may take a few minutes more.

Step 4: Wire up agents (optional)

This is the part ClawDeck doesn't have. Each board member can be a Claude Code agent with its own role, skill file, and memory. You don't need to use it: skip this step if you want to migrate the kanban first and add agents later.

  1. Open Automations from the sidebar.
  2. Click Add automation and pick a trigger, e.g. ticketInColumn with column InProgress.
  3. Add a condition if you want to scope it: assignedTo = programmer.
  4. Add a runAgent action pointing at the programmer agent.
  5. Assign any ticket to programmer and move it to InProgress. The automation fires, Claude Code picks it up, and output streams into the ticket drawer.

What KittyClaw adds over ClawDeck

ClawDeck KittyClaw
Single workspace Multi-project, isolated SQLite per project
Manual card assignment Agent dispatch via trigger/condition/action automations
No context across sessions Per-agent memory.md persists knowledge across runs
Cloud-hosted, subscription Self-hosted, AGPL-3.0-or-later: your data stays on your machine

The kanban muscle memory is identical: drag cards, add labels, comment, assign. The difference is that an assignee can be an LLM agent that reads the ticket, writes the code, and moves the card itself.