scriptable • live • hierarchical
A deterministic, scriptable, hierarchy-aware CLI and SDK for Planka kanban project management. Plus a live terminal TUI explorer built on the same stack.
Note
Tested against self-hosted Planka only. The cloud-hosted service hasn't been exercised yet — your mileage may vary.
| Tool | What it's for |
|---|---|
plnk |
Scriptable CLI for automation, CI/CD, and AI workflows |
plnk-tui |
Live terminal explorer with real-time websocket sync |
They keep auth separate by default: plnk is automation/AI-oriented, while plnk-tui has its own human login config. Landing page at plattnum.github.io/planka-cli.
Prebuilt binaries for macOS (Apple Silicon + Intel), Linux (arm64 + x64), and Windows (x64) ship on every GitHub Release, with shell installers and SHA-256 checksums. Building from source requires Rust 1.87+.
# Easiest — shell installer pulls the latest prebuilt binary
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/plattnum/planka-cli/releases/latest/download/plnk-cli-installer.sh | sh
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/plattnum/planka-cli/releases/latest/download/plnk-tui-installer.sh | sh
# From a checkout
cargo install --path crates/plnk-cli --force
cargo install --path crates/plnk-tui --force
# Or from git
cargo install --git https://github.com/plattnum/planka-cli plnk-cli
cargo install --git https://github.com/plattnum/planka-cli plnk-tuiplnk init # optional: configure CLI/automation credentials
plnk auth status # verify CLI credentials resolve
plnk project list # start driving Planka from scripts/agents
plnk-tui # launch the human TUI; prompts on first runWalkthrough: docs/cli/examples.md.
Shape: plnk <resource> <action> [target] [flags]. Design principles:
- Strict hierarchy —
project → board → list → card → task/comment. Allfinds are scoped. No global flat queries. - Typed exit codes —
0success ·2validation ·3auth ·4not-found ·5server. - Three outputs —
tablefor humans,jsonfor scripts,markdownfor reports. - Machine-readable help —
plnk <cmd> --help --output jsonreturns a stable schema agents can bind to before running. - stdout is data, stderr is logs.
Reference docs, one per resource:
- Projects · Boards · Lists · Cards
- Tasks · Comments · Labels
- Attachments · Memberships · Users
- Authentication · Grammar reference · Transport policy
- Worked examples
A terminal-native explorer for the same hierarchy. Single-board websocket subscription means edits from the browser appear in your terminal in near real time.
plnk-tui
# first run prompts for server, username, and password
# then offers to save server + username for next timeNavigate projects → boards → lists → cards with ↑↓→Enter. Press L on any board to promote it to the live target. Edit titles inline with e or descriptions in $EDITOR with E. Press y to copy the selected node's ID hierarchy as JSON to the clipboard (or Y for a paste-ready plnk snapshot command) — built for handing context off to an AI agent in one keystroke.
Env pre-fills: PLNK_TUI_SERVER, PLNK_TUI_USERNAME, PLNK_TUI_PASSWORD, PLNK_TUI_BOARD.
Upgrading from 0.1.3? These vars were
PLANKA_*before, and the TUI used to shareplnk's~/.config/plnk/config.toml. Both are now separate —plnk-tuihas its own~/.config/plnk-tui/config.tomland readsPLNK_TUI_*env vars only. The CLI'sPLANKA_SERVER/PLANKA_TOKENare unaffected. See CHANGELOG.md for the full migration note.
Docs: docs/tui/ — overview · keybindings · live-target model · tree view reference · fast copy.
Three-crate Rust workspace:
plnk-core— standalone Planka SDK. HTTP client, domain models, API traits, auth, typed errors. Usable on its own.plnk-cli— theplnkbinary. Clap grammar + output rendering overplnk-core.plnk-tui— theplnk-tuibinary. Ratatui explorer + Engine.IO websocket.
API versioning lives behind traits. If Planka changes its API, only the PlankaClientV1 implementation changes — domain models and the CLI layer are untouched.
cargo check
cargo clippy -- -D warnings
cargo fmt --check
cargo testSee AGENTS.md for the full design rules, API quirks, and contribution guidelines.
If this is useful to you, consider buying me a coffee.
MIT
