plnk_

A deterministic, scriptable, hierarchy-aware CLI and SDK for Planka kanban project management — plus a live terminal TUI explorer built on the same stack.

scriptablelivehierarchical

Heads up: tested against self-hosted Planka only — the cloud-hosted service hasn't been exercised yet.

Two tools, one stack

One Planka instance, two surfaces. plnk is for automation; plnk-tui is for an interactive human session. Each has its own credentials — reach for whichever matches the task.

plnk

Command-line interface

Scriptable CLI for automation, CI/CD, and AI workflows. Strict grammar, typed exit codes, structured JSON / markdown output, machine-readable help.

plnk card find --title "bug" --board $BOARD --output json

plnk-tui

Terminal explorer

Live tree explorer for projects, boards, lists, and cards. Single-board websocket subscription for real-time updates. Edit titles inline, descriptions in $EDITOR.

plnk-tui # prompts for server, username, password on first run

What’s newv0.2.0

Released 2026-05-02.

plnk-tui — standalone auth + first-run prompts

Breaking change. The TUI no longer shares plnk's config or environment variables. Launch plnk-tui with no flags and it prompts for server, username, and password on first run, then offers to save the non-secret server + username to ~/.config/plnk-tui/config.toml. Passwords are never persisted. The TUI's environment variables were renamed from PLANKA_* to PLNK_TUI_*; plnk's own PLANKA_SERVER / PLANKA_TOKEN are unchanged. Rationale: plnk is automation/AI/API-token oriented, while plnk-tui is for an interactive human session — sharing one credential store for two very different access patterns was a footgun.

Release notes →  ·  TUI overview & migration →  ·  Changelog

From the blog

Notes on building plnk, plnk-tui, and working with AI agents in the terminal.

May 10, 2026

A companion, not a replacement: plnk-tui

Why I built a TUI companion to plnk — a bridge between the Planka web UI and the agent in my terminal.

May 2, 2026

The Long Way Back to Planka: Building plnk

Why I came back to Planka and built a thin, strict, hierarchy-aware CLI for AI agents.

All posts →

Install

Prebuilt binaries for macOS, Linux, and Windows ship on every release, or build from source with cargo.

# CLI — latest prebuilt binary
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/plattnum/planka-cli/releases/latest/download/plnk-cli-installer.sh | sh
# TUI — latest prebuilt binary
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/plattnum/planka-cli/releases/latest/download/plnk-tui-installer.sh | sh
# Or build from source (requires Rust 1.87+)
cargo install --git https://github.com/plattnum/planka-cli plnk-cli
cargo install --git https://github.com/plattnum/planka-cli plnk-tui

Tested against self-hosted Planka. Each release also publishes per-platform tarballs/zips with SHA-256 checksums on the releases page.

Why plnk

Planka already does kanban well. plnk wraps it in a tight, typed surface agents and scripts can drive.

Strict hierarchy

project → board → list → card. Every find demands a scope. No global flat queries, no surprising results.

{ }

Three outputs

table for humans, json for scripts and agents, markdown for reports. JSON is a strict projection of the serde model.

0·2·3·4·5

Typed exit codes

Scripts branch on 0 success, 2 validation, 3 auth, 4 not-found, 5 server. No stderr parsing.

?

Machine-readable help

plnk <cmd> --help --output json emits a schema agents can bind to before ever running a command.

Live websocket TUI

One board live at a time. Edits from the browser appear in the terminal in near real time. No polling, no drift.

Standalone Rust SDK

plnk-core is usable on its own. Build your own Planka integration in Rust without depending on the CLI.

Three steps to running

No account service to sign up for. No config files to hand-edit. You already have a Planka instance — plnk just talks to it.

1

Install

Grab plnk and optionally plnk-tui with cargo install.

2

Bootstrap

Run plnk init for the CLI — prompts walk you through server URL, API token, and optional HTTP tuning. plnk-tui has its own first-run prompt; just launch it.

3

Use

Drive Planka from the shell with plnk, or explore the hierarchy live with plnk-tui.

Why this exists

I use a self-hosted Planka for everything — technical and non-technical.

What I care about is the artifact. By the time a card hits Done, it contains what I did, the decisions I made, and why.

Many tools in this space are building AI task managers — AI sub-agent drivers, new kanban boards, TODO.md skills, bolting MCPs onto various products. For me, Planka already solves the fundamentals: UI, hierarchy, self-hosting, and a working API. Replacing that felt unnecessary.

I was already driving agent workflows through the REST API. It worked, but it was inefficient — lots of curling, constructing large JSON payloads, and chaining calls for simple operations like finding a card by name. Hard to read, token-heavy, and noisy in the agent's context.

I didn't go the MCP route either. Others are doing it, it inflates context, and I've found it slow.

So plnk doesn't replace Planka — it wraps it in a strict, predictable interface. It reduces token usage and keeps the agent's context lean: the surface is learned on demand through plnk <cmd> --help --output json, not preloaded at session start.

It exposes Planka as a disciplined CLI and SDK — tight grammar, typed exit codes, structured output, strict hierarchy, machine-readable help. Give an agent a rigid surface, and it stays on the rails.

plnk-tui started as an experiment — a live terminal explorer for the same hierarchy, with its own human-oriented login flow distinct from plnk's automation/API-token config. It's fit into my terminal-driven workflow better than I expected, so I'll keep expanding it.