KanDo
pendingby mac-tron
Think. Plan. Do. Integrate your notes with Vibe Kanban for AI-powered task execution.
KanDo
Think. Plan. Do. Think and plan in Obsidian and execute in Vibe Kanban.
An Obsidian plugin that integrates your notes with Vibe Kanban for AI-powered task execution.
Example
https://github.com/user-attachments/assets/2402c653-ef39-4ba5-b572-4b6f9dd31b5f
Features
- Push Cards to Vibe Kanban - Create tasks in Vibe Kanban directly from your Obsidian notes
- Execute with AI Agents - Trigger AI agent execution (Claude Code, etc.) on your tasks
- Real-time Status Sync - Automatically sync task status between Obsidian and Vibe Kanban
- Embedded Dashboard - View the Vibe Kanban board directly inside Obsidian
- Toolbar Integration - Quick action buttons in your editor for common operations
Requirements
- Vibe Kanban running locally or on a server
- Obsidian v1.0.0 or higher
- Desktop only (uses Electron webview for embedded dashboard)
Installation
Using BRAT (Recommended)
- Install the BRAT plugin from Community Plugins
- Open BRAT settings and click "Add Beta plugin"
- Enter:
mac-tron/kando - Click "Add Plugin" and enable KanDo in Community Plugins
Manual Installation
- Download
main.js,manifest.json, andstyles.cssfrom the latest release - Create a folder:
.obsidian/plugins/kando/in your vault - Copy the downloaded files into that folder
- Reload Obsidian
- Enable the plugin in Settings > Community Plugins
Setup
- Open plugin settings (Settings > KanDo)
- Enter your Vibe Kanban URL (e.g.,
http://localhost:5173) - Select your default project
- Configure your preferred cards folder
Usage
Creating Cards
- Create a new markdown file in your cards folder
- Click the + button in the toolbar, or use the ribbon menu > "New Feature"
- Fill in the title and optional description
- The note will be synced with Vibe Kanban
Executing Cards
- Open a synced card note
- Click the Execute button in the toolbar
- Select your AI executor, variant, and base branch
- The task will start executing in Vibe Kanban
Monitoring Status
- The status bar shows the current task's status (click to refresh)
- Toolbar buttons update to reflect execution state
- Enable "Auto-sync status" in settings for automatic updates
Opening in Vibe Kanban
- Click the External Link button to open the task in Vibe Kanban
- Use the ribbon menu > "Open Vibe Kanban Board" for the full dashboard
Settings
| Setting | Description |
|---|---|
| Vibe Kanban URL | URL where Vibe Kanban is running |
| Default Project | Project to use when pushing new cards |
| Default Executor | AI agent to use for task execution |
| Default Variant | Configuration variant for the executor |
| Default Base Branch | Git branch for feature branches |
| Cards Folder | Only sync notes from this folder |
| Auto-push on save | Automatically sync changes when saving |
| Show status bar | Display task status in the status bar |
| Auto-sync status | Automatically poll for status changes |
| Open in Obsidian | Load Vibe Kanban inside Obsidian |
Frontmatter
KanDo uses YAML frontmatter to track sync status:
---
title: My Feature
vk_project_id: abc-123
vk_task_id: def-456
vk_status: inprogress
vk_last_synced: 2024-01-15T10:30:00.000Z
vk_attempt_id: ghi-789
vk_branch: feature/my-feature
---
Commands
| Command | Description |
|---|---|
| Push Card | Push current note to Vibe Kanban |
| Execute Card | Start AI execution on current task |
| Pull Status | Manually refresh task status |
| Open in Vibe Kanban | Open task in Vibe Kanban |
| Create New Card | Create a new card from template |
| Open Vibe Kanban | Open embedded Vibe Kanban dashboard |
Development
# Clone the repository
git clone https://github.com/mac-tron/kando.git
# Install dependencies
npm install
# Build for development (with watch)
npm run dev
# Build for production
npm run build
License
MIT License - see LICENSE for details.
Support
For plugin developers
Search results and similarity scores are powered by semantic analysis of your plugin's README. If your plugin isn't appearing for searches you'd expect, try updating your README to clearly describe your plugin's purpose, features, and use cases.