Bridging Human Intent and AI Execution with Terminal-Based Kanban Boards
Let’s break down vibe-kanban from a developer's perspective.
At its core, vibe-kanban is a terminal-based Kanban board designed specifically to bridge the gap between human intent and AI agent execution.
As engineers, we know that AI agents are powerful but can sometimes "lose the vibe" (the context or the specific goal) if the task isn't structured. This tool uses a simple kanban.json file to manage tasks, which serves as a "source of truth" that both you and your AI agent can read, update, and follow.
Context Management
It prevents the "context drift" that happens in long chat sessions.
State Tracking
It allows the agent to know exactly what is "Todo," "In Progress," and "Done" without you having to remind it.
Efficiency
By giving the agent a structured backlog, it can move from one task to the next autonomously with 10X more focus.
The setup is lightweight because it’s meant to live right inside your project repo.
You can run it directly using npx
npx vibe-kanban
Once you run it, it creates a kanban.json in your root directory. The "magic" happens when you tell your AI agent (like Claude Code) to respect the kanban.
Here is how you would actually use this in your workflow.
Run npx vibe-kanban and add a few tasks. Your kanban.json will look something like this
{
"todo": [
{ "id": "1", "task": "Implement JWT authentication", "status": "todo" },
{ "id": "2", "task": "Fix CSS alignment on the sidebar", "status": "todo" }
],
"in_progress": [],
"done": []
}
Instead of saying "Hey, help me with my app," you give it a structured command
"Please read kanban.json. Take the first task from the todo list, move it to in_progress, and implement the logic. Once finished, move it to done and update the file."
The agent will now perform the following logic (pseudocode)
// What the agent effectively does under the hood:
const board = JSON.parse(fs.readFileSync('kanban.json'));
// 1. Pick task
const task = board.todo.shift();
task.status = 'in_progress';
board.in_progress.push(task);
// 2. Perform the coding work...
// [Coding Logic Here]
// 3. Update state
board.in_progress = board.in_progress.filter(t => t.id !== task.id);
task.status = 'done';
board.done.push(task);
fs.writeFileSync('kanban.json', JSON.stringify(board, null, 2));
Traditional project management tools (Jira, Trello) are too "heavy" for an AI agent to navigate easily via CLI. vibe-kanban is
Machine-readable
It's just JSON.
Human-readable
It's a clean TUI (Terminal User Interface).
Local
No API keys or external accounts needed; it stays with your code.
By using this, you're essentially giving your AI agent a short-term memory map. This reduces hallucinations and keeps the "vibe" of the development process consistent and fast.